diff --git a/gradle.properties b/gradle.properties index b957a95b..fe229047 100644 --- a/gradle.properties +++ b/gradle.properties @@ -5,7 +5,7 @@ org.gradle.jvmargs=-Xmx1G # check these on https://fabricmc.net/use # or better: https://modmuss50.me/fabric.html minecraft_version=20w45a - yarn_mappings=20w45a+build.6 + yarn_mappings=20w45a+build.20 loader_version=0.10.6+build.214 # Mod Properties diff --git a/src/main/java/carpet/helpers/BlockRotator.java b/src/main/java/carpet/helpers/BlockRotator.java index 49af4a69..e0b27d3f 100644 --- a/src/main/java/carpet/helpers/BlockRotator.java +++ b/src/main/java/carpet/helpers/BlockRotator.java @@ -49,7 +49,7 @@ public class BlockRotator { public static boolean flipBlockWithCactus(BlockState state, World world, PlayerEntity player, Hand hand, BlockHitResult hit) { //getAbilities() - if (!player.method_31549().allowModifyWorld || !CarpetSettings.flippinCactus || !player_holds_cactus_mainhand(player)) + if (!player.getAbilities().allowModifyWorld || !CarpetSettings.flippinCactus || !player_holds_cactus_mainhand(player)) { return false; } diff --git a/src/main/java/carpet/helpers/EntityPlayerActionPack.java b/src/main/java/carpet/helpers/EntityPlayerActionPack.java index 696ac319..67e94916 100644 --- a/src/main/java/carpet/helpers/EntityPlayerActionPack.java +++ b/src/main/java/carpet/helpers/EntityPlayerActionPack.java @@ -248,7 +248,7 @@ public class EntityPlayerActionPack private void dropItemFromSlot(int slot, boolean dropAll) { - PlayerInventory inv = player.method_31548(); // getInventory; + PlayerInventory inv = player.getInventory(); // getInventory; if (!inv.getStack(slot).isEmpty()) player.dropItem(inv.removeStack(slot, dropAll ? inv.getStack(slot).getCount() : 1 @@ -257,7 +257,7 @@ public class EntityPlayerActionPack public void drop(int selectedSlot, boolean dropAll) { - PlayerInventory inv = player.method_31548(); // getInventory; + PlayerInventory inv = player.getInventory(); // getInventory; if (selectedSlot == -2) // all { for (int i = inv.size(); i >= 0; i--) diff --git a/src/main/java/carpet/helpers/OptimizedExplosion.java b/src/main/java/carpet/helpers/OptimizedExplosion.java index be910afb..82a1d07a 100644 --- a/src/main/java/carpet/helpers/OptimizedExplosion.java +++ b/src/main/java/carpet/helpers/OptimizedExplosion.java @@ -172,7 +172,7 @@ public class OptimizedExplosion PlayerEntity player = (PlayerEntity) entity; if (!player.isSpectator() - && (!player.isCreative() || !player.method_31549().flying)) { //getAbilities + && (!player.isCreative() || !player.getAbilities().flying)) { //getAbilities e.getAffectedPlayers().put(player, new Vec3d(d5 * d10, d7 * d10, d9 * d10)); } } @@ -227,7 +227,7 @@ public class OptimizedExplosion { if (block.shouldDropItemsOnExplosion(e) && world instanceof ServerWorld) { - BlockEntity blockEntity = state.method_31709() ? world.getBlockEntity(blockpos) : null; //hasBlockEntity() + BlockEntity blockEntity = state.hasBlockEntity() ? world.getBlockEntity(blockpos) : null; //hasBlockEntity() LootContext.Builder lootBuilder = (new LootContext.Builder((ServerWorld)eAccess.getWorld())) .random(eAccess.getWorld().random) diff --git a/src/main/java/carpet/mixins/AbstractCauldronBlock_stackableSBoxesMixin.java b/src/main/java/carpet/mixins/AbstractCauldronBlock_stackableSBoxesMixin.java index 5b02fa77..003d8773 100644 --- a/src/main/java/carpet/mixins/AbstractCauldronBlock_stackableSBoxesMixin.java +++ b/src/main/java/carpet/mixins/AbstractCauldronBlock_stackableSBoxesMixin.java @@ -4,7 +4,7 @@ import carpet.CarpetSettings; import net.minecraft.block.AbstractCauldronBlock; import net.minecraft.block.BlockState; import net.minecraft.block.ShulkerBoxBlock; -import net.minecraft.class_5620; +import net.minecraft.block.cauldron.CauldronBehavior; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.BlockItem; import net.minecraft.item.ItemStack; @@ -19,13 +19,13 @@ import org.spongepowered.asm.mixin.injection.Redirect; @Mixin(AbstractCauldronBlock.class) public class AbstractCauldronBlock_stackableSBoxesMixin { - @Redirect(method = "onUse", at = @At(value = "INVOKE", target = "Lnet/minecraft/class_5620;interact(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/util/Hand;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/util/ActionResult;")) - private ActionResult wrapInteractor(class_5620 class_5620, BlockState blockState, World world, BlockPos blockPos, PlayerEntity playerEntity, Hand hand, ItemStack itemStack) + @Redirect(method = "onUse", at = @At(value = "INVOKE", target = "Lnet/minecraft/block/cauldron/CauldronBehavior;interact(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/util/Hand;Lnet/minecraft/item/ItemStack;)Lnet/minecraft/util/ActionResult;")) + private ActionResult wrapInteractor(CauldronBehavior cauldronBehavior, BlockState blockState, World world, BlockPos blockPos, PlayerEntity playerEntity, Hand hand, ItemStack itemStack) { int count = -1; if (CarpetSettings.stackableShulkerBoxes && itemStack.getItem() instanceof BlockItem && ((BlockItem)itemStack.getItem()).getBlock() instanceof ShulkerBoxBlock) count = itemStack.getCount(); - ActionResult result = class_5620.interact(blockState, world, blockPos, playerEntity, hand, itemStack); + ActionResult result = cauldronBehavior.interact(blockState, world, blockPos, playerEntity, hand, itemStack); if (count > 0 && result.isAccepted()) { ItemStack current = playerEntity.getStackInHand(hand); diff --git a/src/main/java/carpet/mixins/BlockItem_creativeNoClipMixin.java b/src/main/java/carpet/mixins/BlockItem_creativeNoClipMixin.java index ab5044a0..329a72ff 100644 --- a/src/main/java/carpet/mixins/BlockItem_creativeNoClipMixin.java +++ b/src/main/java/carpet/mixins/BlockItem_creativeNoClipMixin.java @@ -24,7 +24,7 @@ public class BlockItem_creativeNoClipMixin ItemPlacementContext contextOuter, BlockState stateOuter) { PlayerEntity player = contextOuter.getPlayer(); - if (CarpetSettings.creativeNoClip && player != null && player.isCreative() && player.method_31549().flying) + if (CarpetSettings.creativeNoClip && player != null && player.isCreative() && player.getAbilities().flying) { // copy from canPlace VoxelShape voxelShape = state.getCollisionShape(world, pos, context); diff --git a/src/main/java/carpet/mixins/ContainerMixin.java b/src/main/java/carpet/mixins/ContainerMixin.java index 96530b8c..485128ad 100644 --- a/src/main/java/carpet/mixins/ContainerMixin.java +++ b/src/main/java/carpet/mixins/ContainerMixin.java @@ -30,7 +30,7 @@ public abstract class ContainerMixin @Inject( method = "method_30010", at = @At(value = "HEAD"), cancellable = true) // on slot click private void onThrowClick( int slotId, int clickData, SlotActionType actionType, PlayerEntity playerEntity, CallbackInfoReturnable cir) { - if (actionType == SlotActionType.THROW && CarpetSettings.ctrlQCraftingFix && playerEntity.method_31548().getCursorStack().isEmpty() && slotId >= 0) + if (actionType == SlotActionType.THROW && CarpetSettings.ctrlQCraftingFix && playerEntity.getInventory().getCursorStack().isEmpty() && slotId >= 0) { ItemStack itemStack_1 = ItemStack.EMPTY; Slot slot_4 = slots.get(slotId); diff --git a/src/main/java/carpet/mixins/CoralBlockMixin.java b/src/main/java/carpet/mixins/CoralBlockMixin.java index ea6db8e0..9e241b41 100644 --- a/src/main/java/carpet/mixins/CoralBlockMixin.java +++ b/src/main/java/carpet/mixins/CoralBlockMixin.java @@ -8,7 +8,7 @@ import net.minecraft.block.Blocks; import net.minecraft.block.CoralBlock; import net.minecraft.block.CoralParentBlock; import net.minecraft.block.Fertilizable; -import net.minecraft.block.MaterialColor; +import net.minecraft.block.MapColor; import net.minecraft.server.world.ServerWorld; import net.minecraft.tag.BlockTags; import net.minecraft.tag.FluidTags; @@ -49,12 +49,12 @@ public abstract class CoralBlockMixin implements Fertilizable else coral = new CoralMushroomFeature(DefaultFeatureConfig.CODEC); - MaterialColor color = blockUnder.getTopMaterialColor(worldIn, pos); + MapColor color = blockUnder.getMapColor(worldIn, pos); BlockState proper_block = blockUnder; for (Block block: BlockTags.CORAL_BLOCKS.values()) { proper_block = block.getDefaultState(); - if (proper_block.getTopMaterialColor(worldIn,pos) == color) + if (proper_block.getMapColor(worldIn,pos) == color) { break; } diff --git a/src/main/java/carpet/mixins/LivingEntity_creativeFlyMixin.java b/src/main/java/carpet/mixins/LivingEntity_creativeFlyMixin.java index 6d3cf5c3..7de5e55c 100644 --- a/src/main/java/carpet/mixins/LivingEntity_creativeFlyMixin.java +++ b/src/main/java/carpet/mixins/LivingEntity_creativeFlyMixin.java @@ -30,7 +30,7 @@ public abstract class LivingEntity_creativeFlyMixin extends Entity if (CarpetSettings.creativeFlyDrag != 0.09 && (Object)this instanceof PlayerEntity) { PlayerEntity self = (PlayerEntity)(Object)(this); - if (self.method_31549().flying && ! onGround ) + if (self.getAbilities().flying && ! onGround ) return (float)(1.0-CarpetSettings.creativeFlyDrag); } return original; @@ -43,7 +43,7 @@ public abstract class LivingEntity_creativeFlyMixin extends Entity if (CarpetSettings.creativeFlySpeed != 1.0D && (Object)this instanceof PlayerEntity) { PlayerEntity self = (PlayerEntity)(Object)(this); - if (self.method_31549().flying && !onGround) + if (self.getAbilities().flying && !onGround) cir.setReturnValue(flyingSpeed* (float)CarpetSettings.creativeFlySpeed); } } diff --git a/src/main/java/carpet/mixins/PistonBlockEntityRenderer_movableTEMixin.java b/src/main/java/carpet/mixins/PistonBlockEntityRenderer_movableTEMixin.java index 35470231..62fcc876 100644 --- a/src/main/java/carpet/mixins/PistonBlockEntityRenderer_movableTEMixin.java +++ b/src/main/java/carpet/mixins/PistonBlockEntityRenderer_movableTEMixin.java @@ -4,10 +4,10 @@ import carpet.CarpetSettings; import carpet.fakes.PistonBlockEntityInterface; import net.minecraft.block.entity.BlockEntity; import net.minecraft.block.entity.PistonBlockEntity; -import net.minecraft.class_5614; import net.minecraft.client.render.VertexConsumerProvider; import net.minecraft.client.render.block.entity.BlockEntityRenderDispatcher; import net.minecraft.client.render.block.entity.BlockEntityRenderer; +import net.minecraft.client.render.block.entity.BlockEntityRendererFactory; import net.minecraft.client.render.block.entity.PistonBlockEntityRenderer; import net.minecraft.client.util.math.MatrixStack; import org.spongepowered.asm.mixin.Mixin; @@ -21,9 +21,9 @@ public abstract class PistonBlockEntityRenderer_movableTEMixin implements BlockE { BlockEntityRenderDispatcher dispatcher; @Inject(method = "", at = @At("TAIL")) - private void onInitCM(class_5614.class_5615 arg, CallbackInfo ci) + private void onInitCM(BlockEntityRendererFactory.Arguments arguments, CallbackInfo ci) { - dispatcher = arg.method_32139(); + dispatcher = arguments.getRenderDispatcher(); } @Inject(method = "render", at = @At(value = "INVOKE", diff --git a/src/main/java/carpet/mixins/PistonBlockEntity_movableTEMixin.java b/src/main/java/carpet/mixins/PistonBlockEntity_movableTEMixin.java index 9ecca0a3..093be7c3 100644 --- a/src/main/java/carpet/mixins/PistonBlockEntity_movableTEMixin.java +++ b/src/main/java/carpet/mixins/PistonBlockEntity_movableTEMixin.java @@ -47,9 +47,9 @@ public abstract class PistonBlockEntity_movableTEMixin extends BlockEntity imple } @Override - public void method_31662(World world) { - super.method_31662(world); - if (carriedBlockEntity != null) carriedBlockEntity.method_31662(world); + public void setWorld(World world) { + super.setWorld(world); + if (carriedBlockEntity != null) carriedBlockEntity.setWorld(world); } public void setCarriedBlockEntity(BlockEntity blockEntity) @@ -59,7 +59,7 @@ public abstract class PistonBlockEntity_movableTEMixin extends BlockEntity imple { ((BlockEntity_movableBEMixin)carriedBlockEntity).setPos(pos); // this might be little dangerous since pos is final for a hashing reason? - if (world != null) carriedBlockEntity.method_31662(world); + if (world != null) carriedBlockEntity.setWorld(world); } // this.carriedBlockEntity.setPos(this.pos); } @@ -83,7 +83,7 @@ public abstract class PistonBlockEntity_movableTEMixin extends BlockEntity imple /** * @author 2No2Name */ - @Redirect(method = "method_31707", at = @At(value = "INVOKE", // tick + @Redirect(method = "tick", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/World;setBlockState(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;I)Z")) private static boolean movableTEsetBlockState0( World world, BlockPos blockPos_1, BlockState blockAState_2, int int_1, diff --git a/src/main/java/carpet/mixins/PistonBlockEntity_playerHandlingMixin.java b/src/main/java/carpet/mixins/PistonBlockEntity_playerHandlingMixin.java index 86a20d8b..4f5ac386 100644 --- a/src/main/java/carpet/mixins/PistonBlockEntity_playerHandlingMixin.java +++ b/src/main/java/carpet/mixins/PistonBlockEntity_playerHandlingMixin.java @@ -29,13 +29,13 @@ public abstract class PistonBlockEntity_playerHandlingMixin @Inject(method = "method_23672", at = @At("HEAD"), cancellable = true) private static void dontPushSpectators(Direction direction, Entity entity, double d, Direction direction2, CallbackInfo ci) { - if (CarpetSettings.creativeNoClip && entity instanceof PlayerEntity && (((PlayerEntity) entity).isCreative()) && ((PlayerEntity) entity).method_31549().flying) ci.cancel(); + if (CarpetSettings.creativeNoClip && entity instanceof PlayerEntity && (((PlayerEntity) entity).isCreative()) && ((PlayerEntity) entity).getAbilities().flying) ci.cancel(); } @Redirect(method = "pushEntities", at = @At(value = "INVOKE", target = "Lnet/minecraft/entity/Entity;setVelocity(DDD)V")) private static void ignoreAccel(Entity entity, double x, double y, double z) { - if (CarpetSettings.creativeNoClip && entity instanceof PlayerEntity && (((PlayerEntity) entity).isCreative()) && ((PlayerEntity) entity).method_31549().flying) return; + if (CarpetSettings.creativeNoClip && entity instanceof PlayerEntity && (((PlayerEntity) entity).isCreative()) && ((PlayerEntity) entity).getAbilities().flying) return; entity.setVelocity(x,y,z); } diff --git a/src/main/java/carpet/mixins/PistonBlock_movableTEMixin.java b/src/main/java/carpet/mixins/PistonBlock_movableTEMixin.java index 916e60a5..e8def5d4 100644 --- a/src/main/java/carpet/mixins/PistonBlock_movableTEMixin.java +++ b/src/main/java/carpet/mixins/PistonBlock_movableTEMixin.java @@ -51,10 +51,10 @@ public abstract class PistonBlock_movableTEMixin extends FacingBlock block != Blocks.SPAWNER; } - @Redirect(method = "isMovable", at = @At(value = "INVOKE", target = "Lnet/minecraft/block/BlockState;method_31709()Z")) // hasBLockENtity + @Redirect(method = "isMovable", at = @At(value = "INVOKE", target = "Lnet/minecraft/block/BlockState;hasBlockEntity()Z")) private static boolean ifHasBlockEntity(BlockState blockState) { - if (!blockState.method_31709()) + if (!blockState.hasBlockEntity()) { return false; } @@ -88,7 +88,7 @@ public abstract class PistonBlock_movableTEMixin extends FacingBlock for (int i = 0; i < list_1.size(); ++i) { BlockPos blockpos = list_1.get(i); - BlockEntity blockEntity = (list_2.get(i).method_31709()) ? world_1.getBlockEntity(blockpos) : null; + BlockEntity blockEntity = (list_2.get(i).hasBlockEntity()) ? world_1.getBlockEntity(blockpos) : null; list1_BlockEntities.get().add(blockEntity); if (blockEntity != null) { diff --git a/src/main/java/carpet/mixins/PlayerEntity_creativeNoClipMixin.java b/src/main/java/carpet/mixins/PlayerEntity_creativeNoClipMixin.java index d7301eee..adba18ba 100644 --- a/src/main/java/carpet/mixins/PlayerEntity_creativeNoClipMixin.java +++ b/src/main/java/carpet/mixins/PlayerEntity_creativeNoClipMixin.java @@ -28,7 +28,7 @@ public abstract class PlayerEntity_creativeNoClipMixin extends LivingEntity ) private boolean canClipTroughWorld(PlayerEntity playerEntity) { - return playerEntity.isSpectator() || (CarpetSettings.creativeNoClip && playerEntity.isCreative() && playerEntity.method_31549().flying); + return playerEntity.isSpectator() || (CarpetSettings.creativeNoClip && playerEntity.isCreative() && playerEntity.getAbilities().flying); } @@ -38,7 +38,7 @@ public abstract class PlayerEntity_creativeNoClipMixin extends LivingEntity ) private boolean collidesWithEntities(PlayerEntity playerEntity) { - return playerEntity.isSpectator() || (CarpetSettings.creativeNoClip && playerEntity.isCreative() && playerEntity.method_31549().flying); + return playerEntity.isSpectator() || (CarpetSettings.creativeNoClip && playerEntity.isCreative() && playerEntity.getAbilities().flying); } @Redirect(method = "updateSize", at = @At( @@ -47,6 +47,6 @@ public abstract class PlayerEntity_creativeNoClipMixin extends LivingEntity ) private boolean spectatorsDontPose(PlayerEntity playerEntity) { - return playerEntity.isSpectator() || (CarpetSettings.creativeNoClip && playerEntity.isCreative() && playerEntity.method_31549().flying); + return playerEntity.isSpectator() || (CarpetSettings.creativeNoClip && playerEntity.isCreative() && playerEntity.getAbilities().flying); } } diff --git a/src/main/java/carpet/mixins/ServerPlayNetworkHandler_scarpetEventsMixin.java b/src/main/java/carpet/mixins/ServerPlayNetworkHandler_scarpetEventsMixin.java index f2ad37fe..6c806a99 100644 --- a/src/main/java/carpet/mixins/ServerPlayNetworkHandler_scarpetEventsMixin.java +++ b/src/main/java/carpet/mixins/ServerPlayNetworkHandler_scarpetEventsMixin.java @@ -257,7 +257,7 @@ public class ServerPlayNetworkHandler_scarpetEventsMixin { if (PLAYER_SWITCHES_SLOT.isNeeded() && player.getServer() != null && player.getServer().isOnThread()) { - PLAYER_SWITCHES_SLOT.onSlotSwitch(player, player.method_31548().selectedSlot, packet.getSelectedSlot()); + PLAYER_SWITCHES_SLOT.onSlotSwitch(player, player.getInventory().selectedSlot, packet.getSelectedSlot()); } } } diff --git a/src/main/java/carpet/mixins/ServerWorld_scarpetEventMixin.java b/src/main/java/carpet/mixins/ServerWorld_scarpetEventMixin.java index 7373895b..8ca7259a 100644 --- a/src/main/java/carpet/mixins/ServerWorld_scarpetEventMixin.java +++ b/src/main/java/carpet/mixins/ServerWorld_scarpetEventMixin.java @@ -39,12 +39,12 @@ public class ServerWorld_scarpetEventMixin @Redirect(method = "addEntity", at = @At( value = "INVOKE", - target = "Lnet/minecraft/class_5579;method_31818(Lnet/minecraft/class_5568;)Z" + target = "Lnet/minecraft/class_5579;addEntity(Lnet/minecraft/class_5568;)Z" )) private boolean onEntityAddedToWorld(class_5579 class_5579, class_5568 arg) { Entity entity = (Entity)arg; - boolean success = class_5579.method_31818(entity); + boolean success = class_5579.addEntity(entity); if (success) { CarpetEventServer.Event event = ENTITY_LOAD.get(entity.getType()); if (event != null) { diff --git a/src/main/java/carpet/mixins/WorldChunkBEList_tickMixin.java b/src/main/java/carpet/mixins/WorldChunkBEList_tickMixin.java index b630be70..b6136a8c 100644 --- a/src/main/java/carpet/mixins/WorldChunkBEList_tickMixin.java +++ b/src/main/java/carpet/mixins/WorldChunkBEList_tickMixin.java @@ -4,7 +4,7 @@ import carpet.helpers.TickSpeed; import carpet.utils.CarpetProfiler; import net.minecraft.block.BlockState; import net.minecraft.block.entity.BlockEntity; -import net.minecraft.class_5558; +import net.minecraft.block.entity.BlockEntityTicker; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import org.spongepowered.asm.mixin.Final; @@ -15,30 +15,29 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.Redirect; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; -@Mixin(targets = "net.minecraft.world.chunk.WorldChunk$class_5563") +@Mixin(targets = "net.minecraft.world.chunk.WorldChunk$DirectBlockEntityTickInvoker") public class WorldChunkBEList_tickMixin { - @Shadow @Final private T field_27224; + @Shadow @Final private T blockEntity; CarpetProfiler.ProfilerToken entitySection; - @Inject(method = "method_31703", at = @At("HEAD")) + @Inject(method = "tick()V", at = @At("HEAD")) private void startTileEntitySection(CallbackInfo ci) { - entitySection = CarpetProfiler.start_block_entity_section(field_27224.getWorld(), field_27224, CarpetProfiler.TYPE.TILEENTITY); + entitySection = CarpetProfiler.start_block_entity_section(blockEntity.getWorld(), blockEntity, CarpetProfiler.TYPE.TILEENTITY); } - @Redirect(method = "method_31703", at = @At( + @Redirect(method = "tick()V", at = @At( value = "INVOKE", - target = "Lnet/minecraft/class_5558;tick(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Lnet/minecraft/block/entity/BlockEntity;)V" + target = "Lnet/minecraft/block/entity/BlockEntityTicker;tick(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Lnet/minecraft/block/entity/BlockEntity;)V" )) - private void checkProcessTEs(class_5558 class_5558, World world, BlockPos blockPos, BlockState blockState, T blockEntity) + private void checkProcessTEs(BlockEntityTicker blockEntityTicker, World world, BlockPos pos, BlockState state, T blockEntity) { - //return class_5562.method_31704() || !TickSpeed.process_entities; // blockEntity can be NULL? happened once with fake player - if (TickSpeed.process_entities) class_5558.tick(world, blockPos, blockState, blockEntity); + if (TickSpeed.process_entities) blockEntityTicker.tick(world, pos, state, blockEntity); } - @Inject(method = "method_31703", at = @At("RETURN")) + @Inject(method = "tick()V", at = @At("RETURN")) private void endTileEntitySection(CallbackInfo ci) { CarpetProfiler.end_current_entity_section(entitySection); diff --git a/src/main/java/carpet/mixins/WorldChunk_movableTEMixin.java b/src/main/java/carpet/mixins/WorldChunk_movableTEMixin.java index 88454061..fc1c0160 100644 --- a/src/main/java/carpet/mixins/WorldChunk_movableTEMixin.java +++ b/src/main/java/carpet/mixins/WorldChunk_movableTEMixin.java @@ -42,7 +42,7 @@ public abstract class WorldChunk_movableTEMixin implements WorldChunkInterface /* @Nullable */ public abstract BlockEntity getBlockEntity(BlockPos blockPos_1, WorldChunk.CreationType worldChunk$CreationType_1); - @Shadow protected abstract void method_31723(T blockEntity); + @Shadow protected abstract void updateTicker(T blockEntity); // Fix Failure: If a moving BlockEntity is placed while BlockEntities are ticking, this will not find it and then replace it with a new TileEntity! // blockEntity_2 = this.getBlockEntity(blockPos_1, WorldChunk.CreationType.CHECK); @@ -76,7 +76,7 @@ public abstract class WorldChunk_movableTEMixin implements WorldChunkInterface int x = blockPos_1.getX() & 15; int y = blockPos_1.getY(); int z = blockPos_1.getZ() & 15; - int section = world.method_31602(y); + int section = world.getSectionIndex(y); ChunkSection chunkSection = this.sections[section]; if (chunkSection == EMPTY_SECTION) { @@ -126,17 +126,17 @@ public abstract class WorldChunk_movableTEMixin implements WorldChunkInterface else { BlockEntity oldBlockEntity = null; - if (oldBlockState.method_31709()) // is BE Provider + if (oldBlockState.hasBlockEntity()) { oldBlockEntity = this.getBlockEntity(blockPos_1, WorldChunk.CreationType.CHECK); if (oldBlockEntity != null) { - oldBlockEntity.method_31664(oldBlockState); - method_31723(oldBlockEntity); + oldBlockEntity.setCachedState(oldBlockState); + updateTicker(oldBlockEntity); } } - if (oldBlockState.method_31709()) // is BE Provider + if (oldBlockState.hasBlockEntity()) { if (newBlockEntity == null) { @@ -146,8 +146,8 @@ public abstract class WorldChunk_movableTEMixin implements WorldChunkInterface { newBlockEntity.cancelRemoval(); this.world.addBlockEntity(newBlockEntity); - newBlockEntity.method_31664(newBlockState); - method_31723(newBlockEntity); + newBlockEntity.setCachedState(newBlockState); + updateTicker(newBlockEntity); } } diff --git a/src/main/java/carpet/mixins/World_movableTEMixin.java b/src/main/java/carpet/mixins/World_movableTEMixin.java index d39fe37b..818676c0 100644 --- a/src/main/java/carpet/mixins/World_movableTEMixin.java +++ b/src/main/java/carpet/mixins/World_movableTEMixin.java @@ -60,7 +60,7 @@ public abstract class World_movableTEMixin implements WorldInterface, WorldAcces */ public boolean setBlockStateWithBlockEntity(BlockPos blockPos_1, BlockState blockState_1, BlockEntity newBlockEntity, int int_1) { - if (method_31606(blockPos_1) || !this.isClient && isDebugWorld()) return false; + if (isOutOfHeightLimit(blockPos_1) || !this.isClient && isDebugWorld()) return false; WorldChunk worldChunk_1 = this.getWorldChunk(blockPos_1); Block block_1 = blockState_1.getBlock(); diff --git a/src/main/java/carpet/script/api/WorldAccess.java b/src/main/java/carpet/script/api/WorldAccess.java index 4f8cfc70..d9cd3406 100644 --- a/src/main/java/carpet/script/api/WorldAccess.java +++ b/src/main/java/carpet/script/api/WorldAccess.java @@ -956,7 +956,7 @@ public class WorldAccess { expression.addLazyFunction("map_colour", -1, (c, t, lv) -> stateStringQuery(c, "map_colour", lv, (s, p) -> - BlockInfo.mapColourName.get(s.getTopMaterialColor(((CarpetContext)c).s.getWorld(), p)))); + BlockInfo.mapColourName.get(s.getMapColor(((CarpetContext)c).s.getWorld(), p)))); expression.addLazyFunction("property", -1, (c, t, lv) -> { diff --git a/src/main/java/carpet/script/utils/ShapesRenderer.java b/src/main/java/carpet/script/utils/ShapesRenderer.java index 06d0a981..7a8f24bc 100644 --- a/src/main/java/carpet/script/utils/ShapesRenderer.java +++ b/src/main/java/carpet/script/utils/ShapesRenderer.java @@ -442,7 +442,7 @@ public class ShapesRenderer // some raw shit public static void drawLine(Tessellator tessellator, BufferBuilder builder, float x1, float y1, float z1, float x2, float y2, float z2, float red1, float grn1, float blu1, float alpha) { - builder.begin(VertexFormat.class_5596.field_27377, VertexFormats.POSITION_COLOR); // 3 // GL LINES + builder.begin(VertexFormat.DrawMode.LINES, VertexFormats.POSITION_COLOR); builder.vertex(x1, y1, z1).color(red1, grn1, blu1, alpha).next(); builder.vertex(x2, y2, z2).color(red1, grn1, blu1, alpha).next(); tessellator.draw(); @@ -455,7 +455,7 @@ public class ShapesRenderer boolean xthick, boolean ythick, boolean zthick, float red1, float grn1, float blu1, float alpha, float red2, float grn2, float blu2) { - builder.begin(VertexFormat.class_5596.field_27377, VertexFormats.POSITION_COLOR); // 3 /lines + builder.begin(VertexFormat.DrawMode.LINES, VertexFormats.POSITION_COLOR); if (xthick) { builder.vertex(x1, y1, z1).color(red1, grn2, blu2, alpha).next(); @@ -508,7 +508,7 @@ public class ShapesRenderer boolean xthick, boolean ythick, boolean zthick, float red1, float grn1, float blu1, float alpha) { - builder.begin(VertexFormat.class_5596.field_27382, VertexFormats.POSITION_COLOR); // QUADS + builder.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR); if (xthick && ythick) { @@ -583,7 +583,7 @@ public class ShapesRenderer for (int dh = 0; dh < hsteps; dh++) { float hh = dh*hstep; - builder.begin(VertexFormat.class_5596.field_27378, VertexFormats.POSITION_COLOR); // line loop to line strip + builder.begin(VertexFormat.DrawMode.LINE_STRIP, VertexFormats.POSITION_COLOR); // line loop to line strip for (int i = 0; i <= num_steps360+1; i++) { float theta = step * i; @@ -599,7 +599,7 @@ public class ShapesRenderer { for (int i = 0; i <= num_steps180; i++) { - builder.begin(VertexFormat.class_5596.field_27378, VertexFormats.POSITION_COLOR); // line loop to line strip + builder.begin(VertexFormat.DrawMode.LINE_STRIP, VertexFormats.POSITION_COLOR); // line loop to line strip float theta = step * i; float x = r * MathHelper.cos(theta); @@ -615,7 +615,7 @@ public class ShapesRenderer } else { - builder.begin(VertexFormat.class_5596.field_27377, VertexFormats.POSITION_COLOR); //lines + builder.begin(VertexFormat.DrawMode.LINES, VertexFormats.POSITION_COLOR); for (int i = 0; i <= num_steps180; i++) { float theta = step * i; @@ -633,7 +633,7 @@ public class ShapesRenderer for (int dh = 0; dh < hsteps; dh++) { float hh = dh * hstep; - builder.begin(VertexFormat.class_5596.field_27378, VertexFormats.POSITION_COLOR); // line loop to line strip + builder.begin(VertexFormat.DrawMode.LINE_STRIP, VertexFormats.POSITION_COLOR); // line loop to line strip for (int i = 0; i <= num_steps360; i++) { float theta = step * i; @@ -649,7 +649,7 @@ public class ShapesRenderer { for (int i = 0; i <= num_steps180; i++) { - builder.begin(VertexFormat.class_5596.field_27378, VertexFormats.POSITION_COLOR); // line loop to line strip + builder.begin(VertexFormat.DrawMode.LINE_STRIP, VertexFormats.POSITION_COLOR); // line loop to line strip float theta = step * i; float y = r * MathHelper.cos(theta); @@ -664,7 +664,7 @@ public class ShapesRenderer } else { - builder.begin(VertexFormat.class_5596.field_27377, VertexFormats.POSITION_COLOR); //lines + builder.begin(VertexFormat.DrawMode.LINES, VertexFormats.POSITION_COLOR); for (int i = 0; i <= num_steps180; i++) { float theta = step * i; @@ -681,7 +681,7 @@ public class ShapesRenderer for (int dh = 0; dh < hsteps; dh++) { float hh = dh * hstep; - builder.begin(VertexFormat.class_5596.field_27378, VertexFormats.POSITION_COLOR); // line loop to line strip + builder.begin(VertexFormat.DrawMode.LINE_STRIP, VertexFormats.POSITION_COLOR); // line loop to line strip for (int i = 0; i <= num_steps360; i++) { float theta = step * i; @@ -696,7 +696,7 @@ public class ShapesRenderer { for (int i = 0; i <= num_steps180; i++) { - builder.begin(VertexFormat.class_5596.field_27378, VertexFormats.POSITION_COLOR); // line loop to line strip + builder.begin(VertexFormat.DrawMode.LINE_STRIP, VertexFormats.POSITION_COLOR); // line loop to line strip float theta = step * i; float x = r * MathHelper.cos(theta); @@ -711,7 +711,7 @@ public class ShapesRenderer } else { - builder.begin(VertexFormat.class_5596.field_27377, VertexFormats.POSITION_COLOR); //lines + builder.begin(VertexFormat.DrawMode.LINES, VertexFormats.POSITION_COLOR); for (int i = 0; i <= num_steps180; i++) { float theta = step * i; @@ -738,7 +738,7 @@ public class ShapesRenderer if (axis == Direction.Axis.Y) { - builder.begin(VertexFormat.class_5596.field_27381, VertexFormats.POSITION_COLOR); //triangle fan + builder.begin(VertexFormat.DrawMode.TRIANGLE_FAN, VertexFormats.POSITION_COLOR); builder.vertex(cx, cy, cz).color(red, grn, blu, alpha).next(); for (int i = 0; i <= num_steps360; i++) { @@ -750,7 +750,7 @@ public class ShapesRenderer tessellator.draw(); if (!isFlat) { - builder.begin(VertexFormat.class_5596.field_27381, VertexFormats.POSITION_COLOR); //trifan + builder.begin(VertexFormat.DrawMode.TRIANGLE_FAN, VertexFormats.POSITION_COLOR); builder.vertex(cx, cy+h, cz).color(red, grn, blu, alpha).next(); for (int i = 0; i <= num_steps360; i++) { @@ -761,7 +761,7 @@ public class ShapesRenderer } tessellator.draw(); - builder.begin(VertexFormat.class_5596.field_27382, VertexFormats.POSITION_COLOR); // quad strip to quads + builder.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR); // quad strip to quads float xp = r * 1; float zp = r * 0; for (int i = 1; i <= num_steps360; i++) @@ -782,7 +782,7 @@ public class ShapesRenderer } else if (axis == Direction.Axis.X) { - builder.begin(VertexFormat.class_5596.field_27381, VertexFormats.POSITION_COLOR); //trifan + builder.begin(VertexFormat.DrawMode.TRIANGLE_FAN, VertexFormats.POSITION_COLOR); builder.vertex(cx, cy, cz).color(red, grn, blu, alpha).next(); for (int i = 0; i <= num_steps360; i++) { @@ -794,7 +794,7 @@ public class ShapesRenderer tessellator.draw(); if (!isFlat) { - builder.begin(VertexFormat.class_5596.field_27381, VertexFormats.POSITION_COLOR); //trifan + builder.begin(VertexFormat.DrawMode.TRIANGLE_FAN, VertexFormats.POSITION_COLOR); builder.vertex(cx+h, cy, cz).color(red, grn, blu, alpha).next(); for (int i = 0; i <= num_steps360; i++) { @@ -805,7 +805,7 @@ public class ShapesRenderer } tessellator.draw(); - builder.begin(VertexFormat.class_5596.field_27382, VertexFormats.POSITION_COLOR); // quad strip to quads + builder.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR); // quad strip to quads float yp = r * 1; float zp = r * 0; for (int i = 1; i <= num_steps360; i++) @@ -825,7 +825,7 @@ public class ShapesRenderer } else if (axis == Direction.Axis.Z) { - builder.begin(VertexFormat.class_5596.field_27381, VertexFormats.POSITION_COLOR); //trifan + builder.begin(VertexFormat.DrawMode.TRIANGLE_FAN, VertexFormats.POSITION_COLOR); builder.vertex(cx, cy, cz).color(red, grn, blu, alpha).next(); for (int i = 0; i <= num_steps360; i++) { @@ -837,7 +837,7 @@ public class ShapesRenderer tessellator.draw(); if (!isFlat) { - builder.begin(VertexFormat.class_5596.field_27381, VertexFormats.POSITION_COLOR); //trifan + builder.begin(VertexFormat.DrawMode.TRIANGLE_FAN, VertexFormats.POSITION_COLOR); builder.vertex(cx, cy, cz+h).color(red, grn, blu, alpha).next(); for (int i = 0; i <= num_steps360; i++) { @@ -848,7 +848,7 @@ public class ShapesRenderer } tessellator.draw(); - builder.begin(VertexFormat.class_5596.field_27382, VertexFormats.POSITION_COLOR); // quad strip to quads + builder.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR); // quad strip to quads float xp = r; float yp = 0; for (int i = 1; i <= num_steps360; i++) @@ -878,7 +878,7 @@ public class ShapesRenderer int num_steps360 = (int)(2*Math.PI / step)+1; for (int i = 0; i <= num_steps360; i++) { - builder.begin(VertexFormat.class_5596.field_27378, VertexFormats.POSITION_COLOR); //linestrip + builder.begin(VertexFormat.DrawMode.LINE_STRIP, VertexFormats.POSITION_COLOR); float theta = step * i ; for (int j = 0; j <= num_steps180; j++) { @@ -892,7 +892,7 @@ public class ShapesRenderer } for (int j = 0; j <= num_steps180; j++) { - builder.begin(VertexFormat.class_5596.field_27378, VertexFormats.POSITION_COLOR); // line loop to line strip + builder.begin(VertexFormat.DrawMode.LINE_STRIP, VertexFormats.POSITION_COLOR); // line loop to line strip float phi = step * j ; for (int i = 0; i <= num_steps360; i++) @@ -921,7 +921,7 @@ public class ShapesRenderer { float theta = i * step; float thetaprime = theta+step; - builder.begin(VertexFormat.class_5596.field_27382, VertexFormats.POSITION_COLOR); // quad strip to quads + builder.begin(VertexFormat.DrawMode.QUADS, VertexFormats.POSITION_COLOR); // quad strip to quads float xb = 0; float zb = 0; float xbp = 0; diff --git a/src/main/java/carpet/script/value/EntityValue.java b/src/main/java/carpet/script/value/EntityValue.java index 7c703596..19740819 100644 --- a/src/main/java/carpet/script/value/EntityValue.java +++ b/src/main/java/carpet/script/value/EntityValue.java @@ -620,7 +620,7 @@ public class EntityValue extends Value put("selected_slot", (e, a) -> { if (e instanceof PlayerEntity) - return new NumericValue(((PlayerEntity) e).method_31548().selectedSlot); //getInventory + return new NumericValue(((PlayerEntity) e).getInventory().selectedSlot); //getInventory return Value.NULL; }); diff --git a/src/main/java/carpet/script/value/NBTSerializableValue.java b/src/main/java/carpet/script/value/NBTSerializableValue.java index de8c9ea8..a7e6d3a7 100644 --- a/src/main/java/carpet/script/value/NBTSerializableValue.java +++ b/src/main/java/carpet/script/value/NBTSerializableValue.java @@ -145,7 +145,7 @@ public class NBTSerializableValue extends Value implements ContainerValueInterfa Block block = blockState.getBlock(); if (block instanceof InventoryProvider) { inventory = ((InventoryProvider)block).getInventory(blockState, world, blockPos); - } else if (blockState.method_31709()) { //hasBlockEntity() + } else if (blockState.hasBlockEntity()) { BlockEntity blockEntity = BlockValue.getBlockEntity(world, blockPos); if (blockEntity instanceof Inventory) { inventory = (Inventory)blockEntity; @@ -181,7 +181,7 @@ public class NBTSerializableValue extends Value implements ContainerValueInterfa if (v1 instanceof EntityValue) { Entity e = ((EntityValue) v1).getEntity(); - if (e instanceof PlayerEntity) inv = ((PlayerEntity) e).method_31548(); + if (e instanceof PlayerEntity) inv = ((PlayerEntity) e).getInventory(); else if (e instanceof Inventory) inv = (Inventory) e; else if (e instanceof VillagerEntity) inv = ((VillagerEntity) e).getInventory(); @@ -231,7 +231,7 @@ public class NBTSerializableValue extends Value implements ContainerValueInterfa return new InventoryLocator( player, player.getBlockPos(), - isEnder ? player.getEnderChestInventory() : player.method_31548(), + isEnder ? player.getEnderChestInventory() : player.getInventory(), offset + 1, isEnder ); diff --git a/src/main/java/carpet/utils/BlockInfo.java b/src/main/java/carpet/utils/BlockInfo.java index 1315eb8f..2a420ba0 100644 --- a/src/main/java/carpet/utils/BlockInfo.java +++ b/src/main/java/carpet/utils/BlockInfo.java @@ -3,7 +3,7 @@ package carpet.utils; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Material; -import net.minecraft.block.MaterialColor; +import net.minecraft.block.MapColor; import net.minecraft.class_5532; // TargetFinder import net.minecraft.entity.EntityType; import net.minecraft.entity.SpawnReason; @@ -68,61 +68,81 @@ public class BlockInfo put(BlockSoundGroup.BONE, "bone"); put(BlockSoundGroup.NETHERITE, "netherite"); put(BlockSoundGroup.ANCIENT_DEBRIS, "ancient_debris"); + put(BlockSoundGroup.LODESTONE, "lodestone"); + put(BlockSoundGroup.CHAIN, "chain"); + put(BlockSoundGroup.NETHER_GOLD_ORE, "nether_gold_ore"); + put(BlockSoundGroup.GILDED_BLACKSTONE, "gilded_blackstone"); + put(BlockSoundGroup.field_27196, "candle"); + put(BlockSoundGroup.field_27197, "amethyst"); + put(BlockSoundGroup.field_27198, "amethyst_cluster"); + put(BlockSoundGroup.field_27199, "small_amethyst_bud"); + put(BlockSoundGroup.field_27200, "large_amethyst_bud"); + put(BlockSoundGroup.field_27201, "medium_amethyst_bud"); + put(BlockSoundGroup.field_27202, "tuff"); + put(BlockSoundGroup.field_27203, "calcite"); + put(BlockSoundGroup.field_27204, "copper"); }}; - public static final Map mapColourName = new HashMap() {{ - put(MaterialColor.CLEAR , "air" ); - put(MaterialColor.GRASS , "grass" ); - put(MaterialColor.SAND , "sand" ); - put(MaterialColor.WEB , "wool" ); - put(MaterialColor.LAVA , "tnt" ); - put(MaterialColor.ICE , "ice" ); - put(MaterialColor.IRON , "iron" ); - put(MaterialColor.FOLIAGE , "foliage" ); - put(MaterialColor.WHITE , "snow" ); - put(MaterialColor.CLAY , "clay" ); - put(MaterialColor.DIRT , "dirt" ); - put(MaterialColor.STONE , "stone" ); - put(MaterialColor.WATER , "water" ); - put(MaterialColor.WOOD , "wood" ); - put(MaterialColor.QUARTZ , "quartz" ); - put(MaterialColor.ORANGE , "adobe" ); - put(MaterialColor.MAGENTA , "magenta" ); - put(MaterialColor.LIGHT_BLUE, "light_blue"); - put(MaterialColor.YELLOW , "yellow" ); - put(MaterialColor.LIME , "lime" ); - put(MaterialColor.PINK , "pink" ); - put(MaterialColor.GRAY , "gray" ); - put(MaterialColor.LIGHT_GRAY, "light_gray"); - put(MaterialColor.CYAN , "cyan" ); - put(MaterialColor.PURPLE , "purple" ); - put(MaterialColor.BLUE , "blue" ); - put(MaterialColor.BROWN , "brown" ); - put(MaterialColor.GREEN , "green" ); - put(MaterialColor.RED , "red" ); - put(MaterialColor.BLACK , "black" ); - put(MaterialColor.GOLD , "gold" ); - put(MaterialColor.DIAMOND , "diamond" ); - put(MaterialColor.LAPIS , "lapis" ); - put(MaterialColor.EMERALD , "emerald" ); - put(MaterialColor.SPRUCE , "obsidian" ); - put(MaterialColor.NETHER , "netherrack"); //TODO fix these - put(MaterialColor.WHITE_TERRACOTTA , "white_terracotta" ); - put(MaterialColor.ORANGE_TERRACOTTA , "orange_terracotta" ); - put(MaterialColor.MAGENTA_TERRACOTTA , "magenta_terracotta" ); - put(MaterialColor.LIGHT_BLUE_TERRACOTTA, "light_blue_terracotta" ); - put(MaterialColor.YELLOW_TERRACOTTA , "yellow_terracotta" ); - put(MaterialColor.LIME_TERRACOTTA , "lime_terracotta" ); - put(MaterialColor.PINK_TERRACOTTA , "pink_terracotta" ); - put(MaterialColor.GRAY_TERRACOTTA , "gray_terracotta" ); - put(MaterialColor.LIGHT_GRAY_TERRACOTTA, "light_gray_terracotta" ); - put(MaterialColor.CYAN_TERRACOTTA , "cyan_terracotta" ); - put(MaterialColor.PURPLE_TERRACOTTA , "purple_terracotta" ); - put(MaterialColor.BLUE_TERRACOTTA , "blue_terracotta" ); - put(MaterialColor.BROWN_TERRACOTTA , "brown_terracotta" ); - put(MaterialColor.GREEN_TERRACOTTA , "green_terracotta" ); - put(MaterialColor.RED_TERRACOTTA , "red_terracotta" ); - put(MaterialColor.BLACK_TERRACOTTA , "black_terracotta" ); + public static final Map mapColourName = new HashMap() {{ + put(MapColor.CLEAR , "air" ); + put(MapColor.GRASS , "grass" ); + put(MapColor.SAND , "sand" ); + put(MapColor.WEB , "wool" ); + put(MapColor.LAVA , "tnt" ); + put(MapColor.ICE , "ice" ); + put(MapColor.IRON , "iron" ); + put(MapColor.FOLIAGE , "foliage" ); + put(MapColor.WHITE , "snow" ); + put(MapColor.CLAY , "clay" ); + put(MapColor.DIRT , "dirt" ); + put(MapColor.STONE , "stone" ); + put(MapColor.WATER , "water" ); + put(MapColor.WOOD , "wood" ); + put(MapColor.QUARTZ , "quartz" ); + put(MapColor.ORANGE , "adobe" ); + put(MapColor.MAGENTA , "magenta" ); + put(MapColor.LIGHT_BLUE, "light_blue"); + put(MapColor.YELLOW , "yellow" ); + put(MapColor.LIME , "lime" ); + put(MapColor.PINK , "pink" ); + put(MapColor.GRAY , "gray" ); + put(MapColor.LIGHT_GRAY, "light_gray"); + put(MapColor.CYAN , "cyan" ); + put(MapColor.PURPLE , "purple" ); + put(MapColor.BLUE , "blue" ); + put(MapColor.BROWN , "brown" ); + put(MapColor.GREEN , "green" ); + put(MapColor.RED , "red" ); + put(MapColor.BLACK , "black" ); + put(MapColor.GOLD , "gold" ); + put(MapColor.DIAMOND , "diamond" ); + put(MapColor.LAPIS , "lapis" ); + put(MapColor.EMERALD , "emerald" ); + put(MapColor.SPRUCE , "obsidian" ); + put(MapColor.NETHER , "netherrack"); //TODO fix these + put(MapColor.WHITE_TERRACOTTA , "white_terracotta" ); + put(MapColor.ORANGE_TERRACOTTA , "orange_terracotta" ); + put(MapColor.MAGENTA_TERRACOTTA , "magenta_terracotta" ); + put(MapColor.LIGHT_BLUE_TERRACOTTA, "light_blue_terracotta" ); + put(MapColor.YELLOW_TERRACOTTA , "yellow_terracotta" ); + put(MapColor.LIME_TERRACOTTA , "lime_terracotta" ); + put(MapColor.PINK_TERRACOTTA , "pink_terracotta" ); + put(MapColor.GRAY_TERRACOTTA , "gray_terracotta" ); + put(MapColor.LIGHT_GRAY_TERRACOTTA, "light_gray_terracotta" ); + put(MapColor.CYAN_TERRACOTTA , "cyan_terracotta" ); + put(MapColor.PURPLE_TERRACOTTA , "purple_terracotta" ); + put(MapColor.BLUE_TERRACOTTA , "blue_terracotta" ); + put(MapColor.BROWN_TERRACOTTA , "brown_terracotta" ); + put(MapColor.GREEN_TERRACOTTA , "green_terracotta" ); + put(MapColor.RED_TERRACOTTA , "red_terracotta" ); + put(MapColor.BLACK_TERRACOTTA , "black_terracotta" ); + put(MapColor.CRIMSON_NYLIUM , "crimson_nylium" ); + put(MapColor.CRIMSON_STEM , "crimson_stem" ); + put(MapColor.CRIMSON_HYPHAE , "crimson_hyphae" ); + put(MapColor.WARPED_NYLIUM , "warped_nylium" ); + put(MapColor.WARPED_STEM , "warped_stem" ); + put(MapColor.WARPED_HYPHAE , "warped_hyphae" ); + put(MapColor.WARPED_WART , "warped_wart" ); }}; public static final Map materialName = new HashMap() {{ @@ -133,20 +153,20 @@ public class BlockInfo put(Material.PLANT , "plant" ); put(Material.UNDERWATER_PLANT, "water_plant" ); put(Material.REPLACEABLE_PLANT, "vegetation" ); - put(Material.REPLACEABLE_UNDERWATER_PLANT , "sea_grass" ); + put(Material.REPLACEABLE_UNDERWATER_PLANT, "sea_grass" ); put(Material.WATER , "water" ); put(Material.BUBBLE_COLUMN , "bubble_column"); put(Material.LAVA , "lava" ); - put(Material.SNOW_LAYER , "snow_layer" ); + put(Material.SNOW_LAYER , "snow_layer" ); put(Material.FIRE , "fire" ); - put(Material.SUPPORTED , "decoration" ); + put(Material.SUPPORTED , "decoration" ); put(Material.COBWEB , "cobweb" ); put(Material.REDSTONE_LAMP , "redstone_lamp"); - put(Material.ORGANIC_PRODUCT , "clay" ); - put(Material.SOIL , "dirt" ); - put(Material.SOLID_ORGANIC , "grass" ); - put(Material.DENSE_ICE , "packed_ice" ); - put(Material.AGGREGATE , "sand" ); + put(Material.ORGANIC_PRODUCT, "clay" ); + put(Material.SOIL , "dirt" ); + put(Material.SOLID_ORGANIC , "grass" ); + put(Material.DENSE_ICE , "packed_ice" ); + put(Material.AGGREGATE , "sand" ); put(Material.SPONGE , "sponge" ); put(Material.SHULKER_BOX , "shulker" ); put(Material.WOOD , "wood" ); @@ -162,13 +182,14 @@ public class BlockInfo put(Material.STONE , "stone" ); put(Material.METAL , "metal" ); put(Material.SNOW_BLOCK , "snow" ); - put(Material.REPAIR_STATION , "anvil" ); + put(Material.REPAIR_STATION , "anvil" ); put(Material.BARRIER , "barrier" ); put(Material.PISTON , "piston" ); put(Material.UNUSED_PLANT , "coral" ); - put(Material.GOURD , "gourd" ); + put(Material.GOURD , "gourd" ); put(Material.EGG , "dragon_egg" ); put(Material.CAKE , "cake" ); + put(Material.AMETHYST , "amethyst" ); }}; public static List blockInfo(BlockPos pos, ServerWorld world) @@ -186,7 +207,7 @@ public class BlockInfo lst.add(Messenger.s("=====================================")); lst.add(Messenger.s(String.format("Block info for %s%s (id %d%s):",Registry.BLOCK.getId(block),metastring, Registry.BLOCK.getRawId(block), metastring ))); lst.add(Messenger.s(String.format(" - Material: %s", materialName.get(material)))); - lst.add(Messenger.s(String.format(" - Map colour: %s", mapColourName.get(state.getTopMaterialColor(world, pos))))); + lst.add(Messenger.s(String.format(" - Map colour: %s", mapColourName.get(state.getMapColor(world, pos))))); lst.add(Messenger.s(String.format(" - Sound type: %s", soundName.get(block.getSoundGroup(state))))); lst.add(Messenger.s("")); lst.add(Messenger.s(String.format(" - Full block: %s", state.isFullCube(world, pos)))); // isFullCube() ))); diff --git a/src/main/java/carpet/utils/WoolTool.java b/src/main/java/carpet/utils/WoolTool.java index 832d4b3b..d6b51d48 100644 --- a/src/main/java/carpet/utils/WoolTool.java +++ b/src/main/java/carpet/utils/WoolTool.java @@ -3,7 +3,7 @@ package carpet.utils; import carpet.CarpetSettings; import carpet.helpers.HopperCounter; import net.minecraft.block.Material; -import net.minecraft.block.MaterialColor; +import net.minecraft.block.MapColor; import net.minecraft.block.BlockState; import net.minecraft.server.command.ServerCommandSource; import net.minecraft.entity.player.PlayerEntity; @@ -20,12 +20,12 @@ import java.util.List; public class WoolTool { - private static final HashMap Material2Dye = new HashMap<>(); + private static final HashMap Material2Dye = new HashMap<>(); static { for (DyeColor color: DyeColor.values()) { - Material2Dye.put(color.getMaterialColor(),color); + Material2Dye.put(color.getMapColor(),color); } } @@ -98,6 +98,6 @@ public class WoolTool BlockState state = worldIn.getBlockState(pos); if (state.getMaterial() != Material.WOOL || !state.isSolidBlock(worldIn, pos)) //isSimpleFullBlock return null; - return Material2Dye.get(state.getTopMaterialColor(worldIn, pos)); + return Material2Dye.get(state.getMapColor(worldIn, pos)); } }