SlipperyTile.java 714 B

1234567891011121314151617181920212223242526
  1. package me.hammerle.supersnuvi.tiles;
  2. import me.hammerle.supersnuvi.entity.Entity;
  3. import me.hammerle.supersnuvi.gamelogic.Level;
  4. import me.hammerle.supersnuvi.util.Face;
  5. public class SlipperyTile extends BaseBoxTile
  6. {
  7. public SlipperyTile()
  8. {
  9. super(0.25f, 0.0f, 0.3125f, 0.0625f);
  10. }
  11. @Override
  12. public void onEntityCollide(Entity ent, int x, int y, Face face, Level l)
  13. {
  14. if(face == Face.UP)
  15. {
  16. if(ent.getPreMotionY() != Entity.GRAVITY && Math.abs(ent.getMotionX()) <= 0.07)
  17. {
  18. ent.setMotionX(ent.getFace() == Face.RIGHT ? 5.0f : -5.0f);
  19. }
  20. ent.getMovement().setFrictionFactor(0.85f);
  21. }
  22. }
  23. }