This commit is contained in:
Govindas 2020-01-13 12:58:19 +02:00
parent d0b756c828
commit 9ad182f740
16 changed files with 234 additions and 178 deletions

8
.gitignore vendored
View File

@ -1,5 +1,5 @@
out
bin
META-INF
out/
bin/
META-INF/
.settings
.idea
.idea/

View File

@ -0,0 +1,10 @@
<component name="ArtifactManager">
<artifact type="jar" build-on-make="true" name="SkStuff:jar">
<output-path>$PROJECT_DIR$/out/artifacts/SkStuff_jar</output-path>
<root id="archive" name="SkStuff.jar">
<element id="module-output" name="SkStuff" />
<element id="file-copy" path="$PROJECT_DIR$/plugin.yml" />
<element id="dir-copy" path="$PROJECT_DIR$/src" />
</root>
</artifact>
</component>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DiscordProjectSettings">
<option name="show" value="true" />
</component>
<component name="ProjectNotificationSettings">
<option name="askShowProject" value="false" />
</component>
</project>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/SkStuff.iml" filepath="$PROJECT_DIR$/SkStuff.iml" />
</modules>
</component>
</project>

View File

@ -0,0 +1,75 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="70d91eb4-a0dc-47e6-9359-422d8a6dbe67" name="Default Changelist" comment="" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="ErrorTreeViewConfiguration">
<option name="autoscrollToSource" value="true" />
<option name="IS_AUTOSCROLL_TO_SOURCE" value="true" />
</component>
<component name="ProjectId" id="1TbbrehnIFtL8XeJqI8ub1rnUl0" />
<component name="ProjectViewState">
<option name="showExcludedFiles" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">
<property name="last_opened_file_path" value="$PROJECT_DIR$/../import/craftbukkit-1.15.1-R0.1-SNAPSHOT.jar!/" />
<property name="project.structure.last.edited" value="Modules" />
<property name="project.structure.proportion" value="0.15" />
<property name="project.structure.side.proportion" value="0.2" />
<property name="run.code.analysis.last.selected.profile" value="pProject Default" />
</component>
<component name="RecentsManager">
<key name="CopyClassDialog.RECENTS_KEY">
<recent name="me.TheBukor.SkStuff.util" />
<recent name="me.TheBukor.SkStuff.pathfinders" />
</key>
</component>
<component name="ServiceViewManager">
<option name="viewStates">
<list>
<serviceView>
<treeState>
<expand />
<select />
</treeState>
</serviceView>
</list>
</option>
</component>
<component name="SvnConfiguration">
<configuration />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="70d91eb4-a0dc-47e6-9359-422d8a6dbe67" name="Default Changelist" comment="" />
<created>1573731941395</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1573731941395</updated>
</task>
<servers />
</component>
<component name="WindowStateProjectService">
<state x="479" y="248" width="408" height="241" key="#com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesDialog.classes" timestamp="1578911142305">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state x="479" y="248" width="408" height="241" key="#com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesDialog.classes/0.0.1366.728@0.0.1366.728" timestamp="1578911142305" />
<state x="463" y="118" key="FileChooserDialogImpl" timestamp="1578911282656">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state x="463" y="118" key="FileChooserDialogImpl/0.0.1366.728@0.0.1366.728" timestamp="1578911282656" />
<state x="163" y="0" key="SettingsEditor" timestamp="1578911286394">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state x="163" y="0" key="SettingsEditor/0.0.1366.728@0.0.1366.728" timestamp="1578911286394" />
<state x="65" y="0" key="new project wizard" timestamp="1577106946881">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state x="65" y="0" key="new project wizard/0.0.1366.728@0.0.1366.728" timestamp="1577106946881" />
</component>
</project>

View File

@ -3,8 +3,7 @@
<output-path>$PROJECT_DIR$/out/artifacts/SkStuff_jar</output-path>
<root id="archive" name="SkStuff.jar">
<element id="module-output" name="SkStuff" />
<element id="file-copy" path="$PROJECT_DIR$/plugin.yml" />
<element id="dir-copy" path="$PROJECT_DIR$/src" />
<element id="module-source" name="SkStuff" />
</root>
</artifact>
</component>

View File

