Inspired by 2020's April Fools' 20w14infinite Snapshot, this mod brings endless randomly generated dimensions into Minecraft.
1package net.lerariemann.infinity.block.custom;
2
3import net.minecraft.core.BlockPos;
4import net.minecraft.world.level.Level;
5import net.minecraft.world.level.block.Block;
6import net.minecraft.world.level.block.state.BlockState;
7import net.minecraft.world.level.block.state.StateDefinition;
8import net.minecraft.world.level.block.state.properties.BooleanProperty;
9
10public interface Boopable {
11 BooleanProperty BOOP = BooleanProperty.create("boop");
12 static boolean getBoop(BlockState state) {
13 return state.hasProperty(BOOP) ? state.getValue(BOOP) : false;
14 }
15 default void appendBoop(StateDefinition.Builder<Block, BlockState> builder) {
16 builder.add(BOOP);
17 }
18 static void boop(Level w, BlockPos pos) {
19 BlockState bs = w.getBlockState(pos);
20 if (bs.hasProperty(BOOP)) w.setBlockAndUpdate(pos, bs.setValue(BOOP, !bs.getValue(BOOP)));
21 }
22}