Commit Graph

139 Commits

Author SHA1 Message Date
shedaniel
5e338b40da Update to Loom 0.10 2021-12-09 01:40:05 +08:00
shedaniel
0a64ecda1d Migrate to transitive access wideners (#146)
* Migrate to transitive access wideners

* Fix invalid AW

* Bump minor version, changes to gradle buildscript

Co-authored-by: Max <maxh2709@gmail.com>
2021-12-09 01:34:31 +08:00
shedaniel
b0a80e0c73 Add Registries#forRegistry and delay getting forge mod event bus (#82)
* Add forRegistry

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Update gradle.properties
2021-11-26 01:58:29 +08:00
shedaniel
6b2506d1fd Add support for PacketTransformer and a SplitPacketTransformer (#142)
* Add support for PacketTransformer and a SplitPacketTransformer

* Add testmod and make it work

* Add experimental, Remove generics, they are pointless
2021-10-23 18:44:16 +08:00
lythowastaken
0fcbf40c7f Feature/villager trades (#122)
* Add modify and removing for villager trades

- Add mixin for villager trades
- Add methods to register modify and removing
- Implement base for VillagerMixin to provide additional villager data
- Basic Access & Mixin change
- Add AT and AW
- Add overriding for max offers a villager or the wanderer can have

* Add rare check for wandering trader

* Remove todo comment

* rename some methods

* Solve reviews for #122

Move non api stuff into TradeRegistryData
Rename fields in MerchantOfferAccess
Move trade stuff into internal package
Mark internal trade classes as ApiStatus.Internal

* Minor refactors (discussed on Discord)

* Add doc for AbstractVillagerMixin

* Reformat code

* Update gradle.properties

Co-authored-by: Max <maxh2709@gmail.com>
2021-09-17 16:36:12 +02:00
shedaniel
1c2468735f Implement item properties 2021-08-24 04:16:50 +08:00
Leo40Git
98395b6735 Add tool interaction hooks (#128)
Co-authored-by: shedaniel <daniel@shedaniel.me>
2021-08-24 03:28:18 +08:00
shedaniel
5e0091e533 Merge remote-tracking branch 'Leo40Git/feature/food-props' into 1.16
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-07-04 18:36:29 +08:00
Leo40Git
f019deb815 Testmod
Restore variance
2021-07-01 15:52:49 +03:00
Leo40Git
b644d103fa Forge implementation 2021-07-01 15:16:23 +03:00
shedaniel
790dafb0b5 Make ColorHandlers wildcard, fix #114
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-07-01 03:00:40 +08:00
shedaniel
f39c94aec3 Fix #113 and we should've bumped to 1.18
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-06-27 12:35:11 +08:00
shedaniel
9f8140fdec Some changes
- Migrate from ParticleFactories to ParticleProviderRegistry (We are not yarn)
- Format Code

Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-06-25 18:57:31 +03:00
Leo40Git
2c16f7ac09 Requested changes
PendingParticleProvider -> DeferredParticleProvider
parameter constructor -> provider
2021-06-25 15:06:26 +03:00
Leo40Git
c18c2c8d29 Remove unused accessor 2021-06-22 14:13:36 +03:00
Leo40Git
81b0cc5821 Particle Factory API (closes architectury#93) 2021-06-20 17:30:32 +03:00
Max
375c56999f Address code review, add utility method to get features for specific step 2021-06-09 13:14:00 +02:00
Max
1a738973af Implement phases for BiomeModifications on Forge 2021-06-09 01:56:49 +02:00
shedaniel
7c89701052 Fix #98
Please merge when CF is back

Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-05-31 14:15:59 +08:00
canitzp
371925b28d Add NetworkManager hook for Entity spawn packets (#88)
* New utility hook for creating a entity spawn packet. before every mod had to implement this in itself.

* Apply suggestions from code review

Co-authored-by: shedaniel <daniel@shedaniel.me>

* Update common/src/main/java/me/shedaniel/architectury/networking/NetworkManager.java

* Update common/src/main/java/me/shedaniel/architectury/networking/NetworkManager.java

* Properly implement SpawnEntityPacket & Format style

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Format

Signed-off-by: shedaniel <daniel@shedaniel.me>

* createEntitySpawnPacket -> createAddEntityPacket for mojmap consistency

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Bump version to 1.17

Co-authored-by: Max <maxh2709@gmail.com>
Co-authored-by: shedaniel <daniel@shedaniel.me>
2021-05-27 19:34:50 +02:00
canitzp
582ededddd Add Chunk data save and load events, closes #89 (#92)
* Created Chunk save and load event. Closes #89

* Fixed missing licence

* Update common/src/main/java/me/shedaniel/architectury/event/events/ChunkEvent.java

* Update common/src/main/java/me/shedaniel/architectury/event/events/ChunkEvent.java

* Update common/src/main/java/me/shedaniel/architectury/event/events/ChunkEvent.java

* Supply ServerLevel in ChunkEvent.LOAD, style cleanup

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Add "Data" suffix to Chunk IO Events and mark level as nullable for load

* Update common/src/main/java/me/shedaniel/architectury/event/events/ChunkEvent.java

* Bump to 1.16

Co-authored-by: shedaniel <daniel@shedaniel.me>
Co-authored-by: Max <maxh2709@gmail.com>
2021-05-27 01:03:20 +02:00
shedaniel
d737e8e2b7 Fix #94
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-05-26 14:53:19 +08:00
shedaniel
d0972fbe57 Fix CF Publish
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-05-20 23:14:37 +08:00
shedaniel
3926bf2a91 Fix Collections$UnmodifiableRandomAccessList
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-05-20 22:04:01 +08:00
Max
43c8bae105 [norelease] Update to archloom 0.7.2 and Gradle 7 2021-05-18 17:49:41 +02:00
canitzp
98e06736ee Fix TradeRegistryImpl throwing an AssertionError at runtime (#87) 2021-05-17 22:16:00 +02:00
Max
428f98be44 Reformat and bump version 2021-05-15 00:13:39 +02:00
canitzp
2ff5dd500d Add an easy way to register Villager and Wandering Trader trades (#84)
* Add TradeRegistry to add Trades a bit more easily. Uses the VillagerTradesEvent on forge

* Added TradeRegistry#registerTradeForWanderer which uses the WandererTraderEvent on forge

* Added javadoc

* Use Fabric own Trade implementation and fixed Test Mod

* Update common/src/main/java/me/shedaniel/architectury/registry/TradeRegistry.java

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>

* Update common/src/main/java/me/shedaniel/architectury/registry/TradeRegistry.java

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>

* Update common/src/main/java/me/shedaniel/architectury/registry/TradeRegistry.java

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>

* Update common/src/main/java/me/shedaniel/architectury/registry/TradeRegistry.java

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>

* Added javadoc for SimpleTrade

* Use two lists instead of Int2ObjectMap

* Use "registerTradeForWanderingTrader" instead of "registerTradeForWanderer" for better clarification

* Use IllegalArgumentException instead of RuntimeException

* Remove level limit (Mods may be able to remove this restriction in VillagerData#canLevelUp), Clean up forge's implementation

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Clean up TestTrades and add licenses

Signed-off-by: shedaniel <daniel@shedaniel.me>

* [ciskip] Reintroduce lower bound validation for level

Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
Co-authored-by: shedaniel <daniel@shedaniel.me>
Co-authored-by: Max <maxh2709@gmail.com>
2021-05-14 23:59:58 +02:00
shedaniel
c675bf6625 Adds EntityAttributes (#83)
* Adds EntityAttributes

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Switch to ConcurrentHashMap

Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-05-13 13:13:40 +08:00
shedaniel
cfef5f28b7 Allow being more flexible in registering
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-05-12 15:05:04 +08:00
shedaniel
2eef26f632 Add FuelRegistry (#81)
* Add FuelRegistry

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Fix compilation

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Remove redundant generic

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Change to MinecraftForge.EVENT_BUS

Signed-off-by: shedaniel <daniel@shedaniel.me>

* A few docs, and switch to returning 0 for non-fuels

Signed-off-by: shedaniel <daniel@shedaniel.me>

* Bump to 1.13
2021-05-12 13:43:03 +08:00
shedaniel
8de2c936b5 Fixes CME with Platform#getMod
Signed-off-by: shedaniel <daniel@shedaniel.me>
2021-05-08 19:21:10 +08:00
Max
ca2a528160 Some more (mostly Entity-based) Events (#75)
* Add FarmlandTrample event

* FarmlandTrample debug event

* Add FILL_BUCKET event and testmod

* Add ENTER_CHUNK event and testmod

* Add CHECK_SPAWN on Forge

* CHECK_SPAWN on Fabric part 1 aka: The Concernening

* CHECK_SPAWN on Fabric part 2: I kinda don't hate this as much

* CHECK_SPAWN on Fabric part 3: Patrols

* CHECK_SPAWN on Fabric part 4: catJAM

* CHECK_SPAWN on Fabric part 5: Phantoms

* Fix CHECK_SPAWN for patrols

* Add mod metadata (#73)

* new event system

* Revert patrol spawner behaviour

* Implement CheckSpawn behaviour for spawners and add test (forgot about that)

* Revert "Revert patrol spawner behaviour"

This reverts commit 1da3fb73

* Change MixinPhantomSpawner to SOFT

* Edit forge mods.toml
We support 1.16.2+ on forge

Co-authored-by: shedaniel <daniel@shedaniel.me>
2021-04-15 23:26:48 +08:00
shedaniel
ac94c33e07 Re-license header 2021-04-13 19:40:44 +08:00
shedaniel
35145b9acb Add getCustomEquipmentSlot 2021-04-10 20:33:26 +08:00
shedaniel
27addc91d9 Close #39 2021-04-10 20:13:19 +08:00
Max
2846a9616a Merge remote-tracking branch 'architectury/1.16' into 1.16 2021-03-22 22:28:59 +01:00
Max
9fb19f9605 Bump forge event priority to HIGH
My reasoning for this lies in the quirk that Forge by default cancels all following event listeners when one of them fails with an Exception. Because we are an API that mods need to be able to rely on, and this may cause cascading issues with mods that depend on us down the line (see https://github.com/KubeJS-Mods/KubeJS/issues/101), I think we should act on HIGH priority by default to reduce the risk of this happening
2021-03-22 22:28:37 +01:00
Max
28d986a3cc Add EntityHooks.fromCollision to retrieve an entity from block collision (#64) 2021-03-21 20:20:25 +01:00
shedaniel
f904c1de2e Add @SubscribeEvent to ColorHandlersImpl 2021-03-20 15:42:00 +08:00
shedaniel
aee0af27f4 Remove addListener from ColorHandlersImpl 2021-03-20 15:41:29 +08:00
shedaniel
3dcad1e8a1 Fix Forge Screen Events to be consistent with the fabric implementation: InteractionResult.SUCCESS should also indicate that the event should be cancelled. 2021-03-20 15:10:43 +08:00
Max
e1cff1567b More annotation event migration 2021-03-18 15:49:03 +01:00
Max
c8dd9061db Migrate Forge ReloadListeners events to annotations 2021-03-18 15:43:56 +01:00
Max
dd8c78c448 Fix CLIENT_WORLD_LOAD on Forge 2021-03-18 15:41:22 +01:00
shedaniel
fc41c38ffa Merge remote-tracking branch 'architectury/1.16' into 1.16 2021-03-01 21:30:37 +08:00
shedaniel
bf9efc708f Update plugins 2021-03-01 21:30:24 +08:00
shedaniel
d9b43e71e6 Add EntityRenderers (#52)
Close #45
2021-02-27 17:48:51 +08:00
shedaniel
89ce4c7c58 Fix BlockEntityExtension @Shadow remapping 2021-02-27 17:48:34 +08:00
shedaniel
5dc01b0a19 Implement onDataPacket (#48) 2021-02-26 00:36:06 +08:00