package core.spawns; import org.magnos.entity.Entity; import org.magnos.entity.EntityList; import org.magnos.entity.vals.IntVal; import com.maceswinger.Animation; import com.maceswinger.Components; import com.maceswinger.Rectangle; import com.maceswinger.Vector2; import com.maceswinger.client.render.AnimationRenderer; import com.maceswinger.client.render.lighting.Block; import com.maceswinger.map.MapObject; import core.Core; public class GoblinSpawn implements MapObject { @Override public Object spawn(EntityList list, int x, int y, String... params) { Entity goblin = new Entity(); goblin.add(Components.animation); goblin.add(Core.Components.collider); goblin.add(Components.position); goblin.add(Core.Components.velocity); goblin.add(Core.Components.jumpCooldown); goblin.add(Core.Controllers.gravity); goblin.add(Core.Controllers.goblinAi); goblin.add(Core.Controllers.velocity); goblin.set(Components.animation, new Animation(new Animation.Frame(params[0], 5))); goblin.set(Core.Components.collider, new Rectangle(x * 32 + 3, y * 32 + 1, 17, 48)); goblin.set(Components.position, new Vector2(x * 32, y * 32)); goblin.set(Core.Components.jumpCooldown, new IntVal(0)); goblin.setRenderer(new AnimationRenderer("mob")); list.add(goblin); return goblin; } public String toString() { return "Goblin"; } }