append git hash to subproject versions, update to 1.14.1-pre2

This commit is contained in:
asie 2019-05-11 08:55:17 +02:00
parent 1237c40625
commit 93af775a99
47 changed files with 138 additions and 133 deletions
build.gradle
fabric-commands
fabric-containers
fabric-content-registries
fabric-crash-report-info
fabric-events-interaction
fabric-events-lifecycle
fabric-item-groups
build.gradle
src/main/java/net/fabricmc/fabric/mixin/itemgroup/client
fabric-keybindings
fabric-lib
fabric-mining-levels
fabric-models
fabric-networking-blockentity
fabric-networking
build.gradle
src/main/java/net/fabricmc/fabric/api/server
fabric-object-builders
build.gradle
src/main/java/net/fabricmc/fabric/mixin/builders
fabric-registry-sync
build.gradle
src/main/java/net/fabricmc/fabric
fabric-rendering-hooks
build.gradle
src/main/java/net/fabricmc/fabric
fabric-resource-loader
fabric-tag-hooks
build.gradle
src/main/java/net/fabricmc/fabric/api/tag
fabric-textures

View file

@ -5,13 +5,20 @@ plugins {
id 'maven-publish'
id 'fabric-loom' version '0.2.3-SNAPSHOT' apply false
id 'net.minecrell.licenser' version '0.4.1'
id "org.ajoberstar.grgit" version "3.1.1"
// id 'com.matthewprenger.cursegradle' version "1.1.2"
}
def ENV = System.getenv()
def baseVersion = "0.3.0-pre"
def mcVersion = "1.14"
def mcVersion = "1.14.1 Pre-Release 2"
def yarnVersion = "+build.2"
def getSubprojectVersion(project, version) {
def latestCommit = grgit.log(paths: [project.name], maxCommits: 1).get(0)
return version + "+" + latestCommit.id.substring(0, 8)
}
allprojects {
apply plugin: 'maven-publish'
@ -25,8 +32,8 @@ allprojects {
dependencies {
minecraft "com.mojang:minecraft:$mcVersion"
mappings "net.fabricmc:yarn:$mcVersion+build.1"
modCompile "net.fabricmc:fabric-loader:0.4.2+build.131"
mappings "net.fabricmc:yarn:${mcVersion}${yarnVersion}"
modCompile "net.fabricmc:fabric-loader:0.4.6+build.144"
}
configurations {
@ -56,7 +63,6 @@ allprojects {
}
license {
println(rootProject.file('HEADER'))
header rootProject.file('HEADER')
include '**/*.java'
}

View file

@ -1,5 +1,5 @@
archivesBaseName = "fabric-registry-commands"
version = "0.1.0"
version = getSubprojectVersion(project, "0.1.0")
dependencies {
compile project(path: ':fabric-lib', configuration: 'dev')

View file

@ -1,5 +1,5 @@
archivesBaseName = "fabric-containers"
version = "0.1.0"
version = getSubprojectVersion(project, "0.1.0")
dependencies {
compile project(path: ':fabric-lib', configuration: 'dev')

View file

@ -1,5 +1,5 @@
archivesBaseName = "fabric-content-registries"
version = "0.1.0"
version = getSubprojectVersion(project, "0.1.0")
dependencies {
compile project(path: ':fabric-lib', configuration: 'dev')

View file

@ -17,21 +17,21 @@
package net.fabricmc.fabric.api.util;
import net.minecraft.item.Item;
import net.minecraft.item.ItemProvider;
import net.minecraft.item.ItemConvertible;
import net.minecraft.tag.Tag;
public interface Item2ObjectMap<V> {
V get(ItemProvider item);
V get(ItemConvertible item);
void add(ItemProvider item, V value);
void add(ItemConvertible item, V value);
void add(Tag<Item> tag, V value);
void remove(ItemProvider item);
void remove(ItemConvertible item);
void remove(Tag<Item> tag);
void clear(ItemProvider item);
void clear(ItemConvertible item);
void clear(Tag<Item> tag);
}

View file

@ -19,18 +19,18 @@ package net.fabricmc.fabric.impl.registry;
import net.fabricmc.fabric.api.registry.CompostingChanceRegistry;
import net.minecraft.block.ComposterBlock;
import net.minecraft.item.Item;
import net.minecraft.item.ItemProvider;
import net.minecraft.item.ItemConvertible;
import net.minecraft.tag.Tag;
public class CompostingChanceRegistryImpl implements CompostingChanceRegistry {
@Override
public Float get(ItemProvider item) {
return ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.getOrDefault(item.getItem(), 0.0F);
public Float get(ItemConvertible item) {
return ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.getOrDefault(item.asItem(), 0.0F);
}
@Override
public void add(ItemProvider item, Float value) {
ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.put(item.getItem(), value.floatValue());
public void add(ItemConvertible item, Float value) {
ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.put(item.asItem(), value);
}
@Override
@ -39,8 +39,8 @@ public class CompostingChanceRegistryImpl implements CompostingChanceRegistry {
}
@Override
public void remove(ItemProvider item) {
ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.removeFloat(item.getItem());
public void remove(ItemConvertible item) {
ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.removeFloat(item.asItem());
}
@Override
@ -49,7 +49,7 @@ public class CompostingChanceRegistryImpl implements CompostingChanceRegistry {
}
@Override
public void clear(ItemProvider item) {
public void clear(ItemConvertible item) {
throw new UnsupportedOperationException("CompostingChanceRegistry operates directly on the vanilla map - clearing not supported!");
}

View file

@ -45,7 +45,7 @@ public class FlammableBlockRegistryImpl implements FlammableBlockRegistry, Simpl
private boolean tagsPresent = false;
private FlammableBlockRegistryImpl(Block key) {
ResourceManagerHelper.get(ResourceType.DATA).registerReloadListener(this);
ResourceManagerHelper.get(ResourceType.SERVER_DATA).registerReloadListener(this);
this.id = new Identifier("fabric:private/fire_registry_" + (++idCounter));
this.key = key;
}

View file

@ -21,7 +21,7 @@ import it.unimi.dsi.fastutil.objects.Object2IntMap;
import net.fabricmc.fabric.api.registry.FuelRegistry;
import net.minecraft.block.entity.AbstractFurnaceBlockEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemProvider;
import net.minecraft.item.ItemConvertible;
import net.minecraft.tag.Tag;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@ -32,7 +32,7 @@ import java.util.Map;
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<ItemConvertible> itemCookTimes = new Object2IntLinkedOpenHashMap<>();
private final Object2IntMap<Tag<Item>> tagCookTimes = new Object2IntLinkedOpenHashMap<>();
public FuelRegistryImpl() {
@ -40,12 +40,12 @@ public class FuelRegistryImpl implements FuelRegistry {
}
@Override
public Integer get(ItemProvider item) {
return AbstractFurnaceBlockEntity.createFuelTimeMap().get(item.getItem());
public Integer get(ItemConvertible item) {
return AbstractFurnaceBlockEntity.createFuelTimeMap().get(item.asItem());
}
@Override
public void add(ItemProvider item, Integer cookTime) {
public void add(ItemConvertible item, Integer cookTime) {
if (cookTime > 32767) {
LOGGER.warn("Tried to register an overly high cookTime: " + cookTime + " > 32767! (" + item + ")");
}
@ -61,7 +61,7 @@ public class FuelRegistryImpl implements FuelRegistry {
}
@Override
public void remove(ItemProvider item) {
public void remove(ItemConvertible item) {
add(item, 0);
}
@ -71,7 +71,7 @@ public class FuelRegistryImpl implements FuelRegistry {
}
@Override
public void clear(ItemProvider item) {
public void clear(ItemConvertible item) {
itemCookTimes.removeInt(item);
}
@ -95,13 +95,13 @@ public class FuelRegistryImpl implements FuelRegistry {
}
}
for (ItemProvider item : itemCookTimes.keySet()) {
for (ItemConvertible item : itemCookTimes.keySet()) {
int time = itemCookTimes.getInt(item);
if (time <= 0) {
map.remove(item.getItem());
map.remove(item.asItem());
} else {
map.put(item.getItem(), time);
map.put(item.asItem(), time);
}
}
}
}
}

View file

@ -1,2 +1,2 @@
archivesBaseName = "fabric-crash-report-info"
version = "0.1.0"
version = getSubprojectVersion(project, "0.1.0")

View file

@ -1,5 +1,5 @@
archivesBaseName = "fabric-events-interaction"
version = "0.1.0"
version = getSubprojectVersion(project, "0.1.0")
dependencies {
compile project(path: ':fabric-lib', configuration: 'dev')

View file

@ -54,7 +54,7 @@ public class MixinClientPlayerInteractionManager {
@Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/world/GameMode;isCreative()Z", ordinal = 0), method = "attackBlock", cancellable = true)
public void attackBlock(BlockPos pos, Direction direction, CallbackInfoReturnable<Boolean> info) {
ActionResult result = AttackBlockCallback.EVENT.invoker().interact(client.player, client.world, Hand.MAIN, pos, direction);
ActionResult result = AttackBlockCallback.EVENT.invoker().interact(client.player, client.world, Hand.MAIN_HAND, pos, direction);
if (result != ActionResult.PASS) {
info.setReturnValue(result == ActionResult.SUCCESS);
info.cancel();
@ -67,7 +67,7 @@ public class MixinClientPlayerInteractionManager {
return;
}
ActionResult result = AttackBlockCallback.EVENT.invoker().interact(client.player, client.world, Hand.MAIN, pos, direction);
ActionResult result = AttackBlockCallback.EVENT.invoker().interact(client.player, client.world, Hand.MAIN_HAND, pos, direction);
if (result != ActionResult.PASS) {
info.setReturnValue(result == ActionResult.SUCCESS);
info.cancel();
@ -101,7 +101,7 @@ public class MixinClientPlayerInteractionManager {
@Inject(at = @At(value = "INVOKE", target = "Lnet/minecraft/client/network/ClientPlayNetworkHandler;sendPacket(Lnet/minecraft/network/Packet;)V", ordinal = 0), method = "attackEntity", cancellable = true)
public void attackEntity(PlayerEntity player, Entity entity, CallbackInfo info) {
ActionResult result = AttackEntityCallback.EVENT.invoker().interact(player, player.getEntityWorld(), Hand.MAIN /* TODO */, entity, null);
ActionResult result = AttackEntityCallback.EVENT.invoker().interact(player, player.getEntityWorld(), Hand.MAIN_HAND /* TODO */, entity, null);
if (result != ActionResult.PASS) {
if (result == ActionResult.SUCCESS) {
this.networkHandler.sendPacket(new PlayerInteractEntityC2SPacket(entity));

View file

@ -79,7 +79,7 @@ public abstract class MixinMinecraftClient {
if (client.player.abilities.creativeMode) {
playerInventory.addPickBlock(stack);
client.interactionManager.clickCreativeStack(client.player.getStackInHand(Hand.MAIN), 36 + playerInventory.selectedSlot);
client.interactionManager.clickCreativeStack(client.player.getStackInHand(Hand.MAIN_HAND), 36 + playerInventory.selectedSlot);
} else {
int slot = playerInventory.getSlotWithStack(stack);
if (slot >= 0) {

View file

@ -31,7 +31,7 @@ public class MixinServerPlayerEntity {
@Inject(method = "attack", at = @At("HEAD"), cancellable = true)
public void onPlayerInteractEntity(Entity target, CallbackInfo info) {
ServerPlayerEntity player = (ServerPlayerEntity) (Object) this;
ActionResult result = AttackEntityCallback.EVENT.invoker().interact(player, player.getEntityWorld(), Hand.MAIN, target, null);
ActionResult result = AttackEntityCallback.EVENT.invoker().interact(player, player.getEntityWorld(), Hand.MAIN_HAND, target, null);
if (result != ActionResult.PASS) {
info.cancel();
}

View file

@ -47,7 +47,7 @@ public class MixinServerPlayerInteractionManager {
@Inject(at = @At("HEAD"), method = "method_14263", cancellable = true)
public void startBlockBreak(BlockPos pos, Direction direction, CallbackInfo info) {
ActionResult result = AttackBlockCallback.EVENT.invoker().interact(player, world, Hand.MAIN, pos, direction);
ActionResult result = AttackBlockCallback.EVENT.invoker().interact(player, world, Hand.MAIN_HAND, pos, direction);
if (result != ActionResult.PASS) {
// The client might have broken the block on its side, so make sure to let it know.
this.player.networkHandler.sendPacket(new BlockUpdateS2CPacket(world, pos));

View file

@ -1,5 +1,5 @@
archivesBaseName = "fabric-events-lifecycle"
version = "0.1.0"
version = getSubprojectVersion(project, "0.1.0")
dependencies {
compile project(path: ':fabric-lib', configuration: 'dev')

View file

@ -1,5 +1,5 @@
archivesBaseName = "fabric-item-groups"
version = "0.1.0"
version = getSubprojectVersion(project, "0.1.0")
dependencies {
compile project(path: ':fabric-resource-loader', configuration: 'dev')

View file

@ -23,7 +23,7 @@ import net.minecraft.client.gui.ingame.CreativePlayerInventoryScreen;
import net.minecraft.container.Container;
import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.item.ItemGroup;
import net.minecraft.text.TextComponent;
import net.minecraft.network.chat.Component;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
@ -34,7 +34,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(CreativePlayerInventoryScreen.class)
public abstract class MixinCreativePlayerInventoryGui extends AbstractPlayerInventoryScreen implements CreativeGuiExtensions {
public MixinCreativePlayerInventoryGui(Container container_1, PlayerInventory playerInventory_1, TextComponent textComponent_1) {
public MixinCreativePlayerInventoryGui(Container container_1, PlayerInventory playerInventory_1, Component textComponent_1) {
super(container_1, playerInventory_1, textComponent_1);
}

View file

@ -1,5 +1,5 @@
archivesBaseName = "fabric-keybindings"
version = "0.1.0"
version = getSubprojectVersion(project, "0.1.0")
dependencies {
compile project(path: ':fabric-lib', configuration: 'dev')

View file

@ -1,2 +1,2 @@
archivesBaseName = "fabric-lib"
version = "0.1.0"
version = getSubprojectVersion(project, "0.1.0")

View file

@ -1,5 +1,5 @@
archivesBaseName = "fabric-mining-levels"
version = "0.1.0"
version = getSubprojectVersion(project, "0.1.0")
dependencies {
compile project(path: ':fabric-lib', configuration: 'dev')

View file

@ -1,5 +1,5 @@
archivesBaseName = "fabric-models"
version = "0.1.0"
version = getSubprojectVersion(project, "0.1.0")
dependencies {
compile project(path: ':fabric-lib', configuration: 'dev')

View file

@ -1,5 +1,5 @@
archivesBaseName = "fabric-networking-blockentity"
version = "0.1.0"
version = getSubprojectVersion(project, "0.1.0")
dependencies {
compile project(path: ':fabric-lib', configuration: 'dev')

View file

@ -1,6 +1,6 @@
archivesBaseName = "fabric-networking"
version = "0.1.0"
version = getSubprojectVersion(project, "0.1.0")
dependencies {
compile project(path: ':fabric-lib', configuration: 'dev')
}
}

View file

@ -26,10 +26,10 @@ import net.minecraft.server.world.ServerChunkManager;
import net.minecraft.server.world.ServerWorld;
import net.minecraft.server.world.ThreadedAnvilChunkStorage;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.ChunkPos;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.World;
import net.minecraft.world.chunk.ChunkManager;
import net.minecraft.world.chunk.ChunkPos;
import java.util.stream.Stream;

View file

@ -1,5 +1,5 @@
archivesBaseName = "fabric-object-builders"
version = "0.1.0"
version = getSubprojectVersion(project, "0.1.0")
dependencies {
compile project(path: ':fabric-lib', configuration: 'dev')

View file

@ -44,7 +44,7 @@ public class MixinBlockBuilder implements FabricBlockSettingsDelegate {
@Shadow
private boolean randomTicks;
@Shadow
private float friction;
private float slipperiness;
@Shadow
private Identifier dropTableId;
@Shadow
@ -87,7 +87,7 @@ public class MixinBlockBuilder implements FabricBlockSettingsDelegate {
@Override
public void fabric_setFriction(float value) {
friction = value;
slipperiness = value;
}
@Override

View file

@ -1,5 +1,5 @@
archivesBaseName = "fabric-registry-sync"
version = "0.1.0"
version = getSubprojectVersion(project, "0.1.0")
dependencies {
compile project(path: ':fabric-lib', configuration: 'dev')

View file

@ -20,7 +20,7 @@ import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.network.ClientSidePacketRegistry;
import net.minecraft.client.MinecraftClient;
import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.text.StringTextComponent;
import net.minecraft.network.chat.TextComponent;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@ -35,7 +35,7 @@ public class FabricRegistryClientInit implements ClientModInitializer {
LOGGER.error("Registry remapping failed!", e);
MinecraftClient.getInstance().execute(() -> {
((ClientPlayerEntity) ctx.getPlayer()).networkHandler.getClientConnection().disconnect(
new StringTextComponent("Registry remapping failed: " + e.getMessage())
new TextComponent("Registry remapping failed: " + e.getMessage())
);
});
});

View file

@ -19,8 +19,8 @@ package net.fabricmc.fabric.mixin.registry.client;
import net.fabricmc.fabric.impl.registry.IdListUpdater;
import net.fabricmc.fabric.impl.registry.ListenableRegistry;
import net.minecraft.block.Block;
import net.minecraft.client.render.block.BlockColorMap;
import net.minecraft.client.render.block.BlockColorMapper;
import net.minecraft.client.color.block.BlockColorProvider;
import net.minecraft.client.color.block.BlockColors;
import net.minecraft.util.IdList;
import net.minecraft.util.registry.Registry;
import org.spongepowered.asm.mixin.Mixin;
@ -29,18 +29,18 @@ import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(BlockColorMap.class)
public class MixinBlockColorMap implements IdListUpdater.Container<BlockColorMapper> {
@Mixin(BlockColors.class)
public class MixinBlockColorMap implements IdListUpdater.Container<BlockColorProvider> {
@Shadow
private IdList<BlockColorMapper> mappers;
private IdList<BlockColorProvider> providers;
@Inject(method = "create", at = @At("RETURN"))
private static void create(CallbackInfoReturnable<BlockColorMap> info) {
((ListenableRegistry) Registry.BLOCK).registerListener(new IdListUpdater<Block, BlockColorMapper>((IdListUpdater.Container<BlockColorMapper>) (Object) info.getReturnValue()));
private static void create(CallbackInfoReturnable<BlockColors> info) {
((ListenableRegistry) Registry.BLOCK).registerListener(new IdListUpdater<Block, BlockColorProvider>((IdListUpdater.Container<BlockColorProvider>) (Object) info.getReturnValue()));
}
@Override
public IdList<BlockColorMapper> getIdListForRegistryUpdating() {
return mappers;
public IdList<BlockColorProvider> getIdListForRegistryUpdating() {
return providers;
}
}

View file

@ -18,9 +18,9 @@ package net.fabricmc.fabric.mixin.registry.client;
import net.fabricmc.fabric.impl.registry.IdListUpdater;
import net.fabricmc.fabric.impl.registry.ListenableRegistry;
import net.minecraft.client.render.block.BlockColorMap;
import net.minecraft.client.render.item.ItemColorMap;
import net.minecraft.client.render.item.ItemColorMapper;
import net.minecraft.client.color.block.BlockColors;
import net.minecraft.client.color.item.ItemColorProvider;
import net.minecraft.client.color.item.ItemColors;
import net.minecraft.item.Item;
import net.minecraft.util.IdList;
import net.minecraft.util.registry.Registry;
@ -30,18 +30,18 @@ import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(ItemColorMap.class)
public class MixinItemColorMap implements IdListUpdater.Container<ItemColorMapper> {
@Mixin(ItemColors.class)
public class MixinItemColorMap implements IdListUpdater.Container<ItemColorProvider> {
@Shadow
private IdList<ItemColorMapper> mappers;
private IdList<ItemColorProvider> providers;
@Inject(method = "create", at = @At("RETURN"))
private static void create(BlockColorMap blockMap, CallbackInfoReturnable<ItemColorMap> info) {
((ListenableRegistry) Registry.ITEM).registerListener(new IdListUpdater<Item, ItemColorMapper>((IdListUpdater.Container<ItemColorMapper>) (Object) info.getReturnValue()));
private static void create(BlockColors blockMap, CallbackInfoReturnable<ItemColors> info) {
((ListenableRegistry) Registry.ITEM).registerListener(new IdListUpdater<Item, ItemColorProvider>((IdListUpdater.Container<ItemColorProvider>) (Object) info.getReturnValue()));
}
@Override
public IdList<ItemColorMapper> getIdListForRegistryUpdating() {
return mappers;
public IdList<ItemColorProvider> getIdListForRegistryUpdating() {
return providers;
}
}

View file

@ -1,5 +1,5 @@
archivesBaseName = "fabric-client-registries"
version = "0.1.0"
version = getSubprojectVersion(project, "0.1.0")
dependencies {
compile project(path: ':fabric-lib', configuration: 'dev')

View file

@ -18,14 +18,14 @@ package net.fabricmc.fabric.api.client.render;
import net.fabricmc.fabric.impl.client.render.ColorProviderRegistryImpl;
import net.minecraft.block.Block;
import net.minecraft.client.render.block.BlockColorMapper;
import net.minecraft.client.render.item.ItemColorMapper;
import net.minecraft.item.ItemProvider;
import net.minecraft.client.color.block.BlockColorProvider;
import net.minecraft.client.color.item.ItemColorProvider;
import net.minecraft.item.ItemConvertible;
public interface ColorProviderRegistry<T, Provider> {
ColorProviderRegistry<ItemProvider, ItemColorMapper> ITEM = ColorProviderRegistryImpl.ITEM;
ColorProviderRegistry<ItemConvertible, ItemColorProvider> ITEM = ColorProviderRegistryImpl.ITEM;
ColorProviderRegistry<Block, BlockColorMapper> BLOCK = ColorProviderRegistryImpl.BLOCK;
ColorProviderRegistry<Block, BlockColorProvider> BLOCK = ColorProviderRegistryImpl.BLOCK;
/**
* Register a color provider for one or more objects

View file

@ -18,26 +18,26 @@ package net.fabricmc.fabric.impl.client.render;
import net.fabricmc.fabric.api.client.render.ColorProviderRegistry;
import net.minecraft.block.Block;
import net.minecraft.client.render.block.BlockColorMap;
import net.minecraft.client.render.block.BlockColorMapper;
import net.minecraft.client.render.item.ItemColorMap;
import net.minecraft.client.render.item.ItemColorMapper;
import net.minecraft.item.ItemProvider;
import net.minecraft.client.color.block.BlockColorProvider;
import net.minecraft.client.color.block.BlockColors;
import net.minecraft.client.color.item.ItemColorProvider;
import net.minecraft.client.color.item.ItemColors;
import net.minecraft.item.ItemConvertible;
import java.util.IdentityHashMap;
import java.util.Map;
public abstract class ColorProviderRegistryImpl<T, Provider, Underlying> implements ColorProviderRegistry<T, Provider> {
public static final ColorProviderRegistryImpl<Block, BlockColorMapper, BlockColorMap> BLOCK = new ColorProviderRegistryImpl<Block, BlockColorMapper, BlockColorMap>() {
public static final ColorProviderRegistryImpl<Block, BlockColorProvider, BlockColors> BLOCK = new ColorProviderRegistryImpl<Block, BlockColorProvider, BlockColors>() {
@Override
void registerUnderlying(BlockColorMap map, BlockColorMapper mapper, Block block) {
void registerUnderlying(BlockColors map, BlockColorProvider mapper, Block block) {
map.register(mapper, block);
}
};
public static final ColorProviderRegistryImpl<ItemProvider, ItemColorMapper, ItemColorMap> ITEM = new ColorProviderRegistryImpl<ItemProvider, ItemColorMapper, ItemColorMap>() {
public static final ColorProviderRegistryImpl<ItemConvertible, ItemColorProvider, ItemColors> ITEM = new ColorProviderRegistryImpl<ItemConvertible, ItemColorProvider, ItemColors>() {
@Override
void registerUnderlying(ItemColorMap map, ItemColorMapper mapper, ItemProvider block) {
void registerUnderlying(ItemColors map, ItemColorProvider mapper, ItemConvertible block) {
map.register(mapper, block);
}
};

View file

@ -18,8 +18,8 @@ package net.fabricmc.fabric.mixin.client.render;
import net.fabricmc.fabric.impl.client.render.ColorProviderRegistryImpl;
import net.minecraft.block.Block;
import net.minecraft.client.render.block.BlockColorMap;
import net.minecraft.client.render.block.BlockColorMapper;
import net.minecraft.client.color.block.BlockColorProvider;
import net.minecraft.client.color.block.BlockColors;
import net.minecraft.util.IdList;
import net.minecraft.util.registry.Registry;
import org.spongepowered.asm.mixin.Final;
@ -29,19 +29,19 @@ import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(BlockColorMap.class)
public class MixinBlockColorMap implements ColorProviderRegistryImpl.ColorMapperHolder<Block, BlockColorMapper> {
@Mixin(BlockColors.class)
public class MixinBlockColorMap implements ColorProviderRegistryImpl.ColorMapperHolder<Block, BlockColorProvider> {
@Shadow
@Final
private IdList<BlockColorMapper> mappers;
private IdList<BlockColorProvider> providers;
@Inject(method = "create", at = @At("RETURN"))
private static void create(CallbackInfoReturnable<BlockColorMap> info) {
private static void create(CallbackInfoReturnable<BlockColors> info) {
ColorProviderRegistryImpl.BLOCK.initialize(info.getReturnValue());
}
@Override
public BlockColorMapper get(Block block) {
return mappers.get(Registry.BLOCK.getRawId(block));
public BlockColorProvider get(Block block) {
return providers.get(Registry.BLOCK.getRawId(block));
}
}

View file

@ -17,10 +17,10 @@
package net.fabricmc.fabric.mixin.client.render;
import net.fabricmc.fabric.impl.client.render.ColorProviderRegistryImpl;
import net.minecraft.client.render.block.BlockColorMap;
import net.minecraft.client.render.item.ItemColorMap;
import net.minecraft.client.render.item.ItemColorMapper;
import net.minecraft.item.ItemProvider;
import net.minecraft.client.color.block.BlockColors;
import net.minecraft.client.color.item.ItemColorProvider;
import net.minecraft.client.color.item.ItemColors;
import net.minecraft.item.ItemConvertible;
import net.minecraft.util.IdList;
import net.minecraft.util.registry.Registry;
import org.spongepowered.asm.mixin.Final;
@ -30,19 +30,19 @@ import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(ItemColorMap.class)
public class MixinItemColorMap implements ColorProviderRegistryImpl.ColorMapperHolder<ItemProvider, ItemColorMapper> {
@Mixin(ItemColors.class)
public class MixinItemColorMap implements ColorProviderRegistryImpl.ColorMapperHolder<ItemConvertible, ItemColorProvider> {
@Shadow
@Final
private IdList<ItemColorMapper> mappers;
private IdList<ItemColorProvider> providers;
@Inject(method = "create", at = @At("RETURN"))
private static void create(BlockColorMap blockMap, CallbackInfoReturnable<ItemColorMap> info) {
private static void create(BlockColors blockMap, CallbackInfoReturnable<ItemColors> info) {
ColorProviderRegistryImpl.ITEM.initialize(info.getReturnValue());
}
@Override
public ItemColorMapper get(ItemProvider item) {
return mappers.get(Registry.ITEM.getRawId(item.getItem()));
public ItemColorProvider get(ItemConvertible item) {
return providers.get(Registry.ITEM.getRawId(item.asItem()));
}
}

View file

@ -1,2 +1,2 @@
archivesBaseName = "fabric-resource-loader"
version = "0.1.0"
version = getSubprojectVersion(project, "0.1.0")

View file

@ -45,8 +45,8 @@ import java.util.concurrent.Executor;
*/
public interface SimpleResourceReloadListener<T> extends IdentifiableResourceReloadListener {
@Override
default CompletableFuture<Void> reload(ResourceReloadListener.Helper helper, ResourceManager manager, Profiler loadProfiler, Profiler applyProfiler, Executor loadExecutor, Executor applyExecutor) {
return load(manager, loadProfiler, loadExecutor).thenCompose(helper::waitForAll).thenCompose(
default CompletableFuture<Void> reload(ResourceReloadListener.Synchronizer helper, ResourceManager manager, Profiler loadProfiler, Profiler applyProfiler, Executor loadExecutor, Executor applyExecutor) {
return load(manager, loadProfiler, loadExecutor).thenCompose(helper::whenPrepared).thenCompose(
(o) -> apply(o, manager, applyProfiler, applyExecutor)
);
}

View file

@ -16,7 +16,7 @@
package net.fabricmc.fabric.impl.resources;
import net.minecraft.util.Void;
import net.minecraft.util.Unit;
import java.io.IOException;
import java.io.InputStream;
@ -70,7 +70,7 @@ class DeferredInputStream extends InputStream {
public void reset() throws IOException {
DeferredNioExecutionHandler.submit(() -> {
stream.reset();
return Void.INSTANCE;
return Unit.INSTANCE;
});
}
@ -98,7 +98,7 @@ class DeferredInputStream extends InputStream {
public void close() throws IOException {
DeferredNioExecutionHandler.submit(() -> {
stream.close();
return Void.INSTANCE;
return Unit.INSTANCE;
});
}
}

View file

@ -18,7 +18,7 @@ package net.fabricmc.fabric.impl.resources;
import net.fabricmc.fabric.api.resource.ModResourcePack;
import net.fabricmc.loader.api.metadata.ModMetadata;
import net.minecraft.resource.AbstractFilenameResourcePack;
import net.minecraft.resource.AbstractFileResourcePack;
import net.minecraft.resource.ResourceType;
import net.minecraft.util.Identifier;
import net.minecraft.util.InvalidIdentifierException;
@ -35,7 +35,7 @@ import java.util.*;
import java.util.function.Predicate;
import java.util.regex.Pattern;
public class ModNioResourcePack extends AbstractFilenameResourcePack implements ModResourcePack {
public class ModNioResourcePack extends AbstractFileResourcePack implements ModResourcePack {
private static final Logger LOGGER = LogManager.getLogger();
private static final Pattern RESOURCE_PACK_PATH = Pattern.compile("[a-z0-9-_]+");
private final ModMetadata modInfo;
@ -64,7 +64,7 @@ public class ModNioResourcePack extends AbstractFilenameResourcePack implements
}
@Override
protected InputStream openFilename(String filename) throws IOException {
protected InputStream openFile(String filename) throws IOException {
InputStream stream;
if (DeferredNioExecutionHandler.shouldDefer()) {
@ -96,7 +96,7 @@ public class ModNioResourcePack extends AbstractFilenameResourcePack implements
}
@Override
protected boolean containsFilename(String filename) {
protected boolean containsFile(String filename) {
if (ModResourcePackUtil.containsDefault(modInfo, filename)) {
return true;
}

View file

@ -44,7 +44,7 @@ public class ModResourcePackCreator implements ResourcePackCreator {
}
T var3 = ResourcePackContainer.of("fabric/" + ((ModResourcePack) pack).getFabricModMetadata().getId(),
false, () -> pack, factory, ResourcePackContainer.SortingDirection.BOTTOM);
false, () -> pack, factory, ResourcePackContainer.InsertionPosition.BOTTOM);
if (var3 != null) {
map.put(var3.getName(), var3);

View file

@ -18,18 +18,18 @@ package net.fabricmc.fabric.mixin.resources;
import net.fabricmc.fabric.api.resource.IdentifiableResourceReloadListener;
import net.fabricmc.fabric.api.resource.ResourceReloadListenerKeys;
import net.minecraft.client.audio.SoundLoader;
import net.minecraft.client.font.FontManager;
import net.minecraft.client.render.WorldRenderer;
import net.minecraft.client.render.block.BlockRenderManager;
import net.minecraft.client.render.item.ItemRenderer;
import net.minecraft.client.render.model.BakedModelManager;
import net.minecraft.client.resource.language.LanguageManager;
import net.minecraft.client.sound.SoundLoader;
import net.minecraft.client.texture.TextureManager;
import net.minecraft.recipe.RecipeManager;
import net.minecraft.server.ServerAdvancementLoader;
import net.minecraft.server.function.CommandFunctionManager;
import net.minecraft.tag.TagManager;
import net.minecraft.tag.RegistryTagManager;
import net.minecraft.util.Identifier;
import net.minecraft.world.loot.LootManager;
import org.spongepowered.asm.mixin.Mixin;
@ -93,7 +93,7 @@ public class MixinKeyedResourceReloadListener {
@Mixin({
/* public */
RecipeManager.class, ServerAdvancementLoader.class, CommandFunctionManager.class, LootManager.class, TagManager.class
RecipeManager.class, ServerAdvancementLoader.class, CommandFunctionManager.class, LootManager.class, RegistryTagManager.class
/* private */
})
public static abstract class Server implements IdentifiableResourceReloadListener {
@ -106,7 +106,7 @@ public class MixinKeyedResourceReloadListener {
if (fabric_idDeps == null) {
Object self = (Object) this;
if (self instanceof TagManager) {
if (self instanceof RegistryTagManager) {
fabric_idDeps = Collections.emptyList();
} else {
fabric_idDeps = Collections.singletonList(ResourceReloadListenerKeys.TAGS);
@ -130,7 +130,7 @@ public class MixinKeyedResourceReloadListener {
fabric_id = ResourceReloadListenerKeys.FUNCTIONS;
} else if (self instanceof LootManager) {
fabric_id = ResourceReloadListenerKeys.LOOT_TABLES;
} else if (self instanceof TagManager) {
} else if (self instanceof RegistryTagManager) {
fabric_id = ResourceReloadListenerKeys.TAGS;
} else {
fabric_id = new Identifier("minecraft", "private/" + self.getClass().getSimpleName().toLowerCase(Locale.ROOT));

View file

@ -49,7 +49,7 @@ public class MixinMinecraftGame {
list.add(pack);
if (pack instanceof DefaultClientResourcePack) {
ModResourcePackUtil.appendModResourcePacks(list, ResourceType.ASSETS);
ModResourcePackUtil.appendModResourcePacks(list, ResourceType.CLIENT_RESOURCES);
appended = true;
}
}

View file

@ -33,10 +33,10 @@ import java.io.File;
@Mixin(MinecraftServer.class)
public class MixinMinecraftServer {
@Shadow
private ResourcePackContainerManager<ResourcePackContainer> resourcePackContainerManager;
private ResourcePackContainerManager<ResourcePackContainer> dataPackContainerManager;
@Inject(method = "loadWorldDataPacks", at = @At(value = "INVOKE", target = "Lnet/minecraft/resource/ResourcePackContainerManager;addCreator(Lnet/minecraft/resource/ResourcePackCreator;)V", ordinal = 1))
public void appendFabricDataPacks(File file, LevelProperties properties, CallbackInfo info) {
resourcePackContainerManager.addCreator(new ModResourcePackCreator(ResourceType.DATA));
dataPackContainerManager.addCreator(new ModResourcePackCreator(ResourceType.SERVER_DATA));
}
}

View file

@ -21,7 +21,6 @@ import net.minecraft.resource.ReloadableResourceManagerImpl;
import net.minecraft.resource.ResourceReloadListener;
import net.minecraft.resource.ResourceReloadMonitor;
import net.minecraft.resource.ResourceType;
import net.minecraft.util.Void;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;

View file

@ -1,5 +1,5 @@
archivesBaseName = "fabric-tag-hooks"
version = "0.1.0"
version = getSubprojectVersion(project, "0.1.0")
dependencies {
compile project(path: ':fabric-lib', configuration: 'dev')

View file

@ -56,7 +56,7 @@ public final class TagRegistry {
}
public static Tag<EntityType<?>> entityType(Identifier id) {
return create(id, EntityTags::getContainer);
return create(id, EntityTypeTags::getContainer);
}
public static Tag<Fluid> fluid(Identifier id) {

View file

@ -1,5 +1,5 @@
archivesBaseName = "fabric-textures"
version = "0.1.0"
version = getSubprojectVersion(project, "0.1.0")
dependencies {
compile project(path: ':fabric-lib', configuration: 'dev')