Skip to content

Commit 4bdc4c0

Browse files
committed
Fix shift placing spawner in unallowed region consume spawner items
1 parent d9ff240 commit 4bdc4c0

3 files changed

Lines changed: 8 additions & 6 deletions

File tree

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ allprojects {
99
apply plugin: 'maven-publish'
1010

1111
group = 'github.nighter'
12-
version = '1.4.0.2'
12+
version = '1.4.0.3'
1313

1414
repositories {
1515
mavenCentral()

core/src/main/java/github/nighter/smartspawner/hooks/protections/api/BentoBoxAPI.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import java.util.UUID;
1212

1313
public class BentoBoxAPI {
14-
1514
public static boolean canPlayerStackBlock(@NotNull Player player, @NotNull Location location) {
1615

1716
return BentoBox.getInstance().getIslandsManager().getIslandAt(location).

core/src/main/java/github/nighter/smartspawner/spawner/interactions/place/SpawnerPlaceListener.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import github.nighter.smartspawner.SmartSpawner;
44
import github.nighter.smartspawner.api.events.SpawnerPlaceEvent;
55
import github.nighter.smartspawner.extras.HopperHandler;
6+
import github.nighter.smartspawner.hooks.protections.CheckStackBlock;
67
import github.nighter.smartspawner.language.MessageService;
78
import github.nighter.smartspawner.nms.ParticleWrapper;
89
import github.nighter.smartspawner.spawner.limits.ChunkSpawnerLimiter;
@@ -78,12 +79,15 @@ public void onBlockPlace(BlockPlaceEvent event) {
7879
return;
7980
}
8081

81-
if (!(meta instanceof BlockStateMeta)) {
82+
if (!(meta instanceof BlockStateMeta blockMeta)) {
8283
event.setCancelled(true);
8384
return;
8485
}
8586

86-
BlockStateMeta blockMeta = (BlockStateMeta) meta;
87+
if (!CheckStackBlock.CanPlayerPlaceBlock(player, block.getLocation())) {
88+
event.setCancelled(true);
89+
return;
90+
}
8791

8892
boolean isVanillaSpawner = SpawnerTypeChecker.isVanillaSpawner(item);
8993

@@ -269,8 +273,7 @@ private void createSmartSpawner(Block block, Player player, EntityType entityTyp
269273
String spawnerId = UUID.randomUUID().toString().substring(0, 8);
270274

271275
BlockState state = block.getState();
272-
if (state instanceof CreatureSpawner) {
273-
CreatureSpawner spawner = (CreatureSpawner) state;
276+
if (state instanceof CreatureSpawner spawner) {
274277
spawner.setSpawnedType(entityType);
275278
spawner.update(true, false);
276279
}

0 commit comments

Comments
 (0)