@ -1,31 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="70d91eb4-a0dc-47e6-9359-422d8a6dbe67" name="Default Changelist" comment="" />
<list default="true" id="72e0643a-ea45-4e93-b5a5-734a94c41ff5" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/src/me/TheBukor/SkStuff/pathfinders/PathfinderGoalFollow_v1_15_R1.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.gitignore" beforeDir="false" afterPath="$PROJECT_DIR$/.gitignore" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/$PRODUCT_WORKSPACE_FILE$" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/artifacts/SkStuff_jar.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/artifacts/SkStuff_jar.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/dictionaries/Govindas.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/uiDesigner.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/SkStuff.iml" beforeDir="false" afterPath="$PROJECT_DIR$/SkStuff.iml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/bin/me/TheBukor/SkStuff/effects/EffSetPathGoal.class" beforeDir="false" afterPath="$PROJECT_DIR$/bin/me/TheBukor/SkStuff/effects/EffSetPathGoal.class" afterDir="false" />
<change beforePath="$PROJECT_DIR$/out/artifacts/SkStuff_jar/SkStuff.jar" beforeDir="false" afterPath="$PROJECT_DIR$/out/artifacts/SkStuff_jar/SkStuff.jar" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/META-INF/MANIFEST.MF" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/me/TheBukor/SkStuff/effects/EffSetPathGoal.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/me/TheBukor/SkStuff/effects/EffSetPathGoal.java" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="ErrorTreeViewConfiguration">
<option name="autoscrollToSource" value="true" />
<option name="IS_AUTOSCROLL_TO_SOURCE" value="true" />
</component>
<component name="ProjectId" id="1TbbrehnIFtL8XeJqI8ub1rnUl0" />
<component name="ProjectViewState">
<option name="showExcludedFiles" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">
<property name="last_opened_file_path" value="$PROJECT_DIR$/../import/craftbukkit-1.15.1-R0.1-SNAPSHOT.jar!/" />
<property name="project.structure.last.edited" value="Modules" />
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../../import/Skript 2.3.7.jar!/" />
<property name="project.structure.last.edited" value="Artifacts" />
<property name="project.structure.proportion" value="0.15" />
<property name="project.structure.side.proportion" value="0.2" />
<property name="run.code.analysis.last.selected.profile" value="pProject Default" />
</component>
<component name="RecentsManager">
<key name="CopyClassDialog.RECENTS_KEY">
<recent name="me.TheBukor.SkStuff.util" />
<recent name="me.TheBukor.SkStuff.pathfinders" />
</key>
</component>
@ -46,30 +53,26 @@
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="70d91eb4-a0dc-47e6-9359-422d8a6dbe67" name="Default Changelist" comment="" />
<created>1573731941395</created>
<changelist id="72e0643a-ea45-4e93-b5a5-734a94c41ff5" name="Default Changelist" comment="" />
<created>1578912360094</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1573731941395</updated>
<updated>1578912360094</updated>
</task>
<servers />
</component>
<component name="WindowStateProjectService">
<state x="479" y="248" width="408" height="241" key="#com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesDialog.classes" timestamp="1578911142305">
<state x="524" y="109" key="#com.intellij.openapi.roots.ui.configuration.libraryEditor.LibraryEditorDialog" timestamp="1578912712598">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state x="479" y="248" width="408" height="241" key="#com.intellij.refactoring.move.moveClassesOrPackages.MoveClassesOrPackagesDialog.classes/0.0.1366.728@0.0.1366.728" timestamp="1578911142305" />
<state x="463" y="118" key="FileChooserDialogImpl" timestamp="1578911282656">
<state x="524" y="109" key="#com.intellij.openapi.roots.ui.configuration.libraryEditor.LibraryEditorDialog/0.0.1366.728@0.0.1366.728" timestamp="1578912712598" />
<state x="242" y="54" key="FileChooserDialogImpl" timestamp="1578912928696">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state x="463" y="118" key="FileChooserDialogImpl/0.0.1366.728@0.0.1366.728" timestamp="1578911282656" />
<state x="163" y="0" key="SettingsEditor" timestamp="1578911286394">
<state x="242" y="54" key="FileChooserDialogImpl/0.0.1366.728@0.0.1366.728" timestamp="1578912928696" />
<state x="174" y="0" key="SettingsEditor" timestamp="1578913041185">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state x="163" y="0" key="SettingsEditor/0.0.1366.728@0.0.1366.728" timestamp="1578911286394" />
<state x="65" y="0" key="new project wizard" timestamp="1577106946881">
<screen x="0" y="0" width="1366" height="728" />
</state>
<state x="65" y="0" key="new project wizard/0.0.1366.728@0.0.1366.728" timestamp="1577106946881" />
<state x="174" y="0" key="SettingsEditor/0.0.1366.728@0.0.1366.728" timestamp="1578913041185" />
</component>
</project>

View File

