diff --git a/src/main/java/net/neoforged/neoforge/event/entity/RegisterSpawnPlacementsEvent.java b/src/main/java/net/neoforged/neoforge/event/entity/RegisterSpawnPlacementsEvent.java index 461f7af2e18..a9b3bf79ec0 100644 --- a/src/main/java/net/neoforged/neoforge/event/entity/RegisterSpawnPlacementsEvent.java +++ b/src/main/java/net/neoforged/neoforge/event/entity/RegisterSpawnPlacementsEvent.java @@ -70,14 +70,6 @@ public void register(EntityType entityType, SpawnPlacement */ @SuppressWarnings("unchecked") public void register(EntityType entityType, @Nullable SpawnPlacementType placementType, @Nullable Heightmap.Types heightmap, SpawnPlacements.SpawnPredicate predicate, Operation operation) { - // Kilt: patch by @ItsBlackGear to fix Vanilla Backport (Fabric) + NML + Kilt, may be upstreamed. - if (this.map.containsKey(entityType) && operation != Operation.REPLACE) { - if (placementType != null || heightmap != null) { - ((MergedSpawnPredicate) this.map.get(entityType)).merge(operation, predicate, null, null); - return; - } - } - if (!map.containsKey(entityType)) { if (placementType == null) { throw new NullPointerException("Registering a new Spawn Predicate requires a nonnull placement type! Entity Type: " + BuiltInRegistries.ENTITY_TYPE.getKey(entityType)); @@ -87,9 +79,12 @@ public void register(EntityType entityType, @Nullable Spaw } map.put(entityType, new MergedSpawnPredicate<>(predicate, placementType, heightmap)); } else { + // Kilt: commented out as it's both punishing and redundant, merge already handles the operations without need of throwing + /* if (operation != Operation.REPLACE && (heightmap != null || placementType != null)) { throw new IllegalStateException("Nonnull heightmap types or spawn placement types may only be used with the REPLACE operation. Entity Type: " + BuiltInRegistries.ENTITY_TYPE.getKey(entityType)); } + */ ((MergedSpawnPredicate) map.get(entityType)).merge(operation, predicate, placementType, heightmap); } }