From 75145976d38eda619d8070f54ed52b0c740300e8 Mon Sep 17 00:00:00 2001 From: simibubi <31564874+simibubi@users.noreply.github.com> Date: Wed, 18 Mar 2020 21:38:56 +0100 Subject: [PATCH] Playtest Issues, Part V - Changed a few stress balancing params - Fixed crash when resource reloading outside of a world - Fixed crash when moving a tile-entity only contraption with shaders preset - Fixed drill not breaking blocks after being moved - Lowered max speed of Mechanical Bearing in generator mode - Redstone wire and diodes aswell as flower pots can now be moved - Fixed in-world neighbour checking of moved blocks that are not doors - Bumped version in mods.toml --- .../com/simibubi/create/config/CKinetics.java | 4 ++-- .../create/config/StressConfigDefaults.java | 18 +++++++----------- .../foundation/command/ToggleDebugCommand.java | 2 -- .../create/foundation/item/TooltipHelper.java | 5 ++++- .../foundation/utility/SuperByteBuffer.java | 2 ++ .../actors/BlockBreakingKineticTileEntity.java | 7 +++++++ .../contraptions/BlockMovementTraits.java | 15 +++++++++++++++ .../components/contraptions/Contraption.java | 4 +++- .../bearing/MechanicalBearingTileEntity.java | 2 +- src/main/resources/META-INF/mods.toml | 4 ++-- 10 files changed, 43 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/simibubi/create/config/CKinetics.java b/src/main/java/com/simibubi/create/config/CKinetics.java index da34eb94d..26b2e01cc 100644 --- a/src/main/java/com/simibubi/create/config/CKinetics.java +++ b/src/main/java/com/simibubi/create/config/CKinetics.java @@ -31,8 +31,8 @@ public class CKinetics extends ConfigBase { public ConfigFloat mediumSpeed = f(30, 0, 4096, "mediumSpeed", Comments.rpm, Comments.mediumSpeed); public ConfigFloat fastSpeed = f(100, 0, 65535, "fastSpeed", Comments.rpm, Comments.fastSpeed); public ConfigFloat mediumStressImpact = - f(8, 0, 4096, "mediumStressImpact", Comments.su, Comments.mediumStressImpact); - public ConfigFloat highStressImpact = f(32, 0, 65535, "highStressImpact", Comments.su, Comments.highStressImpact); + f(4, 0, 4096, "mediumStressImpact", Comments.su, Comments.mediumStressImpact); + public ConfigFloat highStressImpact = f(8, 0, 65535, "highStressImpact", Comments.su, Comments.highStressImpact); public ConfigFloat mediumCapacity = f(128, 0, 4096, "mediumCapacity", Comments.su, Comments.mediumCapacity); public ConfigFloat highCapacity = f(512, 0, 65535, "highCapacity", Comments.su, Comments.highCapacity); diff --git a/src/main/java/com/simibubi/create/config/StressConfigDefaults.java b/src/main/java/com/simibubi/create/config/StressConfigDefaults.java index cd7115832..83d90c3b0 100644 --- a/src/main/java/com/simibubi/create/config/StressConfigDefaults.java +++ b/src/main/java/com/simibubi/create/config/StressConfigDefaults.java @@ -12,12 +12,12 @@ public class StressConfigDefaults { case FURNACE_ENGINE: return 512; case MECHANICAL_BEARING: - return 128; + return 256; case ENCASED_FAN: case HAND_CRANK: - return 64; + return 16; case WATER_WHEEL: - return 32; + return 4; default: return -1; } @@ -28,29 +28,25 @@ public class StressConfigDefaults { switch (block) { case CRUSHING_WHEEL: case MECHANICAL_PRESS: - return 32; + return 8; case DRILL: case SAW: case DEPLOYER: - return 16; - case ENCASED_FAN: case MECHANICAL_MIXER: - case MECHANICAL_CRAFTER: - return 8; + return 4; + case MECHANICAL_CRAFTER: case TURNTABLE: case MECHANICAL_PISTON: case MECHANICAL_BEARING: case CLOCKWORK_BEARING: case ROPE_PULLEY: case STICKY_MECHANICAL_PISTON: - return 4; - - case BELT: return 2; + case BELT: case CUCKOO_CLOCK: return 1; diff --git a/src/main/java/com/simibubi/create/foundation/command/ToggleDebugCommand.java b/src/main/java/com/simibubi/create/foundation/command/ToggleDebugCommand.java index eb30e2494..b6003cae4 100644 --- a/src/main/java/com/simibubi/create/foundation/command/ToggleDebugCommand.java +++ b/src/main/java/com/simibubi/create/foundation/command/ToggleDebugCommand.java @@ -20,8 +20,6 @@ public class ToggleDebugCommand { .then(Commands.argument("value", BoolArgumentType.bool()) .executes(ctx -> { boolean value = BoolArgumentType.getBool(ctx, "value"); - System.out.println("Command toggleDebug " + value); - DistExecutor.runWhenOn(Dist.CLIENT, () -> () -> AllConfigs.CLIENT.rainbowDebug.set(value)); DistExecutor.runWhenOn(Dist.DEDICATED_SERVER, () -> () -> diff --git a/src/main/java/com/simibubi/create/foundation/item/TooltipHelper.java b/src/main/java/com/simibubi/create/foundation/item/TooltipHelper.java index 6f6ecb75a..f02e95f6f 100644 --- a/src/main/java/com/simibubi/create/foundation/item/TooltipHelper.java +++ b/src/main/java/com/simibubi/create/foundation/item/TooltipHelper.java @@ -17,6 +17,7 @@ import com.simibubi.create.modules.contraptions.components.flywheel.engine.Engin import com.simibubi.create.modules.curiosities.tools.AllToolTiers; import net.minecraft.client.Minecraft; +import net.minecraft.client.entity.player.ClientPlayerEntity; import net.minecraft.client.resources.I18n; import net.minecraft.inventory.EquipmentSlotType; import net.minecraft.item.BlockItem; @@ -86,8 +87,10 @@ public class TooltipHelper { public static boolean hasTooltip(ItemStack stack) { checkLocale(); + ClientPlayerEntity player = Minecraft.getInstance().player; boolean hasGlasses = - AllItems.GOGGLES.typeOf(Minecraft.getInstance().player.getItemStackFromSlot(EquipmentSlotType.HEAD)); + player != null && AllItems.GOGGLES.typeOf(player.getItemStackFromSlot(EquipmentSlotType.HEAD)); + if (hasGlasses != gogglesMode) { gogglesMode = hasGlasses; cachedTooltips.clear(); diff --git a/src/main/java/com/simibubi/create/foundation/utility/SuperByteBuffer.java b/src/main/java/com/simibubi/create/foundation/utility/SuperByteBuffer.java index e2538a7cb..e74dc2c64 100644 --- a/src/main/java/com/simibubi/create/foundation/utility/SuperByteBuffer.java +++ b/src/main/java/com/simibubi/create/foundation/utility/SuperByteBuffer.java @@ -100,6 +100,8 @@ public class SuperByteBuffer { } public void renderInto(BufferBuilder buffer) { + if (original.limit() == 0) + return; buffer.putBulkData(build()); } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/actors/BlockBreakingKineticTileEntity.java b/src/main/java/com/simibubi/create/modules/contraptions/components/actors/BlockBreakingKineticTileEntity.java index 39df9b104..2a899db2b 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/actors/BlockBreakingKineticTileEntity.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/actors/BlockBreakingKineticTileEntity.java @@ -39,6 +39,13 @@ public abstract class BlockBreakingKineticTileEntity extends KineticTileEntity { if (destroyProgress == -1) destroyNextTick(); } + + @Override + public void lazyTick() { + super.lazyTick(); + if (ticksUntilNextProgress == -1) + destroyNextTick(); + } public void destroyNextTick() { ticksUntilNextProgress = 1; diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/BlockMovementTraits.java b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/BlockMovementTraits.java index 5725b9369..75e51b50a 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/BlockMovementTraits.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/BlockMovementTraits.java @@ -11,9 +11,12 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; import net.minecraft.block.DoorBlock; +import net.minecraft.block.FlowerPotBlock; import net.minecraft.block.HorizontalFaceBlock; import net.minecraft.block.LadderBlock; +import net.minecraft.block.RedstoneDiodeBlock; import net.minecraft.block.RedstoneWallTorchBlock; +import net.minecraft.block.RedstoneWireBlock; import net.minecraft.block.TorchBlock; import net.minecraft.block.WallTorchBlock; import net.minecraft.block.material.PushReaction; @@ -61,6 +64,8 @@ public class BlockMovementTraits { return true; if (block instanceof TorchBlock) return true; + if (block instanceof FlowerPotBlock) + return true; if (block instanceof AbstractPressurePlateBlock) return true; if (block instanceof DoorBlock) @@ -69,6 +74,10 @@ public class BlockMovementTraits { return true; if (block instanceof AbstractRailBlock) return true; + if (block instanceof RedstoneDiodeBlock) + return true; + if (block instanceof RedstoneWireBlock) + return true; return false; } @@ -85,6 +94,12 @@ public class BlockMovementTraits { return direction == Direction.DOWN; if (block instanceof DoorBlock) return direction == Direction.DOWN; + if (block instanceof FlowerPotBlock) + return direction == Direction.DOWN; + if (block instanceof RedstoneDiodeBlock) + return direction == Direction.DOWN; + if (block instanceof RedstoneWireBlock) + return direction == Direction.DOWN; if (block instanceof RedstoneWallTorchBlock) return state.get(RedstoneWallTorchBlock.FACING) == direction.getOpposite(); if (block instanceof TorchBlock) diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/Contraption.java b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/Contraption.java index 1bb804b15..080ca1645 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/Contraption.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/Contraption.java @@ -395,7 +395,9 @@ public abstract class Contraption { if (customRemoval.test(add, block.state)) continue; world.getWorld().removeTileEntity(add); - int flags = 67 | 32 | 16; + int flags = 67; + if (world.getBlockState(add).getBlock() instanceof DoorBlock) + flags = flags | 32 | 16; world.setBlockState(add, Blocks.AIR.getDefaultState(), flags); } } diff --git a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/bearing/MechanicalBearingTileEntity.java b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/bearing/MechanicalBearingTileEntity.java index 9b49716b2..398437f39 100644 --- a/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/bearing/MechanicalBearingTileEntity.java +++ b/src/main/java/com/simibubi/create/modules/contraptions/components/contraptions/bearing/MechanicalBearingTileEntity.java @@ -92,7 +92,7 @@ public class MechanicalBearingTileEntity extends GeneratingKineticTileEntity imp if (movedContraption == null) return 0; int sails = ((BearingContraption) movedContraption.getContraption()).getSailBlocks() / 8; - return MathHelper.clamp(sails, 1, 64); + return MathHelper.clamp(sails, 1, 16); } @Override diff --git a/src/main/resources/META-INF/mods.toml b/src/main/resources/META-INF/mods.toml index 430a4e253..bd61ebbdd 100644 --- a/src/main/resources/META-INF/mods.toml +++ b/src/main/resources/META-INF/mods.toml @@ -4,12 +4,12 @@ loaderVersion="[28,)" [[mods]] modId="create" -version="0.1.1b" +version="0.2" displayName="Create" #updateJSONURL="" authors="simibubi" description=''' -A handful of additions to aid the creative survivalist.''' +Technology that empowers the player.''' [[dependencies.create]] modId="forge"