diff --git a/.classpath b/.classpath
index 1483c3b..511fe64 100644
--- a/.classpath
+++ b/.classpath
@@ -27,5 +27,6 @@
+
diff --git a/.gitignore b/.gitignore
index d8fa897..4260de3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,4 +3,4 @@
/.externalToolBuilders
/.settings
/archive
-/target
+/target/
diff --git a/.project b/.project
index 64ffda4..baa591d 100644
--- a/.project
+++ b/.project
@@ -1,6 +1,6 @@
- Controllable Mobs API
+ Controllable-Mobs-API
libraries
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..8250417
--- /dev/null
+++ b/README.md
@@ -0,0 +1,16 @@
+# Controllable-Mobs-API
+API to control Minecraft entities
+
+Fork of DevCybran's http://dev.bukkit.org/bukkit-plugins/controllable-mobs-api/
+
+Updated and working with Bukkit 1.7.10 (It's not compatible with older versions though), it should be totally safe to update from older versions (the api has not been changed)
+
+### Download
+* https://github.com/RaynLegends/Controllable-Mobs-API/raw/master/target/Controllable-Mobs-API-1.7.10-R4.jar
+
+### Older versions
+
+* 1.7.9 -> http://dev.bukkit.org/bukkit-plugins/controllable-mobs-api/files/20-controllable-mobs-api-v1-7-9/
+* 1.7.2 -> http://dev.bukkit.org/bukkit-plugins/controllable-mobs-api/files/19-controllable-mobs-api-v1-7-2-6-alpha2/
+* 1.6.4 -> http://dev.bukkit.org/bukkit-plugins/controllable-mobs-api/files/17-controllable-mobs-api-v5/
+* 1.6.2 -> http://dev.bukkit.org/bukkit-plugins/controllable-mobs-api/files/16-controllable-mobs-api-v4/
diff --git a/pom.xml b/pom.xml
index 27ca29b..fc0bfdf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,134 +1,43 @@
+
4.0.0
+
de.ntcomputer
controllable-mobs-api
- 1.7.2.6-snapshot
- Controllable Mobs API
- http://dev.bukkit.org/bukkit-plugins/controllable-mobs-api/
+ 0.0.1-SNAPSHOT
+ jar
- 1.6
- 1.6
UTF-8
- 1.7.2
- 1_7_R1
- github
-
-
- repobo-snap
- http://repo.bukkit.org/content/groups/public
-
-
-
-
-
- org.bukkit
- craftbukkit
- 1.7.2-R0.2
- provided
-
-
-
+ clean install
- src/main/resources
+ .
true
+ ${basedir}/src/main/resources
+
+ *.yml
+
-
-
org.apache.maven.plugins
- maven-jar-plugin
+ maven-shade-plugin
2.1
-
-
-
- Controllable-Mobs-API
- ${project.version}
- DevCybran
- false
-
-
-
-
-
-
- com.github.github
- site-maven-plugin
- 0.8
-
- Maven artifacts for ${project.version}
- true
- ${project.build.directory}/mvn-repo
- refs/heads/mvn-repo
-
- **/*
-
- Controllable-Mobs-API
- DevCybran
-
+ package
- site
+ shade
- deploy
-
-
- maven-deploy-plugin
- 2.7
-
- internal.repo::default::file://${project.build.directory}/mvn-repo
-
-
-
-
- maven-compiler-plugin
- 3.0
-
- 1.6
- 1.6
-
-
-
-
- org.apache.maven.plugins
- maven-javadoc-plugin
- 2.9.1
-
- de.ntcomputer.minecraft.controllablemobs.implementation;de.ntcomputer.minecraft.controllablemobs.plugin
-
- http://jd.bukkit.org/apidocs/
-
-
-
-
- attach-javadocs
-
- jar
-
-
-
-
-
-
-
-
- internal.repo
- Temporary Staging Repository
- file://${project.build.directory}/mvn-repo
-
-
-
\ No newline at end of file
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ControllableMobs.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ControllableMobs.java
index d55f8b7..56e2a14 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ControllableMobs.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ControllableMobs.java
@@ -4,16 +4,13 @@
import java.util.Map;
import java.util.logging.Logger;
-import net.minecraft.server.v1_7_R1.EntityInsentient;
-import net.minecraft.server.v1_7_R1.EntityLiving;
+import net.minecraft.server.v1_8_R3.EntityInsentient;
+import net.minecraft.server.v1_8_R3.EntityLiving;
-import org.bukkit.craftbukkit.v1_7_R1.entity.CraftLivingEntity;
+import org.bukkit.craftbukkit.v1_8_R3.entity.CraftLivingEntity;
import org.bukkit.entity.LivingEntity;
-import org.bukkit.plugin.Plugin;
-import org.bukkit.plugin.java.PluginClassLoader;
import de.ntcomputer.minecraft.controllablemobs.implementation.CraftControllableMob;
-import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.NativeInterfaces;
/**
* This is a static class which lets you retrieve instances of {@link ControllableMob}.
@@ -30,20 +27,6 @@ public final class ControllableMobs {
}
private static void onLoad() {
- try {
- PluginClassLoader cl = (PluginClassLoader) ControllableMobs.class.getClassLoader();
- Plugin[] plugins = NativeInterfaces.JAVAPLUGINLOADER.FIELD_SERVER.get(NativeInterfaces.PLUGINCLASSLOADER.FIELD_LOADER.get(cl)).getPluginManager().getPlugins();
- for(Plugin plugin: plugins) {
- if(plugin.getClass().getClassLoader()==cl) {
- if(plugin.getName().equals("ControllableMobsAPI")) {
- plugin.getLogger().info("initialized API plugin");
- } else {
- plugin.getLogger().info("initialized Controllable Mobs API library");
- }
- return;
- }
- }
- } catch(Throwable t) {}
Logger.getLogger("Minecraft").info("[ControllableMobsAPI] initialized by an unknown component");
}
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/AIType.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/AIType.java
index e33d9d3..9993405 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/AIType.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/AIType.java
@@ -3,50 +3,50 @@
import java.util.HashMap;
import java.util.Map;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
-import net.minecraft.server.v1_7_R1.PathfinderGoalArrowAttack;
-import net.minecraft.server.v1_7_R1.PathfinderGoalAvoidPlayer;
-import net.minecraft.server.v1_7_R1.PathfinderGoalBeg;
-import net.minecraft.server.v1_7_R1.PathfinderGoalBreakDoor;
-import net.minecraft.server.v1_7_R1.PathfinderGoalBreed;
-import net.minecraft.server.v1_7_R1.PathfinderGoalDefendVillage;
-import net.minecraft.server.v1_7_R1.PathfinderGoalEatTile;
-import net.minecraft.server.v1_7_R1.PathfinderGoalFleeSun;
-import net.minecraft.server.v1_7_R1.PathfinderGoalFloat;
-import net.minecraft.server.v1_7_R1.PathfinderGoalFollowOwner;
-import net.minecraft.server.v1_7_R1.PathfinderGoalFollowParent;
-import net.minecraft.server.v1_7_R1.PathfinderGoalHurtByTarget;
-import net.minecraft.server.v1_7_R1.PathfinderGoalInteract;
-import net.minecraft.server.v1_7_R1.PathfinderGoalJumpOnBlock;
-import net.minecraft.server.v1_7_R1.PathfinderGoalLeapAtTarget;
-import net.minecraft.server.v1_7_R1.PathfinderGoalLookAtPlayer;
-import net.minecraft.server.v1_7_R1.PathfinderGoalLookAtTradingPlayer;
-import net.minecraft.server.v1_7_R1.PathfinderGoalMakeLove;
-import net.minecraft.server.v1_7_R1.PathfinderGoalMeleeAttack;
-import net.minecraft.server.v1_7_R1.PathfinderGoalMoveIndoors;
-import net.minecraft.server.v1_7_R1.PathfinderGoalMoveThroughVillage;
-import net.minecraft.server.v1_7_R1.PathfinderGoalMoveTowardsRestriction;
-import net.minecraft.server.v1_7_R1.PathfinderGoalMoveTowardsTarget;
-import net.minecraft.server.v1_7_R1.PathfinderGoalNearestAttackableTarget;
-import net.minecraft.server.v1_7_R1.PathfinderGoalOcelotAttack;
-import net.minecraft.server.v1_7_R1.PathfinderGoalOfferFlower;
-import net.minecraft.server.v1_7_R1.PathfinderGoalOpenDoor;
-import net.minecraft.server.v1_7_R1.PathfinderGoalOwnerHurtByTarget;
-import net.minecraft.server.v1_7_R1.PathfinderGoalOwnerHurtTarget;
-import net.minecraft.server.v1_7_R1.PathfinderGoalPanic;
-import net.minecraft.server.v1_7_R1.PathfinderGoalPassengerCarrotStick;
-import net.minecraft.server.v1_7_R1.PathfinderGoalPlay;
-import net.minecraft.server.v1_7_R1.PathfinderGoalRandomLookaround;
-import net.minecraft.server.v1_7_R1.PathfinderGoalRandomStroll;
-import net.minecraft.server.v1_7_R1.PathfinderGoalRandomTargetNonTamed;
-import net.minecraft.server.v1_7_R1.PathfinderGoalRestrictOpenDoor;
-import net.minecraft.server.v1_7_R1.PathfinderGoalRestrictSun;
-import net.minecraft.server.v1_7_R1.PathfinderGoalSit;
-import net.minecraft.server.v1_7_R1.PathfinderGoalSwell;
-import net.minecraft.server.v1_7_R1.PathfinderGoalTakeFlower;
-import net.minecraft.server.v1_7_R1.PathfinderGoalTame;
-import net.minecraft.server.v1_7_R1.PathfinderGoalTempt;
-import net.minecraft.server.v1_7_R1.PathfinderGoalTradeWithPlayer;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.PathfinderGoalArrowAttack;
+import net.minecraft.server.v1_8_R3.PathfinderGoalAvoidTarget;
+import net.minecraft.server.v1_8_R3.PathfinderGoalBeg;
+import net.minecraft.server.v1_8_R3.PathfinderGoalBreakDoor;
+import net.minecraft.server.v1_8_R3.PathfinderGoalBreed;
+import net.minecraft.server.v1_8_R3.PathfinderGoalDefendVillage;
+import net.minecraft.server.v1_8_R3.PathfinderGoalEatTile;
+import net.minecraft.server.v1_8_R3.PathfinderGoalFleeSun;
+import net.minecraft.server.v1_8_R3.PathfinderGoalFloat;
+import net.minecraft.server.v1_8_R3.PathfinderGoalFollowOwner;
+import net.minecraft.server.v1_8_R3.PathfinderGoalFollowParent;
+import net.minecraft.server.v1_8_R3.PathfinderGoalHurtByTarget;
+import net.minecraft.server.v1_8_R3.PathfinderGoalInteract;
+import net.minecraft.server.v1_8_R3.PathfinderGoalJumpOnBlock;
+import net.minecraft.server.v1_8_R3.PathfinderGoalLeapAtTarget;
+import net.minecraft.server.v1_8_R3.PathfinderGoalLookAtPlayer;
+import net.minecraft.server.v1_8_R3.PathfinderGoalLookAtTradingPlayer;
+import net.minecraft.server.v1_8_R3.PathfinderGoalMakeLove;
+import net.minecraft.server.v1_8_R3.PathfinderGoalMeleeAttack;
+import net.minecraft.server.v1_8_R3.PathfinderGoalMoveIndoors;
+import net.minecraft.server.v1_8_R3.PathfinderGoalMoveThroughVillage;
+import net.minecraft.server.v1_8_R3.PathfinderGoalMoveTowardsRestriction;
+import net.minecraft.server.v1_8_R3.PathfinderGoalMoveTowardsTarget;
+import net.minecraft.server.v1_8_R3.PathfinderGoalNearestAttackableTarget;
+import net.minecraft.server.v1_8_R3.PathfinderGoalOcelotAttack;
+import net.minecraft.server.v1_8_R3.PathfinderGoalOfferFlower;
+import net.minecraft.server.v1_8_R3.PathfinderGoalOpenDoor;
+import net.minecraft.server.v1_8_R3.PathfinderGoalOwnerHurtByTarget;
+import net.minecraft.server.v1_8_R3.PathfinderGoalOwnerHurtTarget;
+import net.minecraft.server.v1_8_R3.PathfinderGoalPanic;
+import net.minecraft.server.v1_8_R3.PathfinderGoalPassengerCarrotStick;
+import net.minecraft.server.v1_8_R3.PathfinderGoalPlay;
+import net.minecraft.server.v1_8_R3.PathfinderGoalRandomLookaround;
+import net.minecraft.server.v1_8_R3.PathfinderGoalRandomStroll;
+import net.minecraft.server.v1_8_R3.PathfinderGoalRandomTargetNonTamed;
+import net.minecraft.server.v1_8_R3.PathfinderGoalRestrictOpenDoor;
+import net.minecraft.server.v1_8_R3.PathfinderGoalRestrictSun;
+import net.minecraft.server.v1_8_R3.PathfinderGoalSit;
+import net.minecraft.server.v1_8_R3.PathfinderGoalSwell;
+import net.minecraft.server.v1_8_R3.PathfinderGoalTakeFlower;
+import net.minecraft.server.v1_8_R3.PathfinderGoalTame;
+import net.minecraft.server.v1_8_R3.PathfinderGoalTempt;
+import net.minecraft.server.v1_8_R3.PathfinderGoalTradeWithPlayer;
/**
* An enum that lists all AI components built into the minecraft server core.
@@ -59,7 +59,7 @@
*/
public enum AIType {
ATTACK_RANGED(PathfinderGoalArrowAttack.class),
- MOVE_AVOIDPLAYER(PathfinderGoalAvoidPlayer.class),
+ MOVE_AVOIDPLAYER(PathfinderGoalAvoidTarget.class),
ACTION_BEG(PathfinderGoalBeg.class),
ACTION_DOORBREAK(PathfinderGoalBreakDoor.class),
ACTION_BREED(PathfinderGoalBreed.class),
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIAttackMelee.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIAttackMelee.java
index e3834e6..9c1366e 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIAttackMelee.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIAttackMelee.java
@@ -1,8 +1,8 @@
package de.ntcomputer.minecraft.controllablemobs.api.ai.behaviors;
-import net.minecraft.server.v1_7_R1.EntityCreature;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
-import net.minecraft.server.v1_7_R1.PathfinderGoalMeleeAttack;
+import net.minecraft.server.v1_8_R3.EntityCreature;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.PathfinderGoalMeleeAttack;
import org.bukkit.entity.Creature;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIAttackRanged.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIAttackRanged.java
index 89e7e22..84e25c0 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIAttackRanged.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIAttackRanged.java
@@ -1,8 +1,8 @@
package de.ntcomputer.minecraft.controllablemobs.api.ai.behaviors;
-import net.minecraft.server.v1_7_R1.IRangedEntity;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
-import net.minecraft.server.v1_7_R1.PathfinderGoalArrowAttack;
+import net.minecraft.server.v1_8_R3.IRangedEntity;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.PathfinderGoalArrowAttack;
import org.bukkit.entity.Creature;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIBehavior.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIBehavior.java
index 09a3f3f..cc80f59 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIBehavior.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIBehavior.java
@@ -1,6 +1,6 @@
package de.ntcomputer.minecraft.controllablemobs.api.ai.behaviors;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
import org.bukkit.entity.LivingEntity;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIDoorBreak.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIDoorBreak.java
index eb3560c..f43ff41 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIDoorBreak.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIDoorBreak.java
@@ -1,7 +1,7 @@
package de.ntcomputer.minecraft.controllablemobs.api.ai.behaviors;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
-import net.minecraft.server.v1_7_R1.PathfinderGoalBreakDoor;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.PathfinderGoalBreakDoor;
import org.bukkit.entity.LivingEntity;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIDoorOpen.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIDoorOpen.java
index 58d0e71..22b01b1 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIDoorOpen.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIDoorOpen.java
@@ -1,7 +1,7 @@
package de.ntcomputer.minecraft.controllablemobs.api.ai.behaviors;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
-import net.minecraft.server.v1_7_R1.PathfinderGoalOpenDoor;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.PathfinderGoalOpenDoor;
import org.bukkit.entity.LivingEntity;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIFleeSun.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIFleeSun.java
index e3e26ae..d3d40bb 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIFleeSun.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIFleeSun.java
@@ -2,9 +2,9 @@
import org.bukkit.entity.Creature;
-import net.minecraft.server.v1_7_R1.EntityCreature;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
-import net.minecraft.server.v1_7_R1.PathfinderGoalFleeSun;
+import net.minecraft.server.v1_8_R3.EntityCreature;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.PathfinderGoalFleeSun;
import de.ntcomputer.minecraft.controllablemobs.api.ai.AIType;
import de.ntcomputer.minecraft.controllablemobs.implementation.CraftControllableMob;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AILookAtEntity.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AILookAtEntity.java
index 448badb..eb702f1 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AILookAtEntity.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AILookAtEntity.java
@@ -1,9 +1,9 @@
package de.ntcomputer.minecraft.controllablemobs.api.ai.behaviors;
-import net.minecraft.server.v1_7_R1.Entity;
-import net.minecraft.server.v1_7_R1.EntityHuman;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
-import net.minecraft.server.v1_7_R1.PathfinderGoalLookAtPlayer;
+import net.minecraft.server.v1_8_R3.Entity;
+import net.minecraft.server.v1_8_R3.EntityHuman;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.PathfinderGoalLookAtPlayer;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.LivingEntity;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIPlayerTrade.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIPlayerTrade.java
index 617f02d..6880fff 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIPlayerTrade.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIPlayerTrade.java
@@ -1,8 +1,8 @@
package de.ntcomputer.minecraft.controllablemobs.api.ai.behaviors;
-import net.minecraft.server.v1_7_R1.EntityVillager;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
-import net.minecraft.server.v1_7_R1.PathfinderGoalTradeWithPlayer;
+import net.minecraft.server.v1_8_R3.EntityVillager;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.PathfinderGoalTradeWithPlayer;
import org.bukkit.entity.Villager;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIPlayerTradingLook.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIPlayerTradingLook.java
index e2e569b..ed0815d 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIPlayerTradingLook.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIPlayerTradingLook.java
@@ -1,8 +1,8 @@
package de.ntcomputer.minecraft.controllablemobs.api.ai.behaviors;
-import net.minecraft.server.v1_7_R1.EntityVillager;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
-import net.minecraft.server.v1_7_R1.PathfinderGoalLookAtTradingPlayer;
+import net.minecraft.server.v1_8_R3.EntityVillager;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.PathfinderGoalLookAtTradingPlayer;
import org.bukkit.entity.Villager;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIRandomLookaround.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIRandomLookaround.java
index 4da5624..f378b6d 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIRandomLookaround.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIRandomLookaround.java
@@ -2,8 +2,8 @@
import org.bukkit.entity.LivingEntity;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
-import net.minecraft.server.v1_7_R1.PathfinderGoalRandomLookaround;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.PathfinderGoalRandomLookaround;
import de.ntcomputer.minecraft.controllablemobs.api.ai.AIType;
import de.ntcomputer.minecraft.controllablemobs.implementation.CraftControllableMob;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIRandomStroll.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIRandomStroll.java
index 9574af2..00addb9 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIRandomStroll.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIRandomStroll.java
@@ -1,8 +1,8 @@
package de.ntcomputer.minecraft.controllablemobs.api.ai.behaviors;
-import net.minecraft.server.v1_7_R1.EntityCreature;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
-import net.minecraft.server.v1_7_R1.PathfinderGoalRandomStroll;
+import net.minecraft.server.v1_8_R3.EntityCreature;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.PathfinderGoalRandomStroll;
import org.bukkit.entity.Creature;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIRestrictSun.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIRestrictSun.java
index bb63d42..7e2c5f1 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIRestrictSun.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AIRestrictSun.java
@@ -2,9 +2,9 @@
import org.bukkit.entity.Creature;
-import net.minecraft.server.v1_7_R1.EntityCreature;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
-import net.minecraft.server.v1_7_R1.PathfinderGoalRestrictSun;
+import net.minecraft.server.v1_8_R3.EntityCreature;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.PathfinderGoalRestrictSun;
import de.ntcomputer.minecraft.controllablemobs.api.ai.AIType;
import de.ntcomputer.minecraft.controllablemobs.implementation.CraftControllableMob;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AISwim.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AISwim.java
index 7a6fb2d..1edb040 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AISwim.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AISwim.java
@@ -1,7 +1,7 @@
package de.ntcomputer.minecraft.controllablemobs.api.ai.behaviors;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
-import net.minecraft.server.v1_7_R1.PathfinderGoalFloat;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.PathfinderGoalFloat;
import org.bukkit.entity.LivingEntity;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AITargetBehaviorEx.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AITargetBehaviorEx.java
index 787ddc7..587868b 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AITargetBehaviorEx.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AITargetBehaviorEx.java
@@ -1,6 +1,6 @@
package de.ntcomputer.minecraft.controllablemobs.api.ai.behaviors;
-import net.minecraft.server.v1_7_R1.EntityLiving;
+import net.minecraft.server.v1_8_R3.EntityLiving;
import org.bukkit.entity.LivingEntity;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AITargetHurtBy.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AITargetHurtBy.java
index b804b83..767accf 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AITargetHurtBy.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AITargetHurtBy.java
@@ -1,8 +1,8 @@
package de.ntcomputer.minecraft.controllablemobs.api.ai.behaviors;
-import net.minecraft.server.v1_7_R1.EntityCreature;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
-import net.minecraft.server.v1_7_R1.PathfinderGoalHurtByTarget;
+import net.minecraft.server.v1_8_R3.EntityCreature;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.PathfinderGoalHurtByTarget;
import org.bukkit.entity.Creature;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AITargetNearest.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AITargetNearest.java
index e791372..8b0caa1 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AITargetNearest.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/api/ai/behaviors/AITargetNearest.java
@@ -1,14 +1,17 @@
package de.ntcomputer.minecraft.controllablemobs.api.ai.behaviors;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.Entity;
+import net.minecraft.server.v1_8_R3.IEntitySelector;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
import org.bukkit.entity.HumanEntity;
import org.bukkit.entity.LivingEntity;
+import com.google.common.base.Predicate;
+
import de.ntcomputer.minecraft.controllablemobs.api.ai.AIType;
import de.ntcomputer.minecraft.controllablemobs.api.ai.EntityFilter;
import de.ntcomputer.minecraft.controllablemobs.implementation.CraftControllableMob;
-import de.ntcomputer.minecraft.controllablemobs.implementation.ai.EntitySelector;
import de.ntcomputer.minecraft.controllablemobs.implementation.ai.behaviors.PathfinderGoalTargetNearest;
/**
@@ -20,7 +23,7 @@
*
*/
public class AITargetNearest extends AITargetBehaviorEx {
- private final EntitySelector entitySelector;
+ private final Predicate entitySelector;
/**
* Create with an automatically given priority.
@@ -105,11 +108,12 @@ public AITargetNearest(int priority, double maximumDistance, boolean ignoreInvul
*/
public AITargetNearest(int priority, double maximumDistance, boolean ignoreInvulnerability, int maximumNoEyeContactTicks, EntityFilter filter, Class extends LivingEntity>... targetClasses) throws IllegalArgumentException {
super(priority, maximumNoEyeContactTicks, ignoreInvulnerability, maximumDistance, targetClasses);
- this.entitySelector = filter==null ? null : new EntitySelector(filter);
+ this.entitySelector = IEntitySelector.d;
}
@Override
public PathfinderGoal createPathfinderGoal(CraftControllableMob> mob) {
+ // TODO: FARLO SUL SERIO
return new PathfinderGoalTargetNearest(mob, this.maximumNoEyeContactTicks, this.ignoreInvulnerability, this.maximumDistance, this.targetClasses, this.entitySelector);
}
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ControllableMobHelper.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ControllableMobHelper.java
index dc84490..5ca3f5a 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ControllableMobHelper.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ControllableMobHelper.java
@@ -13,13 +13,13 @@
public class ControllableMobHelper {
@SuppressWarnings("deprecation")
- public static Class extends net.minecraft.server.v1_7_R1.Entity> getNmsEntityClass(final Class extends LivingEntity> entityClass) throws IllegalArgumentException {
+ public static Class extends net.minecraft.server.v1_8_R3.Entity> getNmsEntityClass(final Class extends LivingEntity> entityClass) throws IllegalArgumentException {
if(entityClass==null) throw new IllegalArgumentException("entityClass must not be null");
- if(entityClass==HumanEntity.class || entityClass==Player.class) return net.minecraft.server.v1_7_R1.EntityHuman.class;
- if(entityClass==Monster.class) return net.minecraft.server.v1_7_R1.EntityMonster.class;
- if(entityClass==Creature.class) return net.minecraft.server.v1_7_R1.EntityCreature.class;
- if(entityClass==Animals.class) return net.minecraft.server.v1_7_R1.EntityAnimal.class;
- if(entityClass==LivingEntity.class) return net.minecraft.server.v1_7_R1.EntityLiving.class;
+ if(entityClass==HumanEntity.class || entityClass==Player.class) return net.minecraft.server.v1_8_R3.EntityHuman.class;
+ if(entityClass==Monster.class) return net.minecraft.server.v1_8_R3.EntityMonster.class;
+ if(entityClass==Creature.class) return net.minecraft.server.v1_8_R3.EntityCreature.class;
+ if(entityClass==Animals.class) return net.minecraft.server.v1_8_R3.EntityAnimal.class;
+ if(entityClass==LivingEntity.class) return net.minecraft.server.v1_8_R3.EntityLiving.class;
for(EntityType entityType: EntityType.values()) {
if(entityType.getEntityClass()==null || entityType.getTypeId()==-1) continue;
@@ -32,12 +32,12 @@ public static Class extends net.minecraft.server.v1_7_R1.Entity> getNmsEntityC
}
@SuppressWarnings("deprecation")
- public static Class extends net.minecraft.server.v1_7_R1.Entity> getNmsEntityClass(final EntityType entityType) throws IllegalArgumentException {
+ public static Class extends net.minecraft.server.v1_8_R3.Entity> getNmsEntityClass(final EntityType entityType) throws IllegalArgumentException {
if(entityType==null) throw new IllegalArgumentException("EntityType must not be null");
- if(entityType==EntityType.PLAYER) return net.minecraft.server.v1_7_R1.EntityHuman.class;
+ if(entityType==EntityType.PLAYER) return net.minecraft.server.v1_8_R3.EntityHuman.class;
try {
- final Class extends net.minecraft.server.v1_7_R1.Entity> entityClass = NativeInterfaces.ENTITYTYPES.METHOD_GETCLASSBYID.invoke(entityType.getTypeId());
+ final Class extends net.minecraft.server.v1_8_R3.Entity> entityClass = NativeInterfaces.ENTITYTYPES.METHOD_GETCLASSBYID.invoke(entityType.getTypeId());
if(entityClass==null) throw new IllegalArgumentException("EntityType "+entityType+" is not resolvable to a net.minecraft Class");
return entityClass;
} catch(Exception e) {
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/CraftControllableMob.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/CraftControllableMob.java
index 22e0dbc..4c0ec4b 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/CraftControllableMob.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/CraftControllableMob.java
@@ -1,6 +1,6 @@
package de.ntcomputer.minecraft.controllablemobs.implementation;
-import net.minecraft.server.v1_7_R1.EntityInsentient;
+import net.minecraft.server.v1_8_R3.EntityInsentient;
import org.bukkit.entity.LivingEntity;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/CraftControllableMobAttributes.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/CraftControllableMobAttributes.java
index b22f231..49757f2 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/CraftControllableMobAttributes.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/CraftControllableMobAttributes.java
@@ -1,9 +1,9 @@
package de.ntcomputer.minecraft.controllablemobs.implementation;
-import net.minecraft.server.v1_7_R1.AttributeInstance;
-import net.minecraft.server.v1_7_R1.AttributeModifiable;
-import net.minecraft.server.v1_7_R1.EntityInsentient;
-import net.minecraft.server.v1_7_R1.IAttribute;
+import net.minecraft.server.v1_8_R3.AttributeInstance;
+import net.minecraft.server.v1_8_R3.AttributeModifiable;
+import net.minecraft.server.v1_8_R3.EntityInsentient;
+import net.minecraft.server.v1_8_R3.IAttribute;
import de.ntcomputer.minecraft.controllablemobs.api.ControllableMobAttributes;
import de.ntcomputer.minecraft.controllablemobs.api.attributes.Attribute;
import de.ntcomputer.minecraft.controllablemobs.implementation.attributes.CraftAttribute;
@@ -90,32 +90,36 @@ void dispose(boolean reset) {
@Override
public boolean canSwim() {
- return NativeInterfaces.NAVIGATION.FIELD_CANSWIM.get(this.nmsEntity.getNavigation());
+ //TODO return NativeInterfaces.NAVIGATION.FIELD_CANSWIM.get(this.nmsEntity.getNavigation());
+ return true;
}
@Override
public boolean getAvoidWater() {
- return NativeInterfaces.NAVIGATION.FIELD_AVOIDWATER.get(this.nmsEntity.getNavigation());
+ //TODO return NativeInterfaces.NAVIGATION.FIELD_AVOIDWATER.get(this.nmsEntity.getNavigation());
+ return false;
}
@Override
public void setAvoidWater(boolean avoid) {
- NativeInterfaces.NAVIGATION.FIELD_AVOIDWATER.set(this.nmsEntity.getNavigation(), avoid);
+ //TODO NativeInterfaces.NAVIGATION.FIELD_AVOIDWATER.set(this.nmsEntity.getNavigation(), avoid);
}
@Override
public boolean getMoveThroughDoors() {
- return NativeInterfaces.NAVIGATION.FIELD_USEOPENDOOR.get(this.nmsEntity.getNavigation());
+ //TODO return NativeInterfaces.NAVIGATION.FIELD_USEOPENDOOR.get(this.nmsEntity.getNavigation());
+ return false;
}
@Override
public void setMoveThroughDoors(boolean moveThroughDoors) {
- NativeInterfaces.NAVIGATION.FIELD_USEOPENDOOR.set(this.nmsEntity.getNavigation(), moveThroughDoors);
+ //TODO NativeInterfaces.NAVIGATION.FIELD_USEOPENDOOR.set(this.nmsEntity.getNavigation(), moveThroughDoors);
}
@Override
public boolean canMoveThroughClosedDoors() {
- return NativeInterfaces.NAVIGATION.FIELD_USECLOSEDDOOR.get(this.nmsEntity.getNavigation());
+ //TODO return NativeInterfaces.NAVIGATION.FIELD_USECLOSEDDOOR.get(this.nmsEntity.getNavigation());
+ return false;
}
}
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionDie.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionDie.java
index 9395106..89a506f 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionDie.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionDie.java
@@ -1,7 +1,7 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.actions;
-import net.minecraft.server.v1_7_R1.DamageSource;
-import net.minecraft.server.v1_7_R1.EntityLiving;
+import net.minecraft.server.v1_8_R3.DamageSource;
+import net.minecraft.server.v1_8_R3.EntityLiving;
import de.ntcomputer.minecraft.controllablemobs.api.actions.ActionType;
import de.ntcomputer.minecraft.controllablemobs.implementation.CraftControllableMob;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionFollow.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionFollow.java
index 5f098d5..953c79d 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionFollow.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionFollow.java
@@ -1,8 +1,8 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.actions;
-import net.minecraft.server.v1_7_R1.EntityLiving;
+import net.minecraft.server.v1_8_R3.EntityLiving;
-import org.bukkit.craftbukkit.v1_7_R1.entity.CraftLivingEntity;
+import org.bukkit.craftbukkit.v1_8_R3.entity.CraftLivingEntity;
import org.bukkit.entity.LivingEntity;
import de.ntcomputer.minecraft.controllablemobs.api.actions.ActionType;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionLook.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionLook.java
index 3d95e44..23ed851 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionLook.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionLook.java
@@ -1,6 +1,6 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.actions;
-import net.minecraft.server.v1_7_R1.World;
+import net.minecraft.server.v1_8_R3.World;
import de.ntcomputer.minecraft.controllablemobs.api.actions.ActionType;
public abstract class ControllableMobActionLook extends ControllableMobActionBase {
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionLookBlock.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionLookBlock.java
index d59c198..a06da42 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionLookBlock.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionLookBlock.java
@@ -1,9 +1,9 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.actions;
-import net.minecraft.server.v1_7_R1.World;
+import net.minecraft.server.v1_8_R3.World;
import org.bukkit.Location;
-import org.bukkit.craftbukkit.v1_7_R1.CraftWorld;
+import org.bukkit.craftbukkit.v1_8_R3.CraftWorld;
public class ControllableMobActionLookBlock extends ControllableMobActionLook {
private final double[] values;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionLookEntity.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionLookEntity.java
index 55aa668..bf2953a 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionLookEntity.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionLookEntity.java
@@ -1,14 +1,14 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.actions;
-import net.minecraft.server.v1_7_R1.World;
+import net.minecraft.server.v1_8_R3.World;
-import org.bukkit.craftbukkit.v1_7_R1.entity.CraftEntity;
+import org.bukkit.craftbukkit.v1_8_R3.entity.CraftEntity;
import org.bukkit.entity.Entity;
import de.ntcomputer.minecraft.controllablemobs.implementation.CraftControllableMob;
public class ControllableMobActionLookEntity extends ControllableMobActionLook {
- private final net.minecraft.server.v1_7_R1.Entity entity;
+ private final net.minecraft.server.v1_8_R3.Entity entity;
public ControllableMobActionLookEntity(final CraftControllableMob> mob, final Entity entity) {
super(mob.getActionManager());
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionMoveAbstract.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionMoveAbstract.java
index 5301d19..d8d3761 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionMoveAbstract.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionMoveAbstract.java
@@ -1,9 +1,9 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.actions;
-import net.minecraft.server.v1_7_R1.World;
+import net.minecraft.server.v1_8_R3.World;
import org.bukkit.Location;
-import org.bukkit.craftbukkit.v1_7_R1.CraftWorld;
+import org.bukkit.craftbukkit.v1_8_R3.CraftWorld;
import de.ntcomputer.minecraft.controllablemobs.api.actions.ActionType;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionTarget.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionTarget.java
index bfa882a..78b5885 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionTarget.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionTarget.java
@@ -1,8 +1,8 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.actions;
-import net.minecraft.server.v1_7_R1.EntityLiving;
+import net.minecraft.server.v1_8_R3.EntityLiving;
-import org.bukkit.craftbukkit.v1_7_R1.entity.CraftLivingEntity;
+import org.bukkit.craftbukkit.v1_8_R3.entity.CraftLivingEntity;
import org.bukkit.entity.LivingEntity;
import de.ntcomputer.minecraft.controllablemobs.api.actions.ActionType;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionTeleportEntity.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionTeleportEntity.java
index 8a31cbf..39109c8 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionTeleportEntity.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/actions/ControllableMobActionTeleportEntity.java
@@ -1,6 +1,6 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.actions;
-import net.minecraft.server.v1_7_R1.Entity;
+import net.minecraft.server.v1_8_R3.Entity;
import de.ntcomputer.minecraft.controllablemobs.api.actions.ActionType;
import de.ntcomputer.minecraft.controllablemobs.implementation.CraftControllableMob;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/AIComponentHandlers.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/AIComponentHandlers.java
index 6fe70de..a482172 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/AIComponentHandlers.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/AIComponentHandlers.java
@@ -3,14 +3,15 @@
import java.util.HashMap;
import java.util.Map;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
-import net.minecraft.server.v1_7_R1.PathfinderGoalBreakDoor;
-import net.minecraft.server.v1_7_R1.PathfinderGoalDoorInteract;
-import net.minecraft.server.v1_7_R1.PathfinderGoalFloat;
-import net.minecraft.server.v1_7_R1.PathfinderGoalOpenDoor;
+import net.minecraft.server.v1_8_R3.Navigation;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.PathfinderGoalBreakDoor;
+import net.minecraft.server.v1_8_R3.PathfinderGoalDoorInteract;
+import net.minecraft.server.v1_8_R3.PathfinderGoalFloat;
+import net.minecraft.server.v1_8_R3.PathfinderGoalOpenDoor;
import de.ntcomputer.minecraft.controllablemobs.api.ai.AIType;
import de.ntcomputer.minecraft.controllablemobs.implementation.CraftControllableMob;
-import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.NativeInterfaces;
+//import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.NativeInterfaces;
@SuppressWarnings("unchecked")
public final class AIComponentHandlers {
@@ -34,12 +35,14 @@ private static void add(Class extends T> goalClass,
AIComponentListener closedDoorListener = new AIComponentListener() {
@Override
public void onAdd(CraftControllableMob> mob, PathfinderGoalDoorInteract goal) {
- NativeInterfaces.NAVIGATION.FIELD_USECLOSEDDOOR.set(mob.nmsEntity.getNavigation(), true);
+ ((Navigation) mob.nmsEntity.getNavigation()).a(true);
+ //NativeInterfaces.NAVIGATION.FIELD_USECLOSEDDOOR.set(mob.nmsEntity.getNavigation(), true);
}
@Override
public void onRemoved(CraftControllableMob> mob, PathfinderGoalDoorInteract goal) {
if(!mob.getAI().hasBehavior(AIType.ACTION_DOOROPEN, AIType.ACTION_DOORBREAK)) {
- NativeInterfaces.NAVIGATION.FIELD_USECLOSEDDOOR.set(mob.nmsEntity.getNavigation(), false);
+ ((Navigation) mob.nmsEntity.getNavigation()).a(false);
+ //NativeInterfaces.NAVIGATION.FIELD_USECLOSEDDOOR.set(mob.nmsEntity.getNavigation(), false);
}
}
};
@@ -48,12 +51,14 @@ public void onRemoved(CraftControllableMob> mob, PathfinderGoalDoorInteract go
add(PathfinderGoalFloat.class, new AIComponentListener() {
@Override
public void onAdd(CraftControllableMob> mob, PathfinderGoalFloat goal) {
- NativeInterfaces.NAVIGATION.FIELD_CANSWIM.set(mob.nmsEntity.getNavigation(), true);
+ ((Navigation) mob.nmsEntity.getNavigation()).b(true);
+ // TODO: NativeInterfaces.NAVIGATION.FIELD_CANSWIM.set(mob.nmsEntity.getNavigation(), true);
}
@Override
public void onRemoved(CraftControllableMob> mob, PathfinderGoalFloat goal) {
if(!mob.getAI().hasBehavior(AIType.MOVE_SWIM)) {
- NativeInterfaces.NAVIGATION.FIELD_CANSWIM.set(mob.nmsEntity.getNavigation(), false);
+ ((Navigation) mob.nmsEntity.getNavigation()).b(false);
+ // TODO: NativeInterfaces.NAVIGATION.FIELD_CANSWIM.set(mob.nmsEntity.getNavigation(), false);
}
}
});
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/AIComponentListener.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/AIComponentListener.java
index 11652c0..9075f41 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/AIComponentListener.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/AIComponentListener.java
@@ -1,6 +1,6 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.ai;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
import de.ntcomputer.minecraft.controllablemobs.implementation.CraftControllableMob;
public interface AIComponentListener {
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/AIController.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/AIController.java
index ecd2dc7..5719a38 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/AIController.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/AIController.java
@@ -11,11 +11,11 @@
import java.util.Map;
import java.util.Set;
-import net.minecraft.server.v1_7_R1.EntityInsentient;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
-import net.minecraft.server.v1_7_R1.PathfinderGoalSelector;
+import net.minecraft.server.v1_8_R3.EntityInsentient;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.PathfinderGoalSelector;
-import org.bukkit.craftbukkit.v1_7_R1.util.UnsafeList;
+import org.bukkit.craftbukkit.v1_8_R3.util.UnsafeList;
import org.bukkit.entity.LivingEntity;
import de.ntcomputer.minecraft.controllablemobs.api.ai.AIState;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/CraftAIPart.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/CraftAIPart.java
index b3edc8c..205f880 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/CraftAIPart.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/CraftAIPart.java
@@ -1,6 +1,6 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.ai;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
import org.bukkit.entity.LivingEntity;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/EntitySelector.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/EntitySelector.java
deleted file mode 100644
index e25cb82..0000000
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/EntitySelector.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package de.ntcomputer.minecraft.controllablemobs.implementation.ai;
-
-import net.minecraft.server.v1_7_R1.Entity;
-import net.minecraft.server.v1_7_R1.IEntitySelector;
-import de.ntcomputer.minecraft.controllablemobs.api.ai.EntityFilter;
-
-public final class EntitySelector implements IEntitySelector {
- private final EntityFilter filter;
-
- public EntitySelector(final EntityFilter filter) {
- this.filter = filter;
- }
-
- @Override
- public boolean a(Entity entity) {
- return this.isEntityValid(entity);
- }
-
- public boolean isEntityValid(Entity entity) {
- return this.filter.isEntityValid(entity.getBukkitEntity());
- }
-
-}
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalAIMonitor.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalAIMonitor.java
index 74e8fef..316ce85 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalAIMonitor.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalAIMonitor.java
@@ -3,7 +3,7 @@
import java.util.HashSet;
import java.util.List;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
import de.ntcomputer.minecraft.controllablemobs.api.ai.AIState;
import de.ntcomputer.minecraft.controllablemobs.implementation.ai.AIController;
import de.ntcomputer.minecraft.controllablemobs.implementation.ai.CraftAIPart;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalActionFollow.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalActionFollow.java
index 56249ea..79bc0e8 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalActionFollow.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalActionFollow.java
@@ -1,6 +1,6 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.ai.behaviors;
-import net.minecraft.server.v1_7_R1.PathEntity;
+import net.minecraft.server.v1_8_R3.PathEntity;
import de.ntcomputer.minecraft.controllablemobs.api.actions.ActionType;
import de.ntcomputer.minecraft.controllablemobs.implementation.CraftControllableMob;
import de.ntcomputer.minecraft.controllablemobs.implementation.actions.ControllableMobActionFollow;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalActionMoveAbstract.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalActionMoveAbstract.java
index 5542958..8237136 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalActionMoveAbstract.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalActionMoveAbstract.java
@@ -1,6 +1,6 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.ai.behaviors;
-import net.minecraft.server.v1_7_R1.PathEntity;
+import net.minecraft.server.v1_8_R3.PathEntity;
import de.ntcomputer.minecraft.controllablemobs.api.actions.ActionType;
import de.ntcomputer.minecraft.controllablemobs.implementation.CraftControllableMob;
import de.ntcomputer.minecraft.controllablemobs.implementation.actions.ControllableMobActionMoveAbstract;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalActionTarget.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalActionTarget.java
index f74609e..278f58a 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalActionTarget.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalActionTarget.java
@@ -1,6 +1,5 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.ai.behaviors;
-import net.minecraft.server.v1_7_R1.EntityCreature;
import de.ntcomputer.minecraft.controllablemobs.api.actions.ActionType;
import de.ntcomputer.minecraft.controllablemobs.implementation.CraftControllableMob;
import de.ntcomputer.minecraft.controllablemobs.implementation.actions.ControllableMobActionTarget;
@@ -24,7 +23,7 @@ protected void onStartAction() {
// set target for AI goals
this.mob.nmsEntity.setGoalTarget(this.action.target);
// set target for old AI & bukkit interface (so "getTarget" on Creature will return the correct entity)
- if(this.mob.nmsEntity instanceof EntityCreature) ((EntityCreature) this.mob.nmsEntity).target = this.action.target;
+ //if(this.mob.nmsEntity instanceof EntityCreature) ((EntityCreature) this.mob.nmsEntity).target = this.action.target;
}
@Override
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalTargetEx.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalTargetEx.java
index 6a3ea9c..d7641a7 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalTargetEx.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalTargetEx.java
@@ -1,12 +1,12 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.ai.behaviors;
-import net.minecraft.server.v1_7_R1.EntityCreature;
-import net.minecraft.server.v1_7_R1.EntityHuman;
-import net.minecraft.server.v1_7_R1.EntityInsentient;
-import net.minecraft.server.v1_7_R1.EntityLiving;
+import net.minecraft.server.v1_8_R3.EntityCreature;
+import net.minecraft.server.v1_8_R3.EntityHuman;
+import net.minecraft.server.v1_8_R3.EntityInsentient;
+import net.minecraft.server.v1_8_R3.EntityLiving;
-import org.bukkit.craftbukkit.v1_7_R1.entity.CraftLivingEntity;
-import org.bukkit.craftbukkit.v1_7_R1.event.CraftEventFactory;
+import org.bukkit.craftbukkit.v1_8_R3.entity.CraftLivingEntity;
+import org.bukkit.craftbukkit.v1_8_R3.event.CraftEventFactory;
import org.bukkit.event.entity.EntityTargetEvent;
import org.bukkit.event.entity.EntityTargetLivingEntityEvent;
@@ -57,7 +57,7 @@ protected boolean target(EntityLiving target, EntityTargetEvent.TargetReason rea
if(this.maximumDistanceSquared>0 && NativeInterfaces.ENTITY.METHOD_GETDISTANCETOENTITYSQUARED.invoke(this.entity,target)>this.maximumDistanceSquared) return false;
// eye contact check
- if(this.maximumNoEyeContactTicks>0 && !this.entity.getEntitySenses().canSee(target)) return false;
+ if(this.maximumNoEyeContactTicks>0 && !this.entity.getEntitySenses().a(target)) return false;
// call target event
final EntityTargetLivingEntityEvent event = CraftEventFactory.callEntityTargetLivingEvent(this.entity, target, reason);
@@ -66,7 +66,7 @@ protected boolean target(EntityLiving target, EntityTargetEvent.TargetReason rea
// set new target!
target = ((CraftLivingEntity) event.getTarget()).getHandle();
this.entity.setGoalTarget(target);
- if(this.entity instanceof EntityCreature) ((EntityCreature) this.entity).target = target;
+ if(this.entity instanceof EntityCreature) ((EntityCreature) this.entity).setGoalTarget(target);
this.mob.adjustMaximumNavigationDistance(Math.sqrt(NativeInterfaces.ENTITY.METHOD_GETDISTANCETOENTITYSQUARED.invoke(this.entity, target) * 2));
return true;
@@ -85,7 +85,7 @@ protected boolean canContinue() {
// eye contact check
if(this.maximumNoEyeContactTicks>0) {
- if(this.entity.getEntitySenses().canSee(target)) this.noEyeContactTicks = 0;
+ if(this.entity.getEntitySenses().a(target)) this.noEyeContactTicks = 0;
else {
if(++this.noEyeContactTicks > this.maximumNoEyeContactTicks) return false;
}
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalTargetNearest.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalTargetNearest.java
index a7a1f67..57dea9b 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalTargetNearest.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/ai/behaviors/PathfinderGoalTargetNearest.java
@@ -4,29 +4,30 @@
import java.util.Collections;
import java.util.List;
-import net.minecraft.server.v1_7_R1.DistanceComparator;
-import net.minecraft.server.v1_7_R1.EntityHuman;
-import net.minecraft.server.v1_7_R1.EntityLiving;
+import net.minecraft.server.v1_8_R3.PathfinderGoalNearestAttackableTarget.DistanceComparator;
+import net.minecraft.server.v1_8_R3.Entity;
+import net.minecraft.server.v1_8_R3.EntityHuman;
+import net.minecraft.server.v1_8_R3.EntityLiving;
import org.bukkit.event.entity.EntityTargetEvent.TargetReason;
+import com.google.common.base.Predicate;
+
import de.ntcomputer.minecraft.controllablemobs.implementation.CraftControllableMob;
-import de.ntcomputer.minecraft.controllablemobs.implementation.ai.EntitySelector;
import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.NativeInterfaces;
public class PathfinderGoalTargetNearest extends PathfinderGoalTargetEx {
private final double searchDistance;
private final DistanceComparator comparator;
- private final EntitySelector entitySelector;
+ private final Predicate entitySelector;
- public PathfinderGoalTargetNearest(CraftControllableMob> mob, int maximumNoEyeContactTicks, boolean ignoreInvulnerability, double maximumDistance, Class extends EntityLiving>[] targetClasses, EntitySelector entitySelector) {
+ public PathfinderGoalTargetNearest(CraftControllableMob> mob, int maximumNoEyeContactTicks, boolean ignoreInvulnerability, double maximumDistance, Class extends EntityLiving>[] targetClasses, Predicate entitySelector) {
super(mob, maximumNoEyeContactTicks, ignoreInvulnerability, maximumDistance, targetClasses);
this.searchDistance = maximumDistance<=0 ? 500 : maximumDistance;
this.comparator = new DistanceComparator(entity);
this.entitySelector = entitySelector;
}
- @SuppressWarnings("unchecked")
@Override
protected boolean canStart() {
final List entities = new ArrayList();
@@ -35,7 +36,7 @@ protected boolean canStart() {
if(targetClass==EntityHuman.class) {
this.findNearbyPlayersOptimized(this.entity, entities);
} else {
- entities.addAll(NativeInterfaces.WORLD.METHOD_SEARCHENTITIES.invoke(this.entity.world, targetClass, this.entity.boundingBox.grow(this.searchDistance, this.searchDistance/4.0, this.searchDistance), this.entitySelector));
+ entities.addAll(NativeInterfaces.WORLD.METHOD_SEARCHENTITIES.invoke(this.entity.world, targetClass, this.entity.getBoundingBox().grow(this.searchDistance, this.searchDistance/4.0, this.searchDistance), this.entitySelector));
}
}
@@ -52,7 +53,7 @@ private void findNearbyPlayersOptimized(final EntityLiving entity, final List nativeModifiers = NativeInterfaces.ATTRIBUTEMODIFIABLE.METHOD_GETMODIFIERS.invoke(nativeAttribute);
- for(net.minecraft.server.v1_7_R1.AttributeModifier nativeModifier: nativeModifiers) {
+ Collection nativeModifiers = NativeInterfaces.ATTRIBUTEMODIFIABLE.METHOD_GETMODIFIERS.invoke(nativeAttribute);
+ for(net.minecraft.server.v1_8_R3.AttributeModifier nativeModifier: nativeModifiers) {
UUID uuid = NativeInterfaces.ATTRIBUTEMODIFIER.METHOD_GETUUID.invoke(nativeModifier);
CraftAttributeModifier modifier = modifierMap.get(uuid);
if(modifier!=null) modifier.setAttributeAttached(this);
@@ -50,10 +50,10 @@ public double getValue() {
return nativeAttribute.getValue();
}
- private CraftAttributeModifier[] resolveNativeModifiers(Collection nativeModifiers) {
+ private CraftAttributeModifier[] resolveNativeModifiers(Collection nativeModifiers) {
CraftAttributeModifier[] result = new CraftAttributeModifier[nativeModifiers.size()];
int i = 0;
- for(net.minecraft.server.v1_7_R1.AttributeModifier nativeModifier: nativeModifiers) {
+ for(net.minecraft.server.v1_8_R3.AttributeModifier nativeModifier: nativeModifiers) {
UUID uuid = NativeInterfaces.ATTRIBUTEMODIFIER.METHOD_GETUUID.invoke(nativeModifier);
CraftAttributeModifier modifier = modifierMap.get(uuid);
if(modifier==null) {
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/attributes/CraftAttributeModifier.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/attributes/CraftAttributeModifier.java
index 848b06c..8f55758 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/attributes/CraftAttributeModifier.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/attributes/CraftAttributeModifier.java
@@ -15,7 +15,7 @@ public class CraftAttributeModifier implements AttributeModifier {
private final String name;
private final double value;
private final ModifyOperation operation;
- private net.minecraft.server.v1_7_R1.AttributeModifier nativeModifier = null;
+ private net.minecraft.server.v1_8_R3.AttributeModifier nativeModifier = null;
private final Set attachedAttributes = new HashSet();
private final boolean custom;
@@ -27,7 +27,7 @@ public CraftAttributeModifier(UUID uniqueID, String name, double modifierValue,
this.custom = true;
}
- public CraftAttributeModifier(UUID uuid, net.minecraft.server.v1_7_R1.AttributeModifier nativeModifier) {
+ public CraftAttributeModifier(UUID uuid, net.minecraft.server.v1_8_R3.AttributeModifier nativeModifier) {
this.uniqueID = uuid;
this.nativeModifier = nativeModifier;
this.name = NativeInterfaces.ATTRIBUTEMODIFIER.METHOD_GETNAME.invoke(nativeModifier);
@@ -51,9 +51,9 @@ public double getModifierValue() {
return this.value;
}
- net.minecraft.server.v1_7_R1.AttributeModifier getNativeModifier() {
+ net.minecraft.server.v1_8_R3.AttributeModifier getNativeModifier() {
if(this.nativeModifier==null) {
- this.nativeModifier = new net.minecraft.server.v1_7_R1.AttributeModifier(uniqueID, name, value, this.operation.getIntType());
+ this.nativeModifier = new net.minecraft.server.v1_8_R3.AttributeModifier(uniqueID, name, value, this.operation.getIntType());
}
return this.nativeModifier;
}
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/NativeInterfaces.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/NativeInterfaces.java
index 81b0839..0484dd4 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/NativeInterfaces.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/NativeInterfaces.java
@@ -1,7 +1,6 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces;
import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.server.CBInterfaceJavaPluginLoader;
-import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.server.CBInterfacePluginClassLoader;
import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.server.NmsAttributeModifiable;
import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.server.NmsAttributeModifier;
import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.server.NmsAttributeRanged;
@@ -27,7 +26,6 @@ public final class NativeInterfaces {
public static final NmsInterfacePathfinderGoal PATHFINDERGOAL = new NmsInterfacePathfinderGoal();
public static final NmsPathfinderGoalSelector PATHFINDERGOALSELECTOR = new NmsPathfinderGoalSelector();
public static final NmsPathfinderGoalSelectorItem PATHFINDERGOALSELECTORITEM = new NmsPathfinderGoalSelectorItem();
- public static final CBInterfacePluginClassLoader PLUGINCLASSLOADER = new CBInterfacePluginClassLoader();
public static final NmsWorld WORLD = new NmsWorld();
public static final NmsIAttribute IATTRIBUTE = new NmsIAttribute();
public static final NmsAttributeRanged ATTRIBUTERANGED = new NmsAttributeRanged();
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/CBInterfacePluginClassLoader.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/CBInterfacePluginClassLoader.java
deleted file mode 100644
index 5e164be..0000000
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/CBInterfacePluginClassLoader.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.server;
-
-import org.bukkit.plugin.java.JavaPluginLoader;
-import org.bukkit.plugin.java.PluginClassLoader;
-
-import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.primitives.NativeFieldObject;
-
-public final class CBInterfacePluginClassLoader {
- public NativeFieldObject FIELD_LOADER = new NativeFieldObject(PluginClassLoader.class, "loader");
-
-}
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsAttributeModifiable.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsAttributeModifiable.java
index 2fe1c2b..30d7fbb 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsAttributeModifiable.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsAttributeModifiable.java
@@ -4,9 +4,9 @@
import java.util.Collections;
import java.util.UUID;
-import net.minecraft.server.v1_7_R1.AttributeModifiable;
-import net.minecraft.server.v1_7_R1.AttributeModifier;
-import net.minecraft.server.v1_7_R1.IAttribute;
+import net.minecraft.server.v1_8_R3.AttributeModifiable;
+import net.minecraft.server.v1_8_R3.AttributeModifier;
+import net.minecraft.server.v1_8_R3.IAttribute;
import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.system.NativeMethodPublic;
public final class NmsAttributeModifiable {
@@ -21,7 +21,7 @@ public final class NmsAttributeModifiable {
public final class GetTemplate extends NativeMethodPublic {
public IAttribute invoke(AttributeModifiable attribute) {
try {
- return attribute.a();
+ return attribute.getAttribute();
} catch(Throwable t) {
this.handleException(t);
return null;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsAttributeModifier.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsAttributeModifier.java
index 3a03e9b..7e3b33d 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsAttributeModifier.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsAttributeModifier.java
@@ -2,7 +2,7 @@
import java.util.UUID;
-import net.minecraft.server.v1_7_R1.AttributeModifier;
+import net.minecraft.server.v1_8_R3.AttributeModifier;
import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.system.NativeMethodPublic;
public final class NmsAttributeModifier {
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsAttributeRanged.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsAttributeRanged.java
index 7ffc817..b2b7687 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsAttributeRanged.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsAttributeRanged.java
@@ -1,6 +1,6 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.server;
-import net.minecraft.server.v1_7_R1.AttributeRanged;
+import net.minecraft.server.v1_8_R3.AttributeRanged;
import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.primitives.NativeFieldDouble;
public final class NmsAttributeRanged {
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsControllerJump.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsControllerJump.java
index 974daff..4930851 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsControllerJump.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsControllerJump.java
@@ -1,6 +1,6 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.server;
-import net.minecraft.server.v1_7_R1.ControllerJump;
+import net.minecraft.server.v1_8_R3.ControllerJump;
import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.system.NativeMethodPublic;
public class NmsControllerJump {
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsControllerLook.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsControllerLook.java
index c247872..e8623ce 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsControllerLook.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsControllerLook.java
@@ -1,6 +1,6 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.server;
-import net.minecraft.server.v1_7_R1.ControllerLook;
+import net.minecraft.server.v1_8_R3.ControllerLook;
import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.system.NativeMethodPublic;
public class NmsControllerLook {
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsEntity.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsEntity.java
index 61c999d..1bb0da2 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsEntity.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsEntity.java
@@ -1,6 +1,6 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.server;
-import net.minecraft.server.v1_7_R1.Entity;
+import net.minecraft.server.v1_8_R3.Entity;
import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.system.NativeMethodPublic;
public class NmsEntity {
@@ -12,7 +12,7 @@ public class GetEntityDistanceSquared extends NativeMethodPublic {
public double invoke(final Entity entity, final Entity target) {
try {
// method returns difLocX² + difLocY² + difLocZ² for entity
- return entity.e(target);
+ return entity.h(target);
} catch(Throwable e) {
this.handleException(e);
return 0;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsEntityInsentient.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsEntityInsentient.java
index d7cb11e..561c19c 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsEntityInsentient.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsEntityInsentient.java
@@ -1,7 +1,7 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.server;
-import net.minecraft.server.v1_7_R1.EntityInsentient;
-import net.minecraft.server.v1_7_R1.PathfinderGoalSelector;
+import net.minecraft.server.v1_8_R3.EntityInsentient;
+import net.minecraft.server.v1_8_R3.PathfinderGoalSelector;
import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.primitives.NativeFieldObject;
import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.system.NativeMethodPublic;
@@ -13,7 +13,8 @@ public final class NmsEntityInsentient {
public final class GetVerticalHeadSpeed extends NativeMethodPublic {
public int invoke(EntityInsentient entity) {
try {
- return entity.x();
+ //TODO TROVARE return entity.x();
+ return 40;
} catch(Throwable e) {
this.handleException(e);
return 40;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsEntityTypes.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsEntityTypes.java
index e04b2c2..889c397 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsEntityTypes.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsEntityTypes.java
@@ -1,14 +1,13 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.server;
-import net.minecraft.server.v1_7_R1.Entity;
-import net.minecraft.server.v1_7_R1.EntityTypes;
+import net.minecraft.server.v1_8_R3.Entity;
+import net.minecraft.server.v1_8_R3.EntityTypes;
import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.system.NativeMethodPublic;
public final class NmsEntityTypes {
public final GetEntityClassById METHOD_GETCLASSBYID = new GetEntityClassById();
public final class GetEntityClassById extends NativeMethodPublic {
- @SuppressWarnings("unchecked")
public Class extends Entity> invoke(int entityTypeId) {
try {
return EntityTypes.a(entityTypeId);
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsGenericAttributes.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsGenericAttributes.java
index 4eb53b2..0cbbe9a 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsGenericAttributes.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsGenericAttributes.java
@@ -1,15 +1,15 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.server;
-import net.minecraft.server.v1_7_R1.GenericAttributes;
-import net.minecraft.server.v1_7_R1.IAttribute;
+import net.minecraft.server.v1_8_R3.GenericAttributes;
+import net.minecraft.server.v1_8_R3.IAttribute;
import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.primitives.NativeStaticFieldObject;
public final class NmsGenericAttributes {
// look at the string description in GenericAttributes class on update
- public final NativeStaticFieldObject STATIC_FIELD_MAXHEALTH = new NativeStaticFieldObject(GenericAttributes.class,"a");
- public final NativeStaticFieldObject STATIC_FIELD_FOLLOWRANGE = new NativeStaticFieldObject(GenericAttributes.class,"b");
+ public final NativeStaticFieldObject STATIC_FIELD_MAXHEALTH = new NativeStaticFieldObject(GenericAttributes.class,"maxHealth");
+ public final NativeStaticFieldObject STATIC_FIELD_FOLLOWRANGE = new NativeStaticFieldObject(GenericAttributes.class,"FOLLOW_RANGE");
public final NativeStaticFieldObject STATIC_FIELD_KNOCKBACKRESISTANCE = new NativeStaticFieldObject(GenericAttributes.class,"c");
- public final NativeStaticFieldObject STATIC_FIELD_MOVEMENTSPEED = new NativeStaticFieldObject(GenericAttributes.class,"d");
- public final NativeStaticFieldObject STATIC_FIELD_ATTACKDAMAGE = new NativeStaticFieldObject(GenericAttributes.class,"e");
+ public final NativeStaticFieldObject STATIC_FIELD_MOVEMENTSPEED = new NativeStaticFieldObject(GenericAttributes.class,"MOVEMENT_SPEED");
+ public final NativeStaticFieldObject STATIC_FIELD_ATTACKDAMAGE = new NativeStaticFieldObject(GenericAttributes.class,"ATTACK_DAMAGE");
}
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsIAttribute.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsIAttribute.java
index 13ee906..9f1aa47 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsIAttribute.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsIAttribute.java
@@ -1,6 +1,6 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.server;
-import net.minecraft.server.v1_7_R1.IAttribute;
+import net.minecraft.server.v1_8_R3.IAttribute;
import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.system.NativeMethodPublic;
public final class NmsIAttribute {
@@ -9,7 +9,7 @@ public final class NmsIAttribute {
public final class GetName extends NativeMethodPublic {
public String invoke(IAttribute attribute) {
try {
- return attribute.a();
+ return attribute.getName();
} catch(Throwable t) {
this.handleException(t);
return null;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsInterfacePathfinderGoal.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsInterfacePathfinderGoal.java
index 6fb9d50..7ed0bb3 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsInterfacePathfinderGoal.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsInterfacePathfinderGoal.java
@@ -1,6 +1,6 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.server;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.system.NativeMethodPublic;
public final class NmsInterfacePathfinderGoal {
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsNavigation.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsNavigation.java
index 8dfb05f..f8c4aff 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsNavigation.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsNavigation.java
@@ -1,9 +1,8 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.server;
-import net.minecraft.server.v1_7_R1.EntityLiving;
-import net.minecraft.server.v1_7_R1.Navigation;
-import net.minecraft.server.v1_7_R1.PathEntity;
-import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.primitives.NativeFieldBoolean;
+import net.minecraft.server.v1_8_R3.EntityLiving;
+import net.minecraft.server.v1_8_R3.NavigationAbstract;
+import net.minecraft.server.v1_8_R3.PathEntity;
import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.system.NativeMethodPublic;
public class NmsNavigation {
@@ -16,19 +15,19 @@ public class NmsNavigation {
public final CreatePathToEntity METHOD_CREATEPATHTOENTITY = new CreatePathToEntity();
public final CreatePathToLocation METHOD_CREATEPATHTOLOCATION = new CreatePathToLocation();
// first of 4 booleans
- public final NativeFieldBoolean FIELD_USEOPENDOOR = new NativeFieldBoolean(Navigation.class, "j");
+ //public final NativeFieldBoolean FIELD_USEOPENDOOR = new NativeFieldBoolean(NmsNavigation.class, "f");
// second of 4 booleans
- public final NativeFieldBoolean FIELD_USECLOSEDDOOR = new NativeFieldBoolean(Navigation.class, "k");
+ //public final NativeFieldBoolean FIELD_USECLOSEDDOOR = new NativeFieldBoolean(NmsNavigation.class, "f");
// third of 4 booleans
- public final NativeFieldBoolean FIELD_AVOIDWATER = new NativeFieldBoolean(Navigation.class, "l");
+ //public final NativeFieldBoolean FIELD_AVOIDWATER = new NativeFieldBoolean(NmsNavigation.class, "f");
// last of 4 booleans
- public final NativeFieldBoolean FIELD_CANSWIM = new NativeFieldBoolean(Navigation.class, "m");
+ //public final NativeFieldBoolean FIELD_CANSWIM = new NativeFieldBoolean(NmsNavigation.class, "f");
public class IsMoveFinished extends NativeMethodPublic {
- public boolean invoke(final Navigation navigation) {
+ public boolean invoke(final NavigationAbstract navigation) {
try {
// return (this.c == null) || (this.c.b());
- return navigation.g();
+ return navigation.m();
} catch(Throwable e) {
this.handleException(e);
return true;
@@ -37,10 +36,10 @@ public boolean invoke(final Navigation navigation) {
}
public class StopMove extends NativeMethodPublic {
- public void invoke(final Navigation navigation) {
+ public void invoke(final NavigationAbstract navigation) {
try {
// this.c = null;
- navigation.h();
+ navigation.k();
} catch(Throwable e) {
this.handleException(e);
}
@@ -48,7 +47,7 @@ public void invoke(final Navigation navigation) {
}
public class MoveToEntity extends NativeMethodPublic {
- public void invoke(final Navigation navigation, EntityLiving entity, double movementSpeedMultiplicator) {
+ public void invoke(final NavigationAbstract navigation, EntityLiving entity, double movementSpeedMultiplicator) {
try {
navigation.a(entity, movementSpeedMultiplicator);
} catch(Throwable e) {
@@ -58,7 +57,7 @@ public void invoke(final Navigation navigation, EntityLiving entity, double move
}
public class MoveAlongPath extends NativeMethodPublic {
- public void invoke(final Navigation navigation, PathEntity path, double movementSpeedMultiplicator) {
+ public void invoke(final NavigationAbstract navigation, PathEntity path, double movementSpeedMultiplicator) {
try {
navigation.a(path, movementSpeedMultiplicator);
} catch(Throwable e) {
@@ -68,7 +67,7 @@ public void invoke(final Navigation navigation, PathEntity path, double movement
}
public class CreatePathToEntity extends NativeMethodPublic {
- public PathEntity invoke(final Navigation navigation, final EntityLiving entity) {
+ public PathEntity invoke(final NavigationAbstract navigation, final EntityLiving entity) {
try {
return navigation.a(entity);
} catch(Throwable e) {
@@ -79,7 +78,7 @@ public PathEntity invoke(final Navigation navigation, final EntityLiving entity)
}
public class CreatePathToLocation extends NativeMethodPublic {
- public PathEntity invoke(final Navigation navigation, final double x, final double y, final double z) {
+ public PathEntity invoke(final NavigationAbstract navigation, final double x, final double y, final double z) {
try {
return navigation.a(x,y,z);
} catch(Throwable e) {
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsPathfinderGoalSelector.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsPathfinderGoalSelector.java
index 91e6030..c537ff1 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsPathfinderGoalSelector.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsPathfinderGoalSelector.java
@@ -1,9 +1,9 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.server;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
-import net.minecraft.server.v1_7_R1.PathfinderGoalSelector;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.PathfinderGoalSelector;
-import org.bukkit.craftbukkit.v1_7_R1.util.UnsafeList;
+import org.bukkit.craftbukkit.v1_8_R3.util.UnsafeList;
import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.primitives.NativeFieldObject;
import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.system.NativeMethodPublic;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsPathfinderGoalSelectorItem.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsPathfinderGoalSelectorItem.java
index 5bed2de..5c83f21 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsPathfinderGoalSelectorItem.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsPathfinderGoalSelectorItem.java
@@ -1,6 +1,6 @@
package de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.server;
-import net.minecraft.server.v1_7_R1.PathfinderGoal;
+import net.minecraft.server.v1_8_R3.PathfinderGoal;
import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.primitives.NativeFieldInt;
import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.primitives.NativeFieldObject;
diff --git a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsWorld.java b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsWorld.java
index c59556d..89e0bf6 100644
--- a/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsWorld.java
+++ b/src/main/java/de/ntcomputer/minecraft/controllablemobs/implementation/nativeinterfaces/server/NmsWorld.java
@@ -3,18 +3,18 @@
import java.util.Collections;
import java.util.List;
-import net.minecraft.server.v1_7_R1.AxisAlignedBB;
-import net.minecraft.server.v1_7_R1.Entity;
-import net.minecraft.server.v1_7_R1.IEntitySelector;
-import net.minecraft.server.v1_7_R1.World;
+import com.google.common.base.Predicate;
+
+import net.minecraft.server.v1_8_R3.AxisAlignedBB;
+import net.minecraft.server.v1_8_R3.Entity;
+import net.minecraft.server.v1_8_R3.World;
import de.ntcomputer.minecraft.controllablemobs.implementation.nativeinterfaces.system.NativeMethodPublic;
public class NmsWorld {
public final SearchEntities METHOD_SEARCHENTITIES = new SearchEntities();
public class SearchEntities extends NativeMethodPublic {
- @SuppressWarnings("unchecked")
- public List invoke(World world, Class classLookingFor, AxisAlignedBB area, IEntitySelector entitySelector) {
+ public List invoke(World world, Class classLookingFor, AxisAlignedBB area, Predicate entitySelector) {
try {
return world.a(classLookingFor, area, entitySelector);
} catch(Throwable e) {
diff --git a/target/Controllable-Mobs-API-1.7.10-R4.jar b/target/Controllable-Mobs-API-1.7.10-R4.jar
new file mode 100644
index 0000000..92c0ef7
Binary files /dev/null and b/target/Controllable-Mobs-API-1.7.10-R4.jar differ