diff --git a/src/main/java/net/mcreator/target/block/BarbedWireBlock.java b/src/main/java/net/mcreator/target/block/BarbedWireBlock.java index 93cd1ecc1..f95c30626 100644 --- a/src/main/java/net/mcreator/target/block/BarbedWireBlock.java +++ b/src/main/java/net/mcreator/target/block/BarbedWireBlock.java @@ -1,9 +1,11 @@ package net.mcreator.target.block; -import net.mcreator.target.procedures.BarbedWireShiTiZaiFangKuaiZhongPengZhuangShiProcedure; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.registries.Registries; import net.minecraft.network.chat.Component; +import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.damagesource.DamageTypes; import net.minecraft.world.entity.Entity; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.TooltipFlag; @@ -17,6 +19,7 @@ import net.minecraft.world.level.block.state.StateDefinition; import net.minecraft.world.level.block.state.properties.DirectionProperty; import net.minecraft.world.level.block.state.properties.NoteBlockInstrument; import net.minecraft.world.level.storage.loot.LootParams; +import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.Shapes; import net.minecraft.world.phys.shapes.VoxelShape; @@ -81,6 +84,8 @@ public class BarbedWireBlock extends Block { @Override public void entityInside(BlockState blockstate, Level world, BlockPos pos, Entity entity) { super.entityInside(blockstate, world, pos, entity); - BarbedWireShiTiZaiFangKuaiZhongPengZhuangShiProcedure.execute(world, entity); + + entity.makeStuckInBlock(Blocks.AIR.defaultBlockState(), new Vec3(0.25, 0.05, 0.25)); + entity.hurt(new DamageSource(world.registryAccess().registryOrThrow(Registries.DAMAGE_TYPE).getHolderOrThrow(DamageTypes.CACTUS)), 1); } } diff --git a/src/main/java/net/mcreator/target/entity/Target1Entity.java b/src/main/java/net/mcreator/target/entity/Target1Entity.java index f911a3a46..225476db1 100644 --- a/src/main/java/net/mcreator/target/entity/Target1Entity.java +++ b/src/main/java/net/mcreator/target/entity/Target1Entity.java @@ -1,7 +1,11 @@ package net.mcreator.target.entity; import net.mcreator.target.init.TargetModEntities; -import net.mcreator.target.procedures.*; +import net.mcreator.target.init.TargetModItems; +import net.mcreator.target.init.TargetModSounds; +import net.mcreator.target.network.TargetModVariables; +import net.mcreator.target.procedures.Target1DangShiTiGengXinKeShiProcedure; +import net.minecraft.commands.arguments.EntityAnchorArgument; import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.protocol.Packet; @@ -9,6 +13,7 @@ import net.minecraft.network.protocol.game.ClientGamePacketListener; import net.minecraft.network.syncher.EntityDataAccessor; import net.minecraft.network.syncher.EntityDataSerializers; import net.minecraft.network.syncher.SynchedEntityData; +import net.minecraft.sounds.SoundSource; import net.minecraft.world.DifficultyInstance; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; @@ -26,6 +31,7 @@ import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; import net.minecraft.world.level.ServerLevelAccessor; import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.phys.Vec3; import net.minecraftforge.network.NetworkHooks; import net.minecraftforge.network.PlayMessages; import software.bernie.geckolib.animatable.GeoEntity; @@ -44,9 +50,7 @@ public class Target1Entity extends PathfinderMob implements GeoEntity { public static final EntityDataAccessor ANIMATION = SynchedEntityData.defineId(Target1Entity.class, EntityDataSerializers.STRING); public static final EntityDataAccessor TEXTURE = SynchedEntityData.defineId(Target1Entity.class, EntityDataSerializers.STRING); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); - private boolean swinging; - private boolean lastloop; - private long lastSwing; + public String animationprocedure = "empty"; public Target1Entity(PlayMessages.SpawnEntity packet, Level world) { @@ -89,7 +93,7 @@ public class Target1Entity extends PathfinderMob implements GeoEntity { @Override public MobType getMobType() { - return MobType.UNDEFINED; + return super.getMobType(); } @Override @@ -104,7 +108,12 @@ public class Target1Entity extends PathfinderMob implements GeoEntity { @Override public boolean hurt(DamageSource source, float amount) { - Target1DangShiTiShouShangShiProcedure.execute(this.level(), this.getX(), this.getY(), this.getZ()); + if (!this.level().isClientSide()) { + this.level().playSound(null, BlockPos.containing(this.getX(), this.getY(), this.getZ()), TargetModSounds.HIT.get(), SoundSource.BLOCKS, 2, 1); + } else { + this.level().playLocalSound(this.getX(), this.getY(), this.getZ(), TargetModSounds.HIT.get(), SoundSource.BLOCKS, 2, 1, false); + } + if (source.is(DamageTypes.IN_FIRE)) return false; if (source.getDirectEntity() instanceof ThrownPotion || source.getDirectEntity() instanceof AreaEffectCloud) @@ -130,9 +139,16 @@ public class Target1Entity extends PathfinderMob implements GeoEntity { @Override public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType reason, @Nullable SpawnGroupData livingdata, @Nullable CompoundTag tag) { - SpawnGroupData retval = super.finalizeSpawn(world, difficulty, reason, livingdata, tag); - Target1ShiTiChuShiShengChengShiProcedure.execute(this); - return retval; + SpawnGroupData data = super.finalizeSpawn(world, difficulty, reason, livingdata, tag); + + this.setYRot(0); + this.setXRot(0); + this.setYBodyRot(this.getYRot()); + this.setYHeadRot(this.getYRot()); + this.yRotO = this.getYRot(); + this.xRotO = this.getXRot(); + + return data; } @Override @@ -149,18 +165,32 @@ public class Target1Entity extends PathfinderMob implements GeoEntity { } @Override - public InteractionResult mobInteract(Player sourceentity, InteractionHand hand) { - ItemStack itemstack = sourceentity.getItemInHand(hand); - InteractionResult retval = InteractionResult.sidedSuccess(this.level().isClientSide()); - super.mobInteract(sourceentity, hand); - double x = this.getX(); - double y = this.getY(); - double z = this.getZ(); - Entity entity = this; - Level world = this.level(); + public InteractionResult mobInteract(Player player, InteractionHand hand) { + InteractionResult result = InteractionResult.sidedSuccess(this.level().isClientSide()); + super.mobInteract(player, hand); - Target1DangYouJiShiTiShiProcedure.execute(y, entity, sourceentity); - return retval; + if (player.isShiftKeyDown()) { + if (!this.level().isClientSide()) { + this.discard(); + } + + player.addItem(new ItemStack(TargetModItems.TARGET_DEPLOYER.get())); + } else { + if (!(player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).zooming) { + this.lookAt(EntityAnchorArgument.Anchor.EYES, new Vec3((player.getX()), this.getY(), (player.getZ()))); + + this.setYRot(this.getYRot()); + this.setXRot(0); + this.setYBodyRot(this.getYRot()); + this.setYHeadRot(this.getYRot()); + this.yRotO = this.getYRot(); + this.xRotO = this.getXRot(); + + this.getPersistentData().putDouble("targetdown", 0); + } + } + + return result; } @Override @@ -172,15 +202,17 @@ public class Target1Entity extends PathfinderMob implements GeoEntity { @Override public EntityDimensions getDimensions(Pose p_33597_) { - Entity entity = this; + float num; + if (this.getPersistentData().getDouble("targetdown") > 0) { + num = 0.1f; + } else { + num = 1f; + } - Level world = this.level(); - double x = this.getX(); - double y = entity.getY(); - double z = entity.getZ(); - return super.getDimensions(p_33597_).scale((float) BazipengzhuangProcedure.execute(entity)); + return super.getDimensions(p_33597_).scale(num); } + @Override public boolean isPushable() { return false; @@ -225,14 +257,14 @@ public class Target1Entity extends PathfinderMob implements GeoEntity { return builder; } - private PlayState movementPredicate(AnimationState event) { + private PlayState movementPredicate(AnimationState event) { if (this.animationprocedure.equals("empty")) { return event.setAndContinue(RawAnimation.begin().thenLoop("animation.target.idle")); } return PlayState.STOP; } - private PlayState procedurePredicate(AnimationState event) { + private PlayState procedurePredicate(AnimationState event) { if (!animationprocedure.equals("empty") && event.getController().getAnimationState() == AnimationController.State.STOPPED) { event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationprocedure)); if (event.getController().getAnimationState() == AnimationController.State.STOPPED) { diff --git a/src/main/java/net/mcreator/target/entity/TaserBulletProjectileEntity.java b/src/main/java/net/mcreator/target/entity/TaserBulletProjectileEntity.java index 0fe44a01a..ce68c92bb 100644 --- a/src/main/java/net/mcreator/target/entity/TaserBulletProjectileEntity.java +++ b/src/main/java/net/mcreator/target/entity/TaserBulletProjectileEntity.java @@ -5,7 +5,6 @@ import net.mcreator.target.headshot.IHeadshotBox; import net.mcreator.target.init.TargetModEntities; import net.mcreator.target.network.TargetModVariables; import net.mcreator.target.procedures.TaserBulletDangTouZhiWuJiZhongShiTiShiProcedure; -import net.mcreator.target.procedures.TaserBulletTouZhiWuFeiXingKeProcedure; import net.minecraft.commands.CommandSource; import net.minecraft.commands.CommandSourceStack; import net.minecraft.network.protocol.Packet; @@ -74,14 +73,13 @@ public class TaserBulletProjectileEntity extends AbstractArrow implements ItemSu @Override protected void onHitEntity(EntityHitResult result) { - final Vec3 position = this.position(); Entity entity = result.getEntity(); if (this.getOwner() instanceof LivingEntity living) { - double _setval = 25; living.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { - capability.hitind = _setval; + capability.hitind = 25; capability.syncPlayerVariables(living); }); + if (!living.level().isClientSide() && living.getServer() != null) { living.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, living.position(), living.getRotationVector(), living.level() instanceof ServerLevel ? (ServerLevel) living.level() : null, 4, living.getName().getString(), living.getDisplayName(), living.level().getServer(), living), "playsound target:indication voice @a ~ ~ ~ 1 1"); @@ -113,9 +111,8 @@ public class TaserBulletProjectileEntity extends AbstractArrow implements ItemSu if (headshot) { if (this.getOwner() instanceof LivingEntity living) { setBaseDamage(getBaseDamage() * 1.5f); - double _setval = 25; living.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { - capability.headind = _setval; + capability.headind = 25; capability.syncPlayerVariables(living); }); if (!living.level().isClientSide() && living.getServer() != null) { @@ -135,7 +132,12 @@ public class TaserBulletProjectileEntity extends AbstractArrow implements ItemSu @Override public void tick() { super.tick(); - TaserBulletTouZhiWuFeiXingKeProcedure.execute(this); + + this.getPersistentData().putDouble("live", (this.getPersistentData().getDouble("live") + 1)); + if (this.getPersistentData().getDouble("live") == 5) { + this.setDeltaMovement(new Vec3(0, 0, 0)); + } + if (this.tickCount > 200) { this.discard(); } diff --git a/src/main/java/net/mcreator/target/procedures/BarbedWireShiTiZaiFangKuaiZhongPengZhuangShiProcedure.java b/src/main/java/net/mcreator/target/procedures/BarbedWireShiTiZaiFangKuaiZhongPengZhuangShiProcedure.java deleted file mode 100644 index a71bfb361..000000000 --- a/src/main/java/net/mcreator/target/procedures/BarbedWireShiTiZaiFangKuaiZhongPengZhuangShiProcedure.java +++ /dev/null @@ -1,18 +0,0 @@ -package net.mcreator.target.procedures; - -import net.minecraft.core.registries.Registries; -import net.minecraft.world.damagesource.DamageSource; -import net.minecraft.world.damagesource.DamageTypes; -import net.minecraft.world.entity.Entity; -import net.minecraft.world.level.LevelAccessor; -import net.minecraft.world.level.block.Blocks; -import net.minecraft.world.phys.Vec3; - -public class BarbedWireShiTiZaiFangKuaiZhongPengZhuangShiProcedure { - public static void execute(LevelAccessor world, Entity entity) { - if (entity == null) - return; - entity.makeStuckInBlock(Blocks.AIR.defaultBlockState(), new Vec3(0.25, 0.05, 0.25)); - entity.hurt(new DamageSource(world.registryAccess().registryOrThrow(Registries.DAMAGE_TYPE).getHolderOrThrow(DamageTypes.CACTUS)), 1); - } -} diff --git a/src/main/java/net/mcreator/target/procedures/BazipengzhuangProcedure.java b/src/main/java/net/mcreator/target/procedures/BazipengzhuangProcedure.java deleted file mode 100644 index ec1bcc614..000000000 --- a/src/main/java/net/mcreator/target/procedures/BazipengzhuangProcedure.java +++ /dev/null @@ -1,14 +0,0 @@ -package net.mcreator.target.procedures; - -import net.minecraft.world.entity.Entity; - -public class BazipengzhuangProcedure { - public static double execute(Entity entity) { - if (entity == null) - return 0; - if (entity.getPersistentData().getDouble("targetdown") > 0) { - return 0.1; - } - return 1; - } -} diff --git a/src/main/java/net/mcreator/target/procedures/Target1DangShiTiShouShangShiProcedure.java b/src/main/java/net/mcreator/target/procedures/Target1DangShiTiShouShangShiProcedure.java deleted file mode 100644 index f3525a177..000000000 --- a/src/main/java/net/mcreator/target/procedures/Target1DangShiTiShouShangShiProcedure.java +++ /dev/null @@ -1,20 +0,0 @@ -package net.mcreator.target.procedures; - -import net.minecraft.core.BlockPos; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.sounds.SoundSource; -import net.minecraft.world.level.Level; -import net.minecraft.world.level.LevelAccessor; -import net.minecraftforge.registries.ForgeRegistries; - -public class Target1DangShiTiShouShangShiProcedure { - public static void execute(LevelAccessor world, double x, double y, double z) { - if (world instanceof Level _level) { - if (!_level.isClientSide()) { - _level.playSound(null, BlockPos.containing(x, y, z), ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("target:hit")), SoundSource.BLOCKS, 2, 1); - } else { - _level.playLocalSound(x, y, z, ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("target:hit")), SoundSource.BLOCKS, 2, 1, false); - } - } - } -} diff --git a/src/main/java/net/mcreator/target/procedures/Target1DangYouJiShiTiShiProcedure.java b/src/main/java/net/mcreator/target/procedures/Target1DangYouJiShiTiShiProcedure.java deleted file mode 100644 index 4bd34e196..000000000 --- a/src/main/java/net/mcreator/target/procedures/Target1DangYouJiShiTiShiProcedure.java +++ /dev/null @@ -1,45 +0,0 @@ -package net.mcreator.target.procedures; - -import net.mcreator.target.init.TargetModItems; -import net.mcreator.target.network.TargetModVariables; -import net.minecraft.commands.arguments.EntityAnchorArgument; -import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.phys.Vec3; -import net.minecraftforge.items.ItemHandlerHelper; - -public class Target1DangYouJiShiTiShiProcedure { - public static void execute(double y, Entity entity, Entity sourceentity) { - if (entity == null || sourceentity == null) - return; - if (sourceentity.isShiftKeyDown()) { - if (!entity.level().isClientSide()) - entity.discard(); - if (sourceentity instanceof Player _player) { - ItemStack _setstack = new ItemStack(TargetModItems.TARGET_DEPLOYER.get()); - _setstack.setCount(1); - ItemHandlerHelper.giveItemToPlayer(_player, _setstack); - } - } else { - if (!(sourceentity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).zooming) { - entity.lookAt(EntityAnchorArgument.Anchor.EYES, new Vec3((sourceentity.getX()), y, (sourceentity.getZ()))); - { - Entity _ent = entity; - _ent.setYRot(entity.getYRot()); - _ent.setXRot(0); - _ent.setYBodyRot(_ent.getYRot()); - _ent.setYHeadRot(_ent.getYRot()); - _ent.yRotO = _ent.getYRot(); - _ent.xRotO = _ent.getXRot(); - if (_ent instanceof LivingEntity _entity) { - _entity.yBodyRotO = _entity.getYRot(); - _entity.yHeadRotO = _entity.getYRot(); - } - } - entity.getPersistentData().putDouble("targetdown", 0); - } - } - } -} diff --git a/src/main/java/net/mcreator/target/procedures/Target1ShiTiChuShiShengChengShiProcedure.java b/src/main/java/net/mcreator/target/procedures/Target1ShiTiChuShiShengChengShiProcedure.java deleted file mode 100644 index d7a12730b..000000000 --- a/src/main/java/net/mcreator/target/procedures/Target1ShiTiChuShiShengChengShiProcedure.java +++ /dev/null @@ -1,24 +0,0 @@ -package net.mcreator.target.procedures; - -import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.LivingEntity; - -public class Target1ShiTiChuShiShengChengShiProcedure { - public static void execute(Entity entity) { - if (entity == null) - return; - { - Entity _ent = entity; - _ent.setYRot(0); - _ent.setXRot(0); - _ent.setYBodyRot(_ent.getYRot()); - _ent.setYHeadRot(_ent.getYRot()); - _ent.yRotO = _ent.getYRot(); - _ent.xRotO = _ent.getXRot(); - if (_ent instanceof LivingEntity _entity) { - _entity.yBodyRotO = _entity.getYRot(); - _entity.yHeadRotO = _entity.getYRot(); - } - } - } -} diff --git a/src/main/java/net/mcreator/target/procedures/TaserBulletTouZhiWuFeiXingKeProcedure.java b/src/main/java/net/mcreator/target/procedures/TaserBulletTouZhiWuFeiXingKeProcedure.java deleted file mode 100644 index c18d070b8..000000000 --- a/src/main/java/net/mcreator/target/procedures/TaserBulletTouZhiWuFeiXingKeProcedure.java +++ /dev/null @@ -1,15 +0,0 @@ -package net.mcreator.target.procedures; - -import net.minecraft.world.entity.Entity; -import net.minecraft.world.phys.Vec3; - -public class TaserBulletTouZhiWuFeiXingKeProcedure { - public static void execute(Entity immediatesourceentity) { - if (immediatesourceentity == null) - return; - immediatesourceentity.getPersistentData().putDouble("live", (immediatesourceentity.getPersistentData().getDouble("live") + 1)); - if (immediatesourceentity.getPersistentData().getDouble("live") == 5) { - immediatesourceentity.setDeltaMovement(new Vec3(0, 0, 0)); - } - } -}