Inspired by 2020's April Fools' 20w14infinite Snapshot, this mod brings endless randomly generated dimensions into Minecraft.

boopable wool

authored by

Lera and committed by cassian.cc 49f5e59b aedf50d4

+10 -4
+6
common/src/main/java/net/lerariemann/infinity/block/custom/Boopable.java
··· 4 4 import net.minecraft.block.BlockState; 5 5 import net.minecraft.state.StateManager; 6 6 import net.minecraft.state.property.BooleanProperty; 7 + import net.minecraft.util.math.BlockPos; 8 + import net.minecraft.world.World; 7 9 8 10 public interface Boopable { 9 11 BooleanProperty BOOP = BooleanProperty.of("boop"); ··· 12 14 } 13 15 default void appendBoop(StateManager.Builder<Block, BlockState> builder) { 14 16 builder.add(BOOP); 17 + } 18 + static void boop(World w, BlockPos pos) { 19 + BlockState bs = w.getBlockState(pos); 20 + if (bs.contains(BOOP)) w.setBlockState(pos, bs.with(BOOP, !bs.get(BOOP))); 15 21 } 16 22 }
+2 -1
common/src/main/java/net/lerariemann/infinity/block/custom/ChromaticBlock.java
··· 19 19 import net.minecraft.world.WorldView; 20 20 import org.jetbrains.annotations.Nullable; 21 21 22 - public class ChromaticBlock extends BlockWithEntity { 22 + public class ChromaticBlock extends BlockWithEntity implements Boopable { 23 23 24 24 public ChromaticBlock(Settings settings) { 25 25 super(settings); ··· 27 27 @Override 28 28 protected void appendProperties(StateManager.Builder<Block, BlockState> builder) { 29 29 super.appendProperties(builder); 30 + appendBoop(builder); 30 31 } 31 32 32 33 @Override
+2 -3
common/src/main/java/net/lerariemann/infinity/block/entity/ChromaticBlockEntity.java
··· 1 1 package net.lerariemann.infinity.block.entity; 2 2 3 + import net.lerariemann.infinity.block.custom.Boopable; 3 4 import net.lerariemann.infinity.registry.core.ModBlockEntities; 4 5 import net.lerariemann.infinity.registry.core.ModComponentTypes; 5 6 import net.lerariemann.infinity.registry.core.ModItems; ··· 131 132 void sync() { 132 133 markDirty(); 133 134 if (world != null) { 134 - BlockState bs = world.getBlockState(pos); 135 - bs.updateNeighbors(world, pos, 3); 136 - world.updateListeners(pos, bs, bs, 0); 135 + Boopable.boop(world, pos); 137 136 } 138 137 } 139 138