diff --git a/Dungeoneer/assets/data/entities.dat b/Dungeoneer/assets/data/entities.dat index c442d7f0..1e435de6 100644 --- a/Dungeoneer/assets/data/entities.dat +++ b/Dungeoneer/assets/data/entities.dat @@ -142,6 +142,17 @@ }, "Achievement": { class: com.interrupt.dungeoneer.entities.triggers.TriggeredAchievement, floating: true } }, + "Spawners": { + "Item Spawner": { + class: com.interrupt.dungeoneer.entities.ItemSpawner + }, + "Monster Spawner": { + class: com.interrupt.dungeoneer.entities.MonsterSpawner + }, + "Entity Spawner": { + class: com.interrupt.dungeoneer.entities.EntitySpawner + } + }, "Movers": { "Basic": { class: com.interrupt.dungeoneer.entities.Mover, isSolid: true, collision: {x: 0.5,y: 0.5,z: 0.1} }, "Trap": { diff --git a/Dungeoneer/src/com/interrupt/dungeoneer/entities/MonsterSpawner.java b/Dungeoneer/src/com/interrupt/dungeoneer/entities/MonsterSpawner.java index 2e6aab62..0948d00f 100644 --- a/Dungeoneer/src/com/interrupt/dungeoneer/entities/MonsterSpawner.java +++ b/Dungeoneer/src/com/interrupt/dungeoneer/entities/MonsterSpawner.java @@ -89,8 +89,8 @@ public void placeMonster(Monster m, Level level) { } } - boolean levelFree = level.isFree(m.x - 0.5f, m.y - 0.5f, m.z, m.collision, m.stepHeight, m.floating, null); - boolean entityFree = level.checkEntityCollision(m.x - 0.5f, m.y - 0.5f, m.z, m.collision, m) == null; + boolean levelFree = level.isFree(m.x, m.y, m.z, m.collision, m.stepHeight, m.floating, null); + boolean entityFree = level.checkEntityCollision(m.x, m.y, m.z, m.collision, m) == null; didPlace = levelFree && entityFree; }