fix up some things

This commit is contained in:
Tofaa 2024-01-22 23:01:11 +03:00
parent fb3bb8abaa
commit 1aea64407c
3 changed files with 48 additions and 75 deletions

View file

@ -5,10 +5,8 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="9d5d9b6f-43c8-41a4-bb42-a66ffc96c9b0" name="Changes" comment=""> <list default="true" id="9d5d9b6f-43c8-41a4-bb42-a66ffc96c9b0" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/me/tofaa/entitylib/entity/WrapperEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/tofaa/entitylib/entity/WrapperEntity.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/main/java/me/tofaa/entitylib/entity/WrapperEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/me/tofaa/entitylib/entity/WrapperEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test-plugin/src/main/java/me/tofaa/entitylib/TestDisplayCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/test-plugin/src/main/java/me/tofaa/entitylib/TestDisplayCommand.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/test-plugin/src/main/java/me/tofaa/entitylib/TestCommand.java" beforeDir="false" afterPath="$PROJECT_DIR$/test-plugin/src/main/java/me/tofaa/entitylib/TestCommand.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/test-plugin/src/main/resources/plugin.yml" beforeDir="false" afterPath="$PROJECT_DIR$/test-plugin/src/main/resources/plugin.yml" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -71,30 +69,30 @@
<option name="showExcludedFiles" value="false" /> <option name="showExcludedFiles" value="false" />
<option name="showLibraryContents" value="true" /> <option name="showLibraryContents" value="true" />
</component> </component>
<component name="PropertiesComponent">{ <component name="PropertiesComponent"><![CDATA[{
&quot;keyToString&quot;: { "keyToString": {
&quot;Gradle.Build EntityLib.executor&quot;: &quot;Run&quot;, "Gradle.Build EntityLib.executor": "Run",
&quot;Gradle.EntityLib:test-plugin [runServer].executor&quot;: &quot;Debug&quot;, "Gradle.EntityLib:test-plugin [runServer].executor": "Run",
&quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;, "RunOnceActivity.OpenProjectViewOnStart": "true",
&quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;, "RunOnceActivity.ShowReadmeOnStart": "true",
&quot;WebServerToolWindowFactoryState&quot;: &quot;false&quot;, "WebServerToolWindowFactoryState": "false",
&quot;git-widget-placeholder&quot;: &quot;master&quot;, "git-widget-placeholder": "master",
&quot;ignore.virus.scanning.warn.message&quot;: &quot;true&quot;, "ignore.virus.scanning.warn.message": "true",
&quot;jdk.selected.JAVA_MODULE&quot;: &quot;corretto-17&quot;, "jdk.selected.JAVA_MODULE": "corretto-17",
&quot;kotlin-language-version-configured&quot;: &quot;true&quot;, "kotlin-language-version-configured": "true",
&quot;last_opened_file_path&quot;: &quot;D:/Github/EntityLib&quot;, "last_opened_file_path": "D:/Github/EntityLib",
&quot;node.js.detected.package.eslint&quot;: &quot;true&quot;, "node.js.detected.package.eslint": "true",
&quot;node.js.detected.package.tslint&quot;: &quot;true&quot;, "node.js.detected.package.tslint": "true",
&quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;, "node.js.selected.package.eslint": "(autodetect)",
&quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;, "node.js.selected.package.tslint": "(autodetect)",
&quot;nodejs_package_manager_path&quot;: &quot;npm&quot;, "nodejs_package_manager_path": "npm",
&quot;project.structure.last.edited&quot;: &quot;Modules&quot;, "project.structure.last.edited": "Modules",
&quot;project.structure.proportion&quot;: &quot;0.0&quot;, "project.structure.proportion": "0.0",
&quot;project.structure.side.proportion&quot;: &quot;0.0&quot;, "project.structure.side.proportion": "0.0",
&quot;settings.editor.selected.configurable&quot;: &quot;preferences.pluginManager&quot;, "settings.editor.selected.configurable": "preferences.pluginManager",
&quot;vue.rearranger.settings.migration&quot;: &quot;true&quot; "vue.rearranger.settings.migration": "true"
} }
}</component> }]]></component>
<component name="RecentsManager"> <component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS"> <key name="CopyFile.RECENT_KEYS">
<recent name="D:\Github\EntityLib\test-plugin" /> <recent name="D:\Github\EntityLib\test-plugin" />
@ -214,7 +212,7 @@
<workItem from="1705534524814" duration="15424000" /> <workItem from="1705534524814" duration="15424000" />
<workItem from="1705578156456" duration="78000" /> <workItem from="1705578156456" duration="78000" />
<workItem from="1705636302508" duration="7111000" /> <workItem from="1705636302508" duration="7111000" />
<workItem from="1705951390204" duration="1790000" /> <workItem from="1705951390204" duration="2221000" />
</task> </task>
<servers /> <servers />
</component> </component>

