diff --git a/build.gradle b/build.gradle index 3842db2aa..0054f55c4 100644 --- a/build.gradle +++ b/build.gradle @@ -26,8 +26,8 @@ targetCompatibility = 1.8 archivesBaseName = "fabric" -def baseVersion = "0.1.4" -def mcVersion = "19w04a" +def baseVersion = "0.1.5" +def mcVersion = "19w04b" def ENV = System.getenv() version = baseVersion + "." + (ENV.BUILD_NUMBER ?: "local") diff --git a/src/main/java/net/fabricmc/fabric/api/registry/CompostingChanceRegistry.java b/src/main/java/net/fabricmc/fabric/api/registry/CompostingChanceRegistry.java index 878b8813e..58bc8b29a 100644 --- a/src/main/java/net/fabricmc/fabric/api/registry/CompostingChanceRegistry.java +++ b/src/main/java/net/fabricmc/fabric/api/registry/CompostingChanceRegistry.java @@ -17,12 +17,12 @@ package net.fabricmc.fabric.api.registry; import net.fabricmc.fabric.api.util.Item2ObjectMap; -import net.fabricmc.fabric.impl.item.CompostingChanceRegistryImpl; +import net.fabricmc.fabric.impl.registry.CompostingChanceRegistryImpl; /** * Registry of items to 0.0-1.0 values, defining the chance of a given item * increasing the Composter block's level */ public interface CompostingChanceRegistry extends Item2ObjectMap<Float> { - public static final CompostingChanceRegistry INSTANCE = new CompostingChanceRegistryImpl(); + final CompostingChanceRegistry INSTANCE = new CompostingChanceRegistryImpl(); } diff --git a/src/main/java/net/fabricmc/fabric/api/registry/FuelRegistry.java b/src/main/java/net/fabricmc/fabric/api/registry/FuelRegistry.java index d99510510..8a00017b3 100644 --- a/src/main/java/net/fabricmc/fabric/api/registry/FuelRegistry.java +++ b/src/main/java/net/fabricmc/fabric/api/registry/FuelRegistry.java @@ -17,11 +17,11 @@ package net.fabricmc.fabric.api.registry; import net.fabricmc.fabric.api.util.Item2ObjectMap; -import net.fabricmc.fabric.impl.item.FuelRegistryImpl; +import net.fabricmc.fabric.impl.registry.FuelRegistryImpl; /** * Registry of items to 0-32767 fuel burn time values, in in-game ticks. */ public interface FuelRegistry extends Item2ObjectMap<Integer> { - public static final FuelRegistry INSTANCE = new FuelRegistryImpl(); + final FuelRegistry INSTANCE = FuelRegistryImpl.INSTANCE; } diff --git a/src/main/java/net/fabricmc/fabric/api/loot/LootEntryRegistry.java b/src/main/java/net/fabricmc/fabric/api/registry/LootEntryTypeRegistry.java similarity index 75% rename from src/main/java/net/fabricmc/fabric/api/loot/LootEntryRegistry.java rename to src/main/java/net/fabricmc/fabric/api/registry/LootEntryTypeRegistry.java index 3567061fb..315c99e91 100644 --- a/src/main/java/net/fabricmc/fabric/api/loot/LootEntryRegistry.java +++ b/src/main/java/net/fabricmc/fabric/api/registry/LootEntryTypeRegistry.java @@ -14,24 +14,24 @@ * limitations under the License. */ -package net.fabricmc.fabric.api.loot; +package net.fabricmc.fabric.api.registry; -import net.fabricmc.fabric.impl.loot.LootEntryRegistryImpl; +import net.fabricmc.fabric.impl.registry.LootEntryTypeRegistryImpl; import net.minecraft.world.loot.entry.LootEntry; /** * Fabric's extensions to {@code net.minecraft.world.loot.entry.LootEntries} for registering * custom loot entry types. * - * @see #registerType + * @see #register */ -public interface LootEntryRegistry { - LootEntryRegistry INSTANCE = LootEntryRegistryImpl.INSTANCE; +public interface LootEntryTypeRegistry { + final LootEntryTypeRegistry INSTANCE = LootEntryTypeRegistryImpl.INSTANCE; /** * Registers a loot entry type by its serializer. * * @param serializer the loot entry serializer */ - void registerType(LootEntry.Serializer<?> serializer); + void register(LootEntry.Serializer<?> serializer); } diff --git a/src/main/java/net/fabricmc/fabric/impl/item/CompostingChanceRegistryImpl.java b/src/main/java/net/fabricmc/fabric/impl/registry/CompostingChanceRegistryImpl.java similarity index 97% rename from src/main/java/net/fabricmc/fabric/impl/item/CompostingChanceRegistryImpl.java rename to src/main/java/net/fabricmc/fabric/impl/registry/CompostingChanceRegistryImpl.java index b308d3c68..2e34a3be6 100644 --- a/src/main/java/net/fabricmc/fabric/impl/item/CompostingChanceRegistryImpl.java +++ b/src/main/java/net/fabricmc/fabric/impl/registry/CompostingChanceRegistryImpl.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package net.fabricmc.fabric.impl.item; +package net.fabricmc.fabric.impl.registry; import net.fabricmc.fabric.api.registry.CompostingChanceRegistry; import net.minecraft.block.ComposterBlock; diff --git a/src/main/java/net/fabricmc/fabric/impl/item/FuelRegistryImpl.java b/src/main/java/net/fabricmc/fabric/impl/registry/FuelRegistryImpl.java similarity index 90% rename from src/main/java/net/fabricmc/fabric/impl/item/FuelRegistryImpl.java rename to src/main/java/net/fabricmc/fabric/impl/registry/FuelRegistryImpl.java index be813cb4c..140cbf772 100644 --- a/src/main/java/net/fabricmc/fabric/impl/item/FuelRegistryImpl.java +++ b/src/main/java/net/fabricmc/fabric/impl/registry/FuelRegistryImpl.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package net.fabricmc.fabric.impl.item; +package net.fabricmc.fabric.impl.registry; import it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap; import it.unimi.dsi.fastutil.objects.Object2IntMap; @@ -30,6 +30,7 @@ import java.util.Map; // TODO: Clamp values to 32767 (+ add hook for mods which extend the limit to disable the check?) public class FuelRegistryImpl implements FuelRegistry { + public static final FuelRegistryImpl INSTANCE = new FuelRegistryImpl(); private static final Logger LOGGER = LogManager.getLogger(); private final Object2IntMap<ItemProvider> itemCookTimes = new Object2IntLinkedOpenHashMap<>(); private final Object2IntMap<Tag<Item>> tagCookTimes = new Object2IntLinkedOpenHashMap<>(); @@ -40,7 +41,7 @@ public class FuelRegistryImpl implements FuelRegistry { @Override public Integer get(ItemProvider item) { - return AbstractFurnaceBlockEntity.createBurnableMap().get(item.getItem()); + return AbstractFurnaceBlockEntity.createFuelTimeMap().get(item.getItem()); } @Override @@ -48,7 +49,7 @@ public class FuelRegistryImpl implements FuelRegistry { if (cookTime > 32767) { LOGGER.warn("Tried to register an overly high cookTime: " + cookTime + " > 32767! (" + item + ")"); } - itemCookTimes.put(item, cookTime); + itemCookTimes.put(item, cookTime.intValue()); } @Override @@ -56,7 +57,7 @@ public class FuelRegistryImpl implements FuelRegistry { if (cookTime > 32767) { LOGGER.warn("Tried to register an overly high cookTime: " + cookTime + " > 32767! (" + tag.getId() + ")"); } - tagCookTimes.put(tag, cookTime); + tagCookTimes.put(tag, cookTime.intValue()); } @Override diff --git a/src/main/java/net/fabricmc/fabric/impl/loot/LootEntryRegistryImpl.java b/src/main/java/net/fabricmc/fabric/impl/registry/LootEntryTypeRegistryImpl.java similarity index 72% rename from src/main/java/net/fabricmc/fabric/impl/loot/LootEntryRegistryImpl.java rename to src/main/java/net/fabricmc/fabric/impl/registry/LootEntryTypeRegistryImpl.java index 86737f411..4b28b364b 100644 --- a/src/main/java/net/fabricmc/fabric/impl/loot/LootEntryRegistryImpl.java +++ b/src/main/java/net/fabricmc/fabric/impl/registry/LootEntryTypeRegistryImpl.java @@ -14,31 +14,31 @@ * limitations under the License. */ -package net.fabricmc.fabric.impl.loot; +package net.fabricmc.fabric.impl.registry; -import net.fabricmc.fabric.api.loot.LootEntryRegistry; +import net.fabricmc.fabric.api.registry.LootEntryTypeRegistry; import net.minecraft.world.loot.entry.LootEntries; import net.minecraft.world.loot.entry.LootEntry; import java.util.function.Consumer; -public final class LootEntryRegistryImpl implements LootEntryRegistry { +public final class LootEntryTypeRegistryImpl implements LootEntryTypeRegistry { private static Consumer<LootEntry.Serializer<?>> registerFunction; - public static final LootEntryRegistryImpl INSTANCE = new LootEntryRegistryImpl(); + public static final LootEntryTypeRegistryImpl INSTANCE = new LootEntryTypeRegistryImpl(); static { loadLootEntries(); } - private LootEntryRegistryImpl() {} + private LootEntryTypeRegistryImpl() {} @Override - public void registerType(LootEntry.Serializer<?> serializer) { + public void register(LootEntry.Serializer<?> serializer) { registerFunction.accept(serializer); } public static void setRegisterFunction(Consumer<LootEntry.Serializer<?>> registerFunction) { - LootEntryRegistryImpl.registerFunction = registerFunction; + LootEntryTypeRegistryImpl.registerFunction = registerFunction; } private static void loadLootEntries() { diff --git a/src/main/java/net/fabricmc/fabric/mixin/item/MixinAbstractFurnaceBlockEntity.java b/src/main/java/net/fabricmc/fabric/mixin/item/MixinAbstractFurnaceBlockEntity.java index 0d6c21941..84c7b2a3f 100644 --- a/src/main/java/net/fabricmc/fabric/mixin/item/MixinAbstractFurnaceBlockEntity.java +++ b/src/main/java/net/fabricmc/fabric/mixin/item/MixinAbstractFurnaceBlockEntity.java @@ -16,7 +16,7 @@ package net.fabricmc.fabric.mixin.item; -import net.fabricmc.fabric.impl.item.FuelRegistryImpl; +import net.fabricmc.fabric.impl.registry.FuelRegistryImpl; import net.minecraft.block.entity.AbstractFurnaceBlockEntity; import net.minecraft.item.Item; import org.spongepowered.asm.mixin.Mixin; @@ -28,8 +28,8 @@ import java.util.Map; @Mixin(AbstractFurnaceBlockEntity.class) public class MixinAbstractFurnaceBlockEntity { - @Inject(at = @At("RETURN"), method = "getBurnTimeMap") - private static void burnTimeMapHook(CallbackInfoReturnable<Map<Item, Integer>> info) { + @Inject(at = @At("RETURN"), method = "createFuelTimeMap") + private static void fuelTimeMapHook(CallbackInfoReturnable<Map<Item, Integer>> info) { FuelRegistryImpl.INSTANCE.apply(info.getReturnValue()); } } \ No newline at end of file diff --git a/src/main/java/net/fabricmc/fabric/mixin/loot/MixinLootEntries.java b/src/main/java/net/fabricmc/fabric/mixin/loot/MixinLootEntries.java index 1859c8f0a..ef16ff074 100644 --- a/src/main/java/net/fabricmc/fabric/mixin/loot/MixinLootEntries.java +++ b/src/main/java/net/fabricmc/fabric/mixin/loot/MixinLootEntries.java @@ -16,7 +16,7 @@ package net.fabricmc.fabric.mixin.loot; -import net.fabricmc.fabric.impl.loot.LootEntryRegistryImpl; +import net.fabricmc.fabric.impl.registry.LootEntryTypeRegistryImpl; import net.minecraft.world.loot.entry.LootEntries; import net.minecraft.world.loot.entry.LootEntry; import org.spongepowered.asm.mixin.Mixin; @@ -32,6 +32,6 @@ public class MixinLootEntries { @Inject(method = "<clinit>", at = @At("RETURN")) private static void onClinit(CallbackInfo info) { - LootEntryRegistryImpl.setRegisterFunction(MixinLootEntries::register); + LootEntryTypeRegistryImpl.setRegisterFunction(MixinLootEntries::register); } } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 54bb50b8f..779ab8eb7 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -1,7 +1,7 @@ { "id": "fabric", "name": "Fabric API", - "version": "0.1.4", + "version": "0.1.5", "side": "universal", "description": "Core API module providing key hooks and intercompatibility features.", "license": "Apache-2.0", diff --git a/src/test/java/net/fabricmc/fabric/loot/LootEntryMod.java b/src/test/java/net/fabricmc/fabric/loot/LootEntryMod.java index 3df13bae5..7ec1d545f 100644 --- a/src/test/java/net/fabricmc/fabric/loot/LootEntryMod.java +++ b/src/test/java/net/fabricmc/fabric/loot/LootEntryMod.java @@ -20,21 +20,25 @@ import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonObject; import com.google.gson.JsonSerializationContext; import net.fabricmc.api.ModInitializer; -import net.fabricmc.fabric.api.loot.LootEntryRegistry; +import net.fabricmc.fabric.api.registry.LootEntryTypeRegistry; import net.minecraft.util.Identifier; import net.minecraft.util.JsonHelper; +import net.minecraft.world.loot.LootChoice; import net.minecraft.world.loot.condition.LootCondition; +import net.minecraft.world.loot.context.LootContext; import net.minecraft.world.loot.entry.LootEntry; import net.minecraft.world.loot.entry.TagEntry; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import java.util.function.Consumer; + public class LootEntryMod implements ModInitializer { private static final Logger LOGGER = LogManager.getLogger(); @Override public void onInitialize() { - LootEntryRegistry.INSTANCE.registerType(new TestSerializer()); + LootEntryTypeRegistry.INSTANCE.register(new TestSerializer()); } private static class TestSerializer extends LootEntry.Serializer<TagEntry> {