diff --git a/src/main/java/net/mcreator/target/client/ClickHandler.java b/src/main/java/net/mcreator/target/client/ClickHandler.java index 1a3650f48..f3655cd00 100644 --- a/src/main/java/net/mcreator/target/client/ClickHandler.java +++ b/src/main/java/net/mcreator/target/client/ClickHandler.java @@ -2,6 +2,7 @@ package net.mcreator.target.client; import com.mojang.blaze3d.platform.InputConstants; import net.mcreator.target.TargetMod; +import net.mcreator.target.client.gui.RangeHelper; import net.mcreator.target.entity.MortarEntity; import net.mcreator.target.init.TargetModKeyMappings; import net.mcreator.target.init.TargetModMobEffects; @@ -13,6 +14,7 @@ import net.mcreator.target.network.message.FireMessage; import net.mcreator.target.network.message.ZoomMessage; import net.mcreator.target.tools.TraceTool; import net.minecraft.client.Minecraft; +import net.minecraft.network.chat.Component; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; @@ -112,17 +114,16 @@ public class ClickHandler { event.setCanceled(true); } + if (player.hasEffect(TargetModMobEffects.SHOCK.get())) { + event.setCanceled(true); + } + Entity looking = TraceTool.findLookingEntity(player, 6); if (looking == null) return; if (looking instanceof MortarEntity && player.isShiftKeyDown()) { TargetMod.PACKET_HANDLER.sendToServer(new AdjustMortarAngleMessage(scroll)); event.setCanceled(true); } - - - if (player.hasEffect(TargetModMobEffects.SHOCK.get())) { - event.setCanceled(true); - } } private static void setKeyState(int key, int state) { diff --git a/src/main/java/net/mcreator/target/mixins/MixinCamera.java b/src/main/java/net/mcreator/target/mixins/MixinCamera.java new file mode 100644 index 000000000..aab880172 --- /dev/null +++ b/src/main/java/net/mcreator/target/mixins/MixinCamera.java @@ -0,0 +1,43 @@ +package net.mcreator.target.mixins; + +import net.mcreator.target.init.TargetModTags; +import net.minecraft.client.Camera; +import net.minecraft.client.Minecraft; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.BlockGetter; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(Camera.class) +public abstract class MixinCamera { + + @Shadow(aliases = "Lnet/minecraft/client/Camera;setRotation(FF)V") + protected abstract void setRotation(float p_90573_, float p_90574_); + + @Shadow(aliases = "Lnet/minecraft/client/Camera;setPosition(DDD)V") + protected abstract void setPosition(double p_90585_, double p_90586_, double p_90587_); + + @Inject( + at = @At(value = "INVOKE", target = "Lnet/minecraft/client/Camera;setRotation(FF)V", ordinal = 0), + method = "setup(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/world/entity/Entity;ZZF)V", + cancellable = true) + private void onSetup(BlockGetter level, Entity entity, boolean detached, boolean mirrored, float partialTicks, CallbackInfo info) { +// Minecraft mc = Minecraft.getInstance(); +// Player player = mc.player; +// +// if (player != null) { +// ItemStack stack = player.getMainHandItem(); +// +// if (stack.is(TargetModTags.Items.GUN)) { +// setRotation(player.getYRot(), player.getXRot()); +// setPosition(player.getX(), player.getY() + 3, player.getZ()); +// info.cancel(); +// } +// } + } +} diff --git a/src/main/resources/mixins.target.json b/src/main/resources/mixins.target.json index c05df7022..89afdec5f 100644 --- a/src/main/resources/mixins.target.json +++ b/src/main/resources/mixins.target.json @@ -8,6 +8,7 @@ "ClientboundSetEntityMotionPacketMixin" ], "client": [ + "MixinCamera", "KeyMappingMixin", "GameRendererMixin", "MouseHandlerMixin"