View file

@ -95,6 +95,7 @@ public class WrapperEntity implements Tickable {
WrapperEntity e = EntityLib.getEntity(passenger); WrapperEntity e = EntityLib.getEntity(passenger);
if (e != null) { if (e != null) {
e.riding = -1; e.riding = -1;
e.teleport(e.getLocation());
} }
} }

View file

@ -1,71 +1,45 @@
package me.tofaa.entitylib; package me.tofaa.entitylib;
import com.github.retrooper.packetevents.PacketEvents;
import com.github.retrooper.packetevents.protocol.entity.type.EntityTypes; import com.github.retrooper.packetevents.protocol.entity.type.EntityTypes;
import com.github.retrooper.packetevents.util.Vector3d; import com.github.retrooper.packetevents.protocol.world.Location;
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerEntityMetadata; import io.github.retrooper.packetevents.util.SpigotConversionUtil;
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerSpawnEntity; import me.tofaa.entitylib.entity.WrapperEntity;
import me.tofaa.entitylib.meta.EntityMeta;
import me.tofaa.entitylib.meta.mobs.passive.SheepMeta;
import org.bukkit.Bukkit;
import org.bukkit.command.Command; import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitTask;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import java.util.Optional;
import java.util.UUID; import java.util.UUID;
public class TestCommand implements CommandExecutor { public class TestCommand implements CommandExecutor {
private int entityId = -1; private WrapperEntity base, passenger;
private BukkitTask task;
@Override @Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
if (!(sender instanceof Player)) return false; if (!(sender instanceof Player)) return false;
Player player = (Player) sender; Player player = (Player) sender;
if (entityId == -1) {
createEntity(player); if (base != null) {
} base.removePassenger(passenger);
SheepMeta meta = EntityLib.getMeta(entityId, SheepMeta.class); player.sendMessage("Removed");
if (task == null || task.isCancelled()) {
this.task = Bukkit.getScheduler().runTaskTimer(EntityLibPlugin.instance, () -> {
byte randomColor = (byte) (Math.random() * 15);
meta.setColor(randomColor);
meta.setSheared(!meta.isSheared());
WrapperPlayServerEntityMetadata packet = meta.createPacket();
packet.getEntityMetadata().forEach(s -> player.sendMessage(s.getValue().toString()));
PacketEvents.getAPI().getPlayerManager().getUser(player).sendPacket(packet);
player.sendMessage("Color is now " + meta.getColor() + " (" + randomColor + ")");
}, 0L, 4L);
}
else {
task.cancel();
task = null;
}
return true; return true;
} }
void createEntity(Player player) { base = EntityLib.createEntity(UUID.randomUUID(), EntityTypes.SHEEP);
entityId = (int) (Math.random() * 99999); passenger = EntityLib.createEntity(UUID.randomUUID(), EntityTypes.SKELETON);
Optional<UUID> uuid = Optional.of(UUID.randomUUID());
Optional<Vector3d> velocity = Optional.empty(); Location location = SpigotConversionUtil.fromBukkitLocation(player.getLocation());
WrapperPlayServerSpawnEntity packet = new WrapperPlayServerSpawnEntity( Location pass = location.clone();
entityId, pass.setPosition(location.getPosition().add(1, 0, 1));
uuid, base.spawn(location);
EntityTypes.SHEEP, passenger.spawn(pass);
new Vector3d(player.getLocation().getX(), player.getLocation().getY(), player.getLocation().getZ()), base.addPassenger(passenger);
player.getLocation().getPitch(),
player.getLocation().getYaw(), player.sendMessage("Spawned");
90,
0, return true;
velocity
);
PacketEvents.getAPI().getPlayerManager().getUser(player).sendPacket(packet);
EntityMeta meta = EntityLib.createMeta(entityId, EntityTypes.SHEEP);
player.sendMessage("Meta class is " + meta.getClass().getSimpleName());
} }
} }