InteractTile.java 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package me.hammerle.supersnuvi.tiles;
  2. import me.hammerle.supersnuvi.Keys;
  3. import me.hammerle.supersnuvi.entity.Entity;
  4. import me.hammerle.supersnuvi.gamelogic.ILevel;
  5. import me.hammerle.supersnuvi.util.CollisionObject;
  6. import me.hammerle.supersnuvi.util.Face;
  7. public class InteractTile extends BaseTile
  8. {
  9. public InteractTile(float tMinX, float tMinY, float tMaxX, float tMaxY)
  10. {
  11. super(tMinX, tMinY, tMaxX, tMaxY);
  12. super.setCollisionBox(CollisionObject.DEFAULT_TILE_BOX);
  13. super.setMovementBox(CollisionObject.NULL_BOX);
  14. }
  15. @Override
  16. public boolean shouldAiUseCollisionBox(int x, int y, ILevel l)
  17. {
  18. return false;
  19. }
  20. @Override
  21. public void onEntityCollide(Entity ent, int x, int y, Face face, ILevel l)
  22. {
  23. if(ent.getItemCollector().isHero() && Keys.UP.getTime() == 1 && face == Face.DOWN)
  24. {
  25. l.callEvent("tile_interact", (sc) ->
  26. {
  27. sc.setVar("tile_x", (double) x);
  28. sc.setVar("tile_y", (double) y);
  29. sc.setVar("entity", ent);
  30. }, null);
  31. }
  32. }
  33. }