@ -25,176 +25,47 @@
</content>
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
<orderEntry type="module-library" exported="">
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../import/guava-28.1-jre.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../import/Paper-API-1.13.2-2153ca4-20190925-0055.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../import/javax.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../import/ProtocolLib.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../import/gson-2.8.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../import/javax.annotation.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../import/Spigot-API-1.13.2-0c02b0c-20190425-0538.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../import/craftbukkit-1.13.2.jar!/" />
<root url="jar://$MODULE_DIR$/../../import/craftbukkit-1.14.4-R0.1-SNAPSHOT.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MODULE_DIR$/../import/craftbukkit-1.13.2.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../import/craftbukkit-1.10.2-R0.1-SNAPSHOT-latest.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MODULE_DIR$/../import/craftbukkit-1.10.2-R0.1-SNAPSHOT-latest.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../import/craftbukkit-1.11.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MODULE_DIR$/../import/craftbukkit-1.11.2.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../import/craftbukkit-1.9.4-R0.1-SNAPSHOT-latest.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MODULE_DIR$/../import/craftbukkit-1.9.4-R0.1-SNAPSHOT-latest.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../import/craftbukkit-1.8.8-R0.1-SNAPSHOT-latest.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MODULE_DIR$/../import/craftbukkit-1.8.8-R0.1-SNAPSHOT-latest.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../import/craftbukkit-1.12.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MODULE_DIR$/../import/craftbukkit-1.12.2.jar!/" />
<root url="jar://$MODULE_DIR$/../../import/craftbukkit-1.14.4-R0.1-SNAPSHOT.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../import/craftbukkit-1.9.2-R0.1-SNAPSHOT-latest.jar!/" />
<root url="jar://$MODULE_DIR$/../../import/craftbukkit-1.15.1-R0.1-SNAPSHOT.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MODULE_DIR$/../import/craftbukkit-1.9.2-R0.1-SNAPSHOT-latest.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../import/Skript 2.2 dev36.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
<orderEntry type="module-library" exported="">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../import/craftbukkit-1.14.4-R0.1-SNAPSHOT.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MODULE_DIR$/../import/craftbukkit-1.14.4-R0.1-SNAPSHOT.jar!/" />
<root url="jar://$MODULE_DIR$/../../import/craftbukkit-1.15.1-R0.1-SNAPSHOT.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../import/craftbukkit-1.15.1-R0.1-SNAPSHOT.jar!/" />
<root url="jar://$MODULE_DIR$/../../import/craftbukkit-1.13.2.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES>
<root url="jar://$MODULE_DIR$/../import/craftbukkit-1.15.1-R0.1-SNAPSHOT.jar!/" />
<root url="jar://$MODULE_DIR$/../../import/craftbukkit-1.13.2.jar!/" />
</SOURCES>
</library>
</orderEntry>
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar://$MODULE_DIR$/../../import/Skript 2.3.7.jar!/" />
</CLASSES>
<JAVADOC />
<SOURCES />
</library>
</orderEntry>
</component>
</module>

View File

@ -1,3 +0,0 @@
Manifest-Version: 1.0
Main-Class: me.TheBukor.SkStuff.SkStuff

View File

@ -43,7 +43,6 @@ import me.TheBukor.SkStuff.SkStuff;
import me.TheBukor.SkStuff.pathfinders.PathfinderGoalFollow_v1_13_R2;
import me.TheBukor.SkStuff.pathfinders.PathfinderGoalFollow_v1_14_R1;
import me.TheBukor.SkStuff.util.ReflectionUtils;
import net.minecraft.server.v1_8_R3.EntityCreature;
public final class EffSetPathGoal extends Effect {
private Expression<Integer> goalPriority;

View File

@ -0,0 +1,79 @@
package me.TheBukor.SkStuff.pathfinders;
import net.minecraft.server.v1_15_R1.Entity;
import net.minecraft.server.v1_15_R1.EntityCreature;
import net.minecraft.server.v1_15_R1.EntityLiving;
import net.minecraft.server.v1_15_R1.PathfinderGoal;
import java.util.List;
public class PathfinderGoalFollow_v1_15_R1 extends PathfinderGoal {
private EntityCreature follower;
private EntityLiving followed;
private Class<?> followedClass;
private float radius;
private double speed;
private boolean isByName;
private String customName;
public PathfinderGoalFollow_v1_15_R1(EntityCreature follower, Class<?> followedClass, float radius, double speed, boolean isByName, String customName) {
this.follower = follower;
this.followedClass = followedClass;
this.radius = radius;
this.speed = speed;
this.isByName = isByName;
this.customName = customName;
}
// a() is shouldExecute()
@SuppressWarnings("unchecked")
@Override
public boolean a() {
if (followed == null) {
List<?> list = follower.world.a((Class<? extends Entity>) followedClass, follower.getBoundingBox().grow(radius, 4.0D, radius));
if (list.isEmpty()) {
return false;
}
if (isByName) {
for (Object entity : list) {
if (((EntityLiving) entity).getCustomName().equals(customName)) {
followed = (EntityLiving) entity;
return true;
}
}
} else {
followed = (EntityLiving) list.get(0);
return true;
}
}
return true;
}
// b() is shouldContinueExecuting()
@Override
public boolean b() {
if (followed.dead) {
followed = null;
return false;
} else if (followed.h(follower) < 9.0D || followed.h(follower) > Math.pow(radius, 2)) { // h() = distanceSquaredFrom()
return false; // if 3 blocks away or not in radius, stop moving.
//Maybe I'll add a teleport feature later.
} else if (isByName) {
if (!followed.getCustomName().equals(customName)) {
followed = null;
return false;
}
}
//return follower.getNavigation().n(); // n() means hasNoPath()
return true;
// n() is now protected void and I'm not sure how to access it, so I'm just returning a boolean, this probably will cause some issues with this pathfinder goal, if you know a better solution, let me know. - Govindas.
}
// c() is execute()
@Override
public void c () {
follower.getNavigation().a(followed, speed); // a() means moveTo()
}
}