Client-side ColorUtil fix (#2)

This commit is contained in:
paulevsGitch 2021-06-05 14:51:56 +03:00
parent 2a079b407d
commit 4427700b7a
4 changed files with 17 additions and 14 deletions

View file

@ -1,14 +1,15 @@
package ru.bclib.blockentities;
import com.google.common.collect.Sets;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityType;
import java.util.Collections;
import java.util.Set;
import java.util.function.Supplier;
import com.google.common.collect.Sets;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityType;
public class DynamicBlockEntityType<T extends BlockEntity> extends BlockEntityType<T> {
private final Set<Block> validBlocks = Sets.newHashSet();

View file

@ -32,7 +32,6 @@ import net.minecraft.world.level.block.entity.LidBlockEntity;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.properties.ChestType;
import ru.bclib.blockentities.BaseChestBlockEntity;
import ru.bclib.blocks.BaseChestBlock;
@Environment(EnvType.CLIENT)
public class BaseChestBlockEntityRenderer extends BlockEntityRenderer<BaseChestBlockEntity> {

View file

@ -1,21 +1,23 @@
package ru.bclib.registry;
import java.util.function.Supplier;
import net.minecraft.core.Registry;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.BlockItem;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityType;
import ru.bclib.BCLib;
import ru.bclib.blockentities.*;
import ru.bclib.blockentities.BaseBarrelBlockEntity;
import ru.bclib.blockentities.BaseChestBlockEntity;
import ru.bclib.blockentities.BaseFurnaceBlockEntity;
import ru.bclib.blockentities.BaseSignBlockEntity;
import ru.bclib.blockentities.DynamicBlockEntityType;
import ru.bclib.blocks.BaseBarrelBlock;
import ru.bclib.blocks.BaseChestBlock;
import ru.bclib.blocks.BaseFurnaceBlock;
import ru.bclib.blocks.BaseSignBlock;
import java.util.Arrays;
import java.util.function.Supplier;
public class BaseBlockEntities {
public static final DynamicBlockEntityType<BaseChestBlockEntity> CHEST = registerBlockEntityType(BCLib.makeID("chest"), BaseChestBlockEntity::new);
public static final DynamicBlockEntityType<BaseBarrelBlockEntity> BARREL = registerBlockEntityType(BCLib.makeID("barrel"), BaseBarrelBlockEntity::new);
@ -34,7 +36,7 @@ public class BaseBlockEntities {
.map(item -> ((BlockItem) item).getBlock()).toArray(Block[]::new);
}
private static Block[] getBarrels() {
public static Block[] getBarrels() {
return BaseRegistry.getRegisteredBlocks().values().stream()
.filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseBarrelBlock)
.map(item -> ((BlockItem) item).getBlock()).toArray(Block[]::new);
@ -46,7 +48,7 @@ public class BaseBlockEntities {
.map(item -> ((BlockItem) item).getBlock()).toArray(Block[]::new);
}
private static Block[] getFurnaces() {
public static Block[] getFurnaces() {
return BaseRegistry.getRegisteredBlocks().values().stream()
.filter(item -> item instanceof BlockItem && ((BlockItem) item).getBlock() instanceof BaseFurnaceBlock)
.map(item -> ((BlockItem) item).getBlock()).toArray(Block[]::new);

View file

@ -21,7 +21,6 @@ import net.minecraft.world.item.BlockItem;
import net.minecraft.world.item.Item;
import ru.bclib.BCLib;
@Environment(EnvType.CLIENT)
public class ColorUtil {
private static final float[] FLOAT_BUFFER = new float[4];
private static final int ALPHA = 255 << 24;
@ -208,6 +207,7 @@ public class ColorUtil {
private static Map<ResourceLocation, Integer> colorPalette = Maps.newHashMap();
@Environment(EnvType.CLIENT)
public static int extractColor(Item item) {
ResourceLocation id = Registry.ITEM.getKey(item);
if (id.equals(Registry.ITEM.getDefaultKey())) return -1;
@ -242,6 +242,7 @@ public class ColorUtil {
return color;
}
@Environment(EnvType.CLIENT)
public static NativeImage loadImage(ResourceLocation image, int w, int h) {
Minecraft minecraft = Minecraft.getInstance();
ResourceManager resourceManager = minecraft.getResourceManager();