mirror of
https://github.com/FabricMC/fabric.git
synced 2025-05-08 04:10:47 -04:00
mark 0.1.5, compilation fixes, naming tweaks
This commit is contained in:
parent
b88969cf13
commit
833a3e9fb3
11 changed files with 37 additions and 32 deletions
build.gradle
src
main
java/net/fabricmc/fabric
api/registry
impl/registry
mixin
resources
test/java/net/fabricmc/fabric/loot
|
@ -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")
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
|
@ -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;
|
|
@ -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
|
|
@ -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() {
|
|
@ -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());
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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> {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue