mirror of
https://github.com/Creators-of-Create/Create.git
synced 2024-11-10 12:33:57 +01:00
Ground-breaking Excavation
- Update and scale icons - Fixed Display Boards updating instantly only at 256rpm Clockwise, not CCW - Fixed Pulley ropes able to break unbreakable blocks - Fixed encasing belts not playing a place sound
This commit is contained in:
parent
9f6307c355
commit
e40b844aa1
@ -23,7 +23,7 @@ use_parchment = true
|
||||
# dependency versions
|
||||
registrate_version = MC1.18.2-1.1.3
|
||||
flywheel_minecraft_version = 1.18.2
|
||||
flywheel_version = 0.6.10-105
|
||||
flywheel_version = 0.6.10-106
|
||||
jei_minecraft_version = 1.18.2
|
||||
jei_version = 9.7.2.277
|
||||
curios_minecraft_version = 1.18.2
|
||||
|
@ -18,6 +18,7 @@ import com.simibubi.create.foundation.advancement.AllAdvancements;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.CenteredSideValueBoxTransform;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.ValueBoxTransform;
|
||||
import com.simibubi.create.foundation.utility.Iterate;
|
||||
import com.simibubi.create.foundation.utility.NBTHelper;
|
||||
import com.simibubi.create.infrastructure.config.AllConfigs;
|
||||
|
||||
@ -194,6 +195,9 @@ public class PulleyBlockEntity extends LinearActuatorBlockEntity implements Thre
|
||||
if (offset > 0) {
|
||||
BlockPos magnetPos = worldPosition.below((int) offset);
|
||||
FluidState ifluidstate = level.getFluidState(magnetPos);
|
||||
if (level.getBlockState(magnetPos)
|
||||
.getDestroySpeed(level, magnetPos) != -1) {
|
||||
|
||||
level.destroyBlock(magnetPos, level.getBlockState(magnetPos)
|
||||
.getCollisionShape(level, magnetPos)
|
||||
.isEmpty());
|
||||
@ -202,21 +206,32 @@ public class PulleyBlockEntity extends LinearActuatorBlockEntity implements Thre
|
||||
Boolean.valueOf(ifluidstate.getType() == Fluids.WATER)),
|
||||
66);
|
||||
}
|
||||
}
|
||||
|
||||
boolean[] waterlog = new boolean[(int) offset];
|
||||
|
||||
for (boolean destroyPass : Iterate.trueAndFalse) {
|
||||
for (int i = 1; i <= ((int) offset) - 1; i++) {
|
||||
BlockPos ropePos = worldPosition.below(i);
|
||||
if (level.getBlockState(ropePos)
|
||||
.getDestroySpeed(level, ropePos) == -1)
|
||||
continue;
|
||||
|
||||
if (destroyPass) {
|
||||
FluidState ifluidstate = level.getFluidState(ropePos);
|
||||
waterlog[i] = ifluidstate.getType() == Fluids.WATER;
|
||||
level.destroyBlock(ropePos, level.getBlockState(ropePos)
|
||||
.getCollisionShape(level, ropePos)
|
||||
.isEmpty());
|
||||
continue;
|
||||
}
|
||||
for (int i = 1; i <= ((int) offset) - 1; i++)
|
||||
|
||||
level.setBlock(worldPosition.below(i), AllBlocks.ROPE.getDefaultState()
|
||||
.setValue(BlockStateProperties.WATERLOGGED, waterlog[i]), 66);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (movedContraption != null && mirrorParent == null)
|
||||
movedContraption.disassemble();
|
||||
|
@ -60,6 +60,7 @@ import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.block.RenderShape;
|
||||
import net.minecraft.world.level.block.Rotation;
|
||||
import net.minecraft.world.level.block.SoundType;
|
||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
@ -304,12 +305,24 @@ public class BeltBlock extends HorizontalKineticBlock
|
||||
if (AllBlocks.BRASS_CASING.isIn(heldItem)) {
|
||||
withBlockEntityDo(world, pos, be -> be.setCasingType(CasingType.BRASS));
|
||||
updateCoverProperty(world, pos, world.getBlockState(pos));
|
||||
|
||||
SoundType soundType = AllBlocks.BRASS_CASING.getDefaultState()
|
||||
.getSoundType(world, pos, player);
|
||||
world.playSound(null, pos, soundType.getPlaceSound(), SoundSource.BLOCKS,
|
||||
(soundType.getVolume() + 1.0F) / 2.0F, soundType.getPitch() * 0.8F);
|
||||
|
||||
return InteractionResult.SUCCESS;
|
||||
}
|
||||
|
||||
if (AllBlocks.ANDESITE_CASING.isIn(heldItem)) {
|
||||
withBlockEntityDo(world, pos, be -> be.setCasingType(CasingType.ANDESITE));
|
||||
updateCoverProperty(world, pos, world.getBlockState(pos));
|
||||
|
||||
SoundType soundType = AllBlocks.ANDESITE_CASING.getDefaultState()
|
||||
.getSoundType(world, pos, player);
|
||||
world.playSound(null, pos, soundType.getPlaceSound(), SoundSource.BLOCKS,
|
||||
(soundType.getVolume() + 1.0F) / 2.0F, soundType.getPitch() * 0.8F);
|
||||
|
||||
return InteractionResult.SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -111,7 +111,7 @@ public class FlapDisplayBlockEntity extends KineticBlockEntity {
|
||||
if ((!level.isClientSide || !isRunning) && !isVirtual())
|
||||
return;
|
||||
int activeFlaps = 0;
|
||||
boolean instant = getSpeed() > 128;
|
||||
boolean instant = Math.abs(getSpeed()) > 128;
|
||||
for (FlapDisplayLayout line : lines)
|
||||
for (FlapDisplaySection section : line.getSections())
|
||||
activeFlaps += section.tick(instant);
|
||||
|
@ -109,6 +109,8 @@ public class CreateMainMenuScreen extends AbstractSimiScreen {
|
||||
ms.popPose();
|
||||
}
|
||||
|
||||
RenderSystem.enableBlend();
|
||||
|
||||
ms.pushPose();
|
||||
ms.translate(width / 2 - 32, 32, -10);
|
||||
ms.pushPose();
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 73 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1.0 MiB After Width: | Height: | Size: 73 KiB |
Loading…
Reference in New Issue
Block a user