Browse Source

teleport items away from nether portals

Kajetan Johannes Hammerle 2 years ago
parent
commit
6e3d970a1d
1 changed files with 10 additions and 0 deletions
  1. 10 0
      src/main/java/me/km/snuviscript/ScriptEvents.java

+ 10 - 0
src/main/java/me/km/snuviscript/ScriptEvents.java

@@ -9,6 +9,7 @@ import me.kcm.BlockHarvest;
 import me.kcm.Craft;
 import me.kcm.ContainerClick;
 import me.km.utils.Utils;
+import me.km.Server;
 import me.km.entities.*;
 import me.km.events.CommandEvent;
 import me.km.inventory.ModInventory;
@@ -671,6 +672,15 @@ public class ScriptEvents implements BlockHarvest, Craft, ContainerClick {
     @SubscribeEvent(receiveCanceled = true)
     public void onEntityJoinWorld(EntityJoinWorldEvent e) {
         Entity ent = e.getEntity();
+        BlockPos pos = ent.getPosition();
+        Server.scheduler.scheduleTask(() -> {
+            if(ent.getEntityWorld().getBlockState(ent.getPosition())
+                    .getBlock() == Blocks.NETHER_PORTAL) {
+                ent.setLocationAndAngles(pos.getX(), pos.getY() + 10, pos.getZ(), ent.rotationYaw,
+                        ent.rotationPitch);
+                return;
+            }
+        });
         if(!ent.isPassenger() && !scripts.getEntityLimits().isAllowedToSpawn(ent.getType())
                 && !ent.getTags().contains("mod_spawned")) {
             ent.getPassengers().forEach(rider -> {