tangled
alpha
login
or
join now
codexarchonic.nekoweb.org
/
ProjectInfinity
0
fork
atom
Inspired by 2020's April Fools' 20w14infinite Snapshot, this mod brings endless randomly generated dimensions into Minecraft.
0
fork
atom
overview
issues
6
pulls
pipelines
boopable wool
authored by
Lera
and committed by
cassian.cc
1 year ago
49f5e59b
aedf50d4
+10
-4
3 changed files
expand all
collapse all
unified
split
common
src
main
java
net
lerariemann
infinity
block
custom
Boopable.java
ChromaticBlock.java
entity
ChromaticBlockEntity.java
+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
7
+
import net.minecraft.util.math.BlockPos;
8
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
17
+
}
18
18
+
static void boop(World w, BlockPos pos) {
19
19
+
BlockState bs = w.getBlockState(pos);
20
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
22
-
public class ChromaticBlock extends BlockWithEntity {
22
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
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
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
134
-
BlockState bs = world.getBlockState(pos);
135
135
-
bs.updateNeighbors(world, pos, 3);
136
136
-
world.updateListeners(pos, bs, bs, 0);
135
135
+
Boopable.boop(world, pos);
137
136
}
138
137
}
139
138