From fdb85f26511a134a1dde351fdbdce46d26545bdb Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Sun, 10 Nov 2024 03:26:07 +0800 Subject: [PATCH] =?UTF-8?q?=E9=81=A5=E6=8E=A7=E6=97=A0=E4=BA=BA=E6=9C=BA?= =?UTF-8?q?=E6=97=B6=E5=88=87=E6=8D=A2=E5=88=B0=E7=AC=AC=E4=B8=89=E4=BA=BA?= =?UTF-8?q?=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mcreator/superbwarfare/item/Monitor.java | 26 ++++++++++++++++--- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/mcreator/superbwarfare/item/Monitor.java b/src/main/java/net/mcreator/superbwarfare/item/Monitor.java index 6bb202c12..d2d40d088 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/Monitor.java +++ b/src/main/java/net/mcreator/superbwarfare/item/Monitor.java @@ -5,6 +5,7 @@ import com.google.common.collect.Multimap; import net.mcreator.superbwarfare.entity.DroneEntity; import net.mcreator.superbwarfare.tools.ItemNBTTool; import net.minecraft.ChatFormatting; +import net.minecraft.client.CameraType; import net.minecraft.client.Minecraft; import net.minecraft.network.chat.Component; import net.minecraft.world.InteractionHand; @@ -51,7 +52,13 @@ public class Monitor extends Item { return super.use(world, player, hand); } - stack.getOrCreateTag().putBoolean("Using", !stack.getOrCreateTag().getBoolean("Using")); + if (stack.getOrCreateTag().getBoolean("Using")) { + stack.getOrCreateTag().putBoolean("Using", false); + Minecraft.getInstance().options.setCameraType(CameraType.FIRST_PERSON); + } else { + stack.getOrCreateTag().putBoolean("Using", true); + Minecraft.getInstance().options.setCameraType(CameraType.THIRD_PERSON_BACK); + } DroneEntity drone = player.level().getEntitiesOfClass(DroneEntity.class, player.getBoundingBox().inflate(512)) .stream().filter(e -> e.getStringUUID().equals(stack.getOrCreateTag().getString("LinkedDrone"))).findFirst().orElse(null); @@ -101,10 +108,14 @@ public class Monitor extends Item { @Override public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) { super.inventoryTick(itemstack, world, entity, slot, selected); + DroneEntity drone = entity.level().getEntitiesOfClass(DroneEntity.class, entity.getBoundingBox().inflate(512)) + .stream().filter(e -> e.getStringUUID().equals(itemstack.getOrCreateTag().getString("LinkedDrone"))).findFirst().orElse(null); + if (!selected) { - itemstack.getOrCreateTag().putBoolean("Using", false); - DroneEntity drone = entity.level().getEntitiesOfClass(DroneEntity.class, entity.getBoundingBox().inflate(512)) - .stream().filter(e -> e.getStringUUID().equals(itemstack.getOrCreateTag().getString("LinkedDrone"))).findFirst().orElse(null); + if (itemstack.getOrCreateTag().getBoolean("Using")) { + itemstack.getOrCreateTag().putBoolean("Using", false); + Minecraft.getInstance().options.setCameraType(CameraType.FIRST_PERSON); + } if (drone != null) { drone.getPersistentData().putBoolean("left", false); @@ -114,6 +125,13 @@ public class Monitor extends Item { drone.getPersistentData().putBoolean("up", false); drone.getPersistentData().putBoolean("down", false); } + } else { + if (drone == null) { + if (itemstack.getOrCreateTag().getBoolean("Using")) { + itemstack.getOrCreateTag().putBoolean("Using", false); + Minecraft.getInstance().options.setCameraType(CameraType.FIRST_PERSON); + } + } } } }