Browse Source

snuvi changes

Kajetan Johannes Hammerle 2 years ago
parent
commit
88a6f32757

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

@@ -59,9 +59,6 @@ public class ScriptEvents implements BlockHarvest, Craft {
 
     private static void setPlayer(Script sc, PlayerEntity p) {
         sc.setVar("player", p);
-
-        // deprecated
-        sc.setVar("player_name", p == null ? null : p.getName().getString());
     }
 
     @SuppressWarnings("")

+ 26 - 5
src/main/java/me/km/snuviscript/commands/EntityCommands.java

@@ -10,6 +10,7 @@ import net.minecraft.entity.*;
 import net.minecraft.entity.ai.attributes.Attributes;
 import net.minecraft.entity.item.*;
 import net.minecraft.entity.monster.CreeperEntity;
+import net.minecraft.entity.passive.horse.AbstractHorseEntity;
 import net.minecraft.entity.passive.SheepEntity;
 import net.minecraft.entity.passive.TameableEntity;
 import net.minecraft.entity.player.PlayerEntity;
@@ -230,16 +231,36 @@ public class EntityCommands {
                 (sc, in) -> ((SheepEntity) in[0].get(sc)).getFleeceColor().toString());
         sm.registerConsumer("creeper.explode",
                 (sc, in) -> ((CreeperEntity) in[0].get(sc)).ignite());
-        sm.registerFunction("pet.istamed", (sc, in) -> ((TameableEntity) in[0].get(sc)).isTamed());
+        sm.registerFunction("pet.istamed", (sc, in) -> {
+            Object o = in[0].get(sc);
+            if(o instanceof AbstractHorseEntity) {
+                return ((AbstractHorseEntity) o).isTame();
+            }
+            return ((TameableEntity) o).isTamed();
+        });
         sm.registerConsumer("pet.settamed", (sc, in) -> {
-            TameableEntity t = (TameableEntity) in[0].get(sc);
+            Object o = in[0].get(sc);
             boolean b = in[1].getBoolean(sc);
-            if(b) {
+            if(o instanceof AbstractHorseEntity) {
+                AbstractHorseEntity h = (AbstractHorseEntity) o;
+                if(in.length >= 3) {
+                    h.setTamedBy((PlayerEntity) in[2].get(sc));
+                }
+                h.setHorseTamed(b);
+                return;
+            }
+            TameableEntity t = (TameableEntity) o;
+            if(in.length >= 3) {
                 t.setTamedBy((PlayerEntity) in[2].get(sc));
             }
             t.setTamed(b);
         });
-        sm.registerFunction("pet.getowner",
-                (sc, in) -> ((TameableEntity) in[0].get(sc)).getOwner());
+        sm.registerFunction("pet.getowner", (sc, in) -> {
+            Object o = in[0].get(sc);
+            if(o instanceof AbstractHorseEntity) {
+                return ((AbstractHorseEntity) o).getOwnerUniqueId();
+            }
+            return ((TameableEntity) in[0].get(sc)).getOwnerId();
+        });
     }
 }

+ 0 - 4
src/main/java/me/km/snuviscript/commands/PlayerCommands.java

@@ -88,10 +88,6 @@ public class PlayerCommands {
                 // Minecraft needs this for canceling and queueing into main thread
             }
         });
-        sm.registerConsumer("player.speak", (sc, in) -> {
-            sendMessageToGroup(server, scripts, perms, in[0].get(sc), sc,
-                    concat(sc, 2, "[" + in[1].getString(sc) + "§r] ", in));
-        });
         sm.registerConsumer("player.setcompass", (sc, in) -> {
             ((ServerPlayerEntity) in[0].get(sc)).connection.sendPacket(
                     new SWorldSpawnChangedPacket(((Location) in[1].get(sc)).getBlockPos(),