From 1aea64407c13b84e85cc8085d3687141ede1bad5 Mon Sep 17 00:00:00 2001 From: Tofaa <82680183+Tofaa2@users.noreply.github.com> Date: Mon, 22 Jan 2024 23:01:11 +0300 Subject: [PATCH] fix up some things --- .idea/workspace.xml | 52 +++++++------- .../tofaa/entitylib/entity/WrapperEntity.java | 1 + .../java/me/tofaa/entitylib/TestCommand.java | 70 ++++++------------- 3 files changed, 48 insertions(+), 75 deletions(-) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index fa195ae..99878b8 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -5,10 +5,8 @@ - - - + - { - "keyToString": { - "Gradle.Build EntityLib.executor": "Run", - "Gradle.EntityLib:test-plugin [runServer].executor": "Debug", - "RunOnceActivity.OpenProjectViewOnStart": "true", - "RunOnceActivity.ShowReadmeOnStart": "true", - "WebServerToolWindowFactoryState": "false", - "git-widget-placeholder": "master", - "ignore.virus.scanning.warn.message": "true", - "jdk.selected.JAVA_MODULE": "corretto-17", - "kotlin-language-version-configured": "true", - "last_opened_file_path": "D:/Github/EntityLib", - "node.js.detected.package.eslint": "true", - "node.js.detected.package.tslint": "true", - "node.js.selected.package.eslint": "(autodetect)", - "node.js.selected.package.tslint": "(autodetect)", - "nodejs_package_manager_path": "npm", - "project.structure.last.edited": "Modules", - "project.structure.proportion": "0.0", - "project.structure.side.proportion": "0.0", - "settings.editor.selected.configurable": "preferences.pluginManager", - "vue.rearranger.settings.migration": "true" + +}]]> @@ -214,7 +212,7 @@ - + diff --git a/src/main/java/me/tofaa/entitylib/entity/WrapperEntity.java b/src/main/java/me/tofaa/entitylib/entity/WrapperEntity.java index 33ed672..5a5b8b7 100644 --- a/src/main/java/me/tofaa/entitylib/entity/WrapperEntity.java +++ b/src/main/java/me/tofaa/entitylib/entity/WrapperEntity.java @@ -95,6 +95,7 @@ public class WrapperEntity implements Tickable { WrapperEntity e = EntityLib.getEntity(passenger); if (e != null) { e.riding = -1; + e.teleport(e.getLocation()); } } diff --git a/test-plugin/src/main/java/me/tofaa/entitylib/TestCommand.java b/test-plugin/src/main/java/me/tofaa/entitylib/TestCommand.java index 719ebba..4446ee0 100644 --- a/test-plugin/src/main/java/me/tofaa/entitylib/TestCommand.java +++ b/test-plugin/src/main/java/me/tofaa/entitylib/TestCommand.java @@ -1,71 +1,45 @@ package me.tofaa.entitylib; -import com.github.retrooper.packetevents.PacketEvents; import com.github.retrooper.packetevents.protocol.entity.type.EntityTypes; -import com.github.retrooper.packetevents.util.Vector3d; -import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerEntityMetadata; -import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerSpawnEntity; -import me.tofaa.entitylib.meta.EntityMeta; -import me.tofaa.entitylib.meta.mobs.passive.SheepMeta; -import org.bukkit.Bukkit; +import com.github.retrooper.packetevents.protocol.world.Location; +import io.github.retrooper.packetevents.util.SpigotConversionUtil; +import me.tofaa.entitylib.entity.WrapperEntity; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -import org.bukkit.scheduler.BukkitTask; import org.jetbrains.annotations.NotNull; -import java.util.Optional; import java.util.UUID; public class TestCommand implements CommandExecutor { - private int entityId = -1; - private BukkitTask task; + private WrapperEntity base, passenger; @Override public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { if (!(sender instanceof Player)) return false; Player player = (Player) sender; - if (entityId == -1) { - createEntity(player); - } - SheepMeta meta = EntityLib.getMeta(entityId, SheepMeta.class); - 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; + + if (base != null) { + base.removePassenger(passenger); + player.sendMessage("Removed"); + return true; } + + base = EntityLib.createEntity(UUID.randomUUID(), EntityTypes.SHEEP); + passenger = EntityLib.createEntity(UUID.randomUUID(), EntityTypes.SKELETON); + + Location location = SpigotConversionUtil.fromBukkitLocation(player.getLocation()); + Location pass = location.clone(); + pass.setPosition(location.getPosition().add(1, 0, 1)); + base.spawn(location); + passenger.spawn(pass); + base.addPassenger(passenger); + + player.sendMessage("Spawned"); + return true; } - void createEntity(Player player) { - entityId = (int) (Math.random() * 99999); - Optional uuid = Optional.of(UUID.randomUUID()); - Optional velocity = Optional.empty(); - WrapperPlayServerSpawnEntity packet = new WrapperPlayServerSpawnEntity( - entityId, - uuid, - EntityTypes.SHEEP, - new Vector3d(player.getLocation().getX(), player.getLocation().getY(), player.getLocation().getZ()), - player.getLocation().getPitch(), - player.getLocation().getYaw(), - 90, - 0, - velocity - ); - PacketEvents.getAPI().getPlayerManager().getUser(player).sendPacket(packet); - EntityMeta meta = EntityLib.createMeta(entityId, EntityTypes.SHEEP); - player.sendMessage("Meta class is " + meta.getClass().getSimpleName()); - } }