PressureTile.java 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package me.hammerle.supersnuvi.tiles;
  2. import me.hammerle.supersnuvi.entity.Entity;
  3. import me.hammerle.supersnuvi.util.Face;
  4. import me.hammerle.supersnuvi.gamelogic.Level;
  5. public class PressureTile extends BaseCollisionTile
  6. {
  7. public PressureTile(float tMinX, float tMinY, float tMaxX, float tMaxY)
  8. {
  9. super(tMinX, tMinY, tMaxX, tMaxY,
  10. Tile.SIZE * 0.09375f, Tile.SIZE * 0.90625f, Tile.SIZE * 0.90625f, Tile.SIZE);
  11. }
  12. @Override
  13. public float getWidth()
  14. {
  15. return Tile.SIZE * 0.8125f;
  16. }
  17. @Override
  18. public float getOffsetX()
  19. {
  20. return Tile.SIZE * 0.09375f;
  21. }
  22. @Override
  23. public float getHeight()
  24. {
  25. return Tile.SIZE * 0.09375f;
  26. }
  27. @Override
  28. public float getOffsetY()
  29. {
  30. return Tile.SIZE * 0.90625f;
  31. }
  32. @Override
  33. public boolean shouldAiUseCollisionBox(int x, int y, Level l)
  34. {
  35. return false;
  36. }
  37. @Override
  38. public void onEntityCollide(Entity ent, int x, int y, Face face, Level l)
  39. {
  40. if(face == Face.UP && ent.getItemCollector().isHero())
  41. {
  42. l.callEvent("auto_tile_interact", (sc) ->
  43. {
  44. sc.setVar("tile_x", (double) x);
  45. sc.setVar("tile_y", (double) y);
  46. sc.setVar("entity", ent);
  47. }, null);
  48. }
  49. }
  50. }