28 lines
1.4 KiB
Java
28 lines
1.4 KiB
Java
package com.thebrokenrail.twine.client;
|
|
|
|
import com.thebrokenrail.twine.Twine;
|
|
import com.thebrokenrail.twine.item.BackpackItem;
|
|
import net.fabricmc.api.ClientModInitializer;
|
|
import net.fabricmc.api.EnvType;
|
|
import net.fabricmc.api.Environment;
|
|
import net.fabricmc.fabric.api.client.rendering.v1.ColorProviderRegistry;
|
|
import net.fabricmc.fabric.api.client.screen.ScreenProviderRegistry;
|
|
import net.minecraft.client.MinecraftClient;
|
|
import net.minecraft.client.gui.screen.ingame.GenericContainerScreen;
|
|
import net.minecraft.entity.player.PlayerEntity;
|
|
import net.minecraft.item.DyeableItem;
|
|
import net.minecraft.screen.GenericContainerScreenHandler;
|
|
|
|
@Environment(EnvType.CLIENT)
|
|
public class TwineClient implements ClientModInitializer {
|
|
@Override
|
|
public void onInitializeClient() {
|
|
ScreenProviderRegistry.INSTANCE.registerFactory(Twine.BACKPACK_SCREEN, screenHandler -> {
|
|
PlayerEntity player = MinecraftClient.getInstance().player;
|
|
assert player != null;
|
|
return new GenericContainerScreen((GenericContainerScreenHandler) screenHandler, player.inventory, ((BackpackItem.ItemInventory) ((GenericContainerScreenHandler) screenHandler).getInventory()).getHolder().getName());
|
|
});
|
|
ColorProviderRegistry.ITEM.register((stack, tintIndex) -> tintIndex > 0 ? -1 : ((DyeableItem) stack.getItem()).getColor(stack), Twine.SMALL_BACKPACK, Twine.LARGE_BACKPACK);
|
|
}
|
|
}
|