Skip to content

Commit 3059c70

Browse files
committed
Blocks cannot solidify on incomplete blocks.
1 parent c987c2f commit 3059c70

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/main/java/dev/tylerm/khs/game/util/Disguise.java

+10-4
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ public void update() {
117117
}
118118

119119
private void onSolidifyChanged(boolean solid) {
120-
if(solid){
120+
if (solid) {
121121
var tp = new EntityTeleportPacket();
122122
tp.setEntity(getPlayer());
123123
// seekers may see a "phantom" when hiders come back to their block.
@@ -129,7 +129,7 @@ private void onSolidifyChanged(boolean solid) {
129129
for (Player seeker : Main.getInstance().getBoard().getSeekers()) {
130130
tp.send(seeker);
131131
}
132-
}else{
132+
} else {
133133
var tp = new EntityTeleportPacket();
134134
tp.setEntity(getPlayer());
135135
var loc = getPlayer().getLocation();
@@ -184,8 +184,7 @@ private void toggleEntityVisibility(Entity entity, boolean show) {
184184
if (entity instanceof Player p) {
185185
receiver.showPlayer(Main.getInstance(), p);
186186
} else receiver.showEntity(Main.getInstance(), entity);
187-
} else
188-
if (entity instanceof Player p) {
187+
} else if (entity instanceof Player p) {
189188
receiver.hidePlayer(Main.getInstance(), p);
190189
} else receiver.hideEntity(Main.getInstance(), entity);
191190
//Main.getInstance().getEntityHider().hideEntity(receiver, entity);
@@ -228,6 +227,13 @@ private void solidifyUpdate(Location lastLocation, int time) {
228227
solidifying = false;
229228
return;
230229
}
230+
var pos = currentLocation.getBlock();
231+
if (!pos.getType().isAir()
232+
&& pos.getType() != Material.WATER
233+
&& (currentLocation.getY() - pos.getY() > 0)) {
234+
solidifying = false;
235+
return;
236+
}
231237
if (time == 0) {
232238
ActionBar.clearActionBar(hider);
233239
setSolidify(true);

0 commit comments

Comments
 (0)