优化部分代码

This commit is contained in:
Light_Quanta 2024-05-05 15:44:33 +08:00
parent 7dde8eef4b
commit 8f7db46aec
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
475 changed files with 25909 additions and 28052 deletions

View file

@ -41,6 +41,7 @@ import java.util.function.Supplier;
public class TargetMod {
public static final Logger LOGGER = LogManager.getLogger(TargetMod.class);
public static final String MODID = "target";
public TargetMod() {
MinecraftForge.EVENT_BUS.register(this);
IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus();
@ -76,7 +77,7 @@ public class TargetMod {
private static final Collection<AbstractMap.SimpleEntry<Runnable, Integer>> workQueue = new ConcurrentLinkedQueue<>();
public static void queueServerWork(int tick, Runnable action) {
workQueue.add(new AbstractMap.SimpleEntry(action, tick));
workQueue.add(new AbstractMap.SimpleEntry<>(action, tick));
}
@SubscribeEvent

View file

@ -1,40 +1,39 @@
package net.mcreator.target.block;
import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.item.PickaxeItem;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.entity.player.Player;
import net.minecraft.network.chat.Component;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.PickaxeItem;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
import java.util.List;
public class DeepslateGalenaOreBlock extends Block {
public DeepslateGalenaOreBlock() {
super(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).sound(SoundType.STONE).strength(3f, 8f).requiresCorrectToolForDrops());
}
public DeepslateGalenaOreBlock() {
super(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).sound(SoundType.STONE).strength(3f, 8f).requiresCorrectToolForDrops());
}
@Override
public void appendHoverText(ItemStack itemstack, BlockGetter world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public void appendHoverText(ItemStack itemstack, BlockGetter world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
return 15;
}
@Override
public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
return 15;
}
@Override
public boolean canHarvestBlock(BlockState state, BlockGetter world, BlockPos pos, Player player) {
if (player.getInventory().getSelected().getItem() instanceof PickaxeItem tieredItem)
return tieredItem.getTier().getLevel() >= 2;
return false;
}
@Override
public boolean canHarvestBlock(BlockState state, BlockGetter world, BlockPos pos, Player player) {
if (player.getInventory().getSelected().getItem() instanceof PickaxeItem tieredItem)
return tieredItem.getTier().getLevel() >= 2;
return false;
}
}

View file

@ -1,40 +1,39 @@
package net.mcreator.target.block;
import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.item.PickaxeItem;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.entity.player.Player;
import net.minecraft.network.chat.Component;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.PickaxeItem;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
import java.util.List;
public class DeepslateScheeliteOreBlock extends Block {
public DeepslateScheeliteOreBlock() {
super(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).sound(SoundType.STONE).strength(3f, 8f).requiresCorrectToolForDrops());
}
public DeepslateScheeliteOreBlock() {
super(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).sound(SoundType.STONE).strength(3f, 8f).requiresCorrectToolForDrops());
}
@Override
public void appendHoverText(ItemStack itemstack, BlockGetter world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public void appendHoverText(ItemStack itemstack, BlockGetter world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
return 15;
}
@Override
public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
return 15;
}
@Override
public boolean canHarvestBlock(BlockState state, BlockGetter world, BlockPos pos, Player player) {
if (player.getInventory().getSelected().getItem() instanceof PickaxeItem tieredItem)
return tieredItem.getTier().getLevel() >= 2;
return false;
}
@Override
public boolean canHarvestBlock(BlockState state, BlockGetter world, BlockPos pos, Player player) {
if (player.getInventory().getSelected().getItem() instanceof PickaxeItem tieredItem)
return tieredItem.getTier().getLevel() >= 2;
return false;
}
}

View file

@ -1,40 +1,39 @@
package net.mcreator.target.block;
import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.item.PickaxeItem;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.entity.player.Player;
import net.minecraft.network.chat.Component;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.PickaxeItem;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
import java.util.List;
public class GalenaOreBlock extends Block {
public GalenaOreBlock() {
super(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).sound(SoundType.STONE).strength(3f, 5f).requiresCorrectToolForDrops());
}
public GalenaOreBlock() {
super(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).sound(SoundType.STONE).strength(3f, 5f).requiresCorrectToolForDrops());
}
@Override
public void appendHoverText(ItemStack itemstack, BlockGetter world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public void appendHoverText(ItemStack itemstack, BlockGetter world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
return 15;
}
@Override
public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
return 15;
}
@Override
public boolean canHarvestBlock(BlockState state, BlockGetter world, BlockPos pos, Player player) {
if (player.getInventory().getSelected().getItem() instanceof PickaxeItem tieredItem)
return tieredItem.getTier().getLevel() >= 2;
return false;
}
@Override
public boolean canHarvestBlock(BlockState state, BlockGetter world, BlockPos pos, Player player) {
if (player.getInventory().getSelected().getItem() instanceof PickaxeItem tieredItem)
return tieredItem.getTier().getLevel() >= 2;
return false;
}
}

View file

@ -1,75 +1,71 @@
package net.mcreator.target.block;
import io.netty.buffer.Unpooled;
import net.mcreator.target.world.inventory.GunRecycleGuiMenu;
import net.minecraft.core.BlockPos;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.MenuProvider;
import net.minecraft.world.entity.player.Inventory;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.inventory.AbstractContainerMenu;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.storage.loot.LootParams;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraftforge.network.NetworkHooks;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.level.storage.loot.LootParams;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.inventory.AbstractContainerMenu;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.player.Inventory;
import net.minecraft.world.MenuProvider;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.InteractionHand;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.network.chat.Component;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.core.BlockPos;
import net.mcreator.target.world.inventory.GunRecycleGuiMenu;
import java.util.List;
import java.util.Collections;
import io.netty.buffer.Unpooled;
import java.util.List;
public class GunRecycleBlock extends Block {
public GunRecycleBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.METAL).strength(1f, 10f));
}
public GunRecycleBlock() {
super(BlockBehaviour.Properties.of().sound(SoundType.METAL).strength(1f, 10f));
}
@Override
public void appendHoverText(ItemStack itemstack, BlockGetter world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public void appendHoverText(ItemStack itemstack, BlockGetter world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
return 15;
}
@Override
public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
return 15;
}
@Override
public List<ItemStack> getDrops(BlockState state, LootParams.Builder builder) {
List<ItemStack> dropsOriginal = super.getDrops(state, builder);
if (!dropsOriginal.isEmpty())
return dropsOriginal;
return Collections.singletonList(new ItemStack(this, 1));
}
@Override
public List<ItemStack> getDrops(BlockState state, LootParams.Builder builder) {
List<ItemStack> dropsOriginal = super.getDrops(state, builder);
if (!dropsOriginal.isEmpty())
return dropsOriginal;
return Collections.singletonList(new ItemStack(this, 1));
}
@Override
public InteractionResult use(BlockState blockstate, Level world, BlockPos pos, Player entity, InteractionHand hand, BlockHitResult hit) {
super.use(blockstate, world, pos, entity, hand, hit);
if (entity instanceof ServerPlayer player) {
NetworkHooks.openScreen(player, new MenuProvider() {
@Override
public Component getDisplayName() {
return Component.literal("Gun Recycle");
}
@Override
public InteractionResult use(BlockState blockstate, Level world, BlockPos pos, Player entity, InteractionHand hand, BlockHitResult hit) {
super.use(blockstate, world, pos, entity, hand, hit);
if (entity instanceof ServerPlayer player) {
NetworkHooks.openScreen(player, new MenuProvider() {
@Override
public Component getDisplayName() {
return Component.literal("Gun Recycle");
}
@Override
public AbstractContainerMenu createMenu(int id, Inventory inventory, Player player) {
return new GunRecycleGuiMenu(id, inventory, new FriendlyByteBuf(Unpooled.buffer()).writeBlockPos(pos));
}
}, pos);
}
return InteractionResult.SUCCESS;
}
@Override
public AbstractContainerMenu createMenu(int id, Inventory inventory, Player player) {
return new GunRecycleGuiMenu(id, inventory, new FriendlyByteBuf(Unpooled.buffer()).writeBlockPos(pos));
}
}, pos);
}
return InteractionResult.SUCCESS;
}
}

View file

@ -1,102 +1,100 @@
package net.mcreator.target.block;
import net.minecraft.world.phys.shapes.VoxelShape;
import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.level.storage.loot.LootParams;
import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
import net.minecraft.world.level.block.state.properties.DirectionProperty;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Rotation;
import net.minecraft.world.level.block.Mirror;
import net.minecraft.world.level.block.HorizontalDirectionalBlock;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.entity.Entity;
import net.minecraft.network.chat.Component;
import net.minecraft.core.Direction;
import net.minecraft.core.BlockPos;
import net.mcreator.target.procedures.JumppadBlockShiTiZaiFangKuaiZhongPengZhuangShiProcedure;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.network.chat.Component;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.item.context.BlockPlaceContext;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.*;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.state.BlockState;
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.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.Shapes;
import net.minecraft.world.phys.shapes.VoxelShape;
import java.util.List;
import java.util.Collections;
import java.util.List;
public class JumppadBlockBlock extends Block {
public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING;
public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING;
public JumppadBlockBlock() {
super(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).sound(SoundType.STONE).strength(-1, 3600000).noCollission().noOcclusion().isRedstoneConductor((bs, br, bp) -> false));
this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH));
}
public JumppadBlockBlock() {
super(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).sound(SoundType.STONE).strength(-1, 3600000).noCollission().noOcclusion().isRedstoneConductor((bs, br, bp) -> false));
this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH));
}
@Override
public void appendHoverText(ItemStack itemstack, BlockGetter world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public void appendHoverText(ItemStack itemstack, BlockGetter world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public boolean propagatesSkylightDown(BlockState state, BlockGetter reader, BlockPos pos) {
return true;
}
@Override
public boolean propagatesSkylightDown(BlockState state, BlockGetter reader, BlockPos pos) {
return true;
}
@Override
public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
return 0;
}
@Override
public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
return 0;
}
@Override
public VoxelShape getVisualShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) {
return Shapes.empty();
}
@Override
public VoxelShape getVisualShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) {
return Shapes.empty();
}
@Override
public VoxelShape getShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) {
return switch (state.getValue(FACING)) {
default -> Shapes.or(box(0, 0, 0, 16, 3, 16), box(-0.25, -0.1, -0.25, 2, 3.25, 2), box(14, -0.1, -0.25, 16.25, 3.25, 2), box(14, -0.1, 14, 16.25, 3.25, 16.25), box(-0.25, -0.1, 14, 2, 3.25, 16.25), box(1, 3, 1, 15, 4, 15));
case NORTH -> Shapes.or(box(0, 0, 0, 16, 3, 16), box(14, -0.1, 14, 16.25, 3.25, 16.25), box(-0.25, -0.1, 14, 2, 3.25, 16.25), box(-0.25, -0.1, -0.25, 2, 3.25, 2), box(14, -0.1, -0.25, 16.25, 3.25, 2), box(1, 3, 1, 15, 4, 15));
case EAST -> Shapes.or(box(0, 0, 0, 16, 3, 16), box(-0.25, -0.1, 14, 2, 3.25, 16.25), box(-0.25, -0.1, -0.25, 2, 3.25, 2), box(14, -0.1, -0.25, 16.25, 3.25, 2), box(14, -0.1, 14, 16.25, 3.25, 16.25), box(1, 3, 1, 15, 4, 15));
case WEST -> Shapes.or(box(0, 0, 0, 16, 3, 16), box(14, -0.1, -0.25, 16.25, 3.25, 2), box(14, -0.1, 14, 16.25, 3.25, 16.25), box(-0.25, -0.1, 14, 2, 3.25, 16.25), box(-0.25, -0.1, -0.25, 2, 3.25, 2), box(1, 3, 1, 15, 4, 15));
};
}
@Override
public VoxelShape getShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) {
return switch (state.getValue(FACING)) {
default ->
Shapes.or(box(0, 0, 0, 16, 3, 16), box(-0.25, -0.1, -0.25, 2, 3.25, 2), box(14, -0.1, -0.25, 16.25, 3.25, 2), box(14, -0.1, 14, 16.25, 3.25, 16.25), box(-0.25, -0.1, 14, 2, 3.25, 16.25), box(1, 3, 1, 15, 4, 15));
case NORTH ->
Shapes.or(box(0, 0, 0, 16, 3, 16), box(14, -0.1, 14, 16.25, 3.25, 16.25), box(-0.25, -0.1, 14, 2, 3.25, 16.25), box(-0.25, -0.1, -0.25, 2, 3.25, 2), box(14, -0.1, -0.25, 16.25, 3.25, 2), box(1, 3, 1, 15, 4, 15));
case EAST ->
Shapes.or(box(0, 0, 0, 16, 3, 16), box(-0.25, -0.1, 14, 2, 3.25, 16.25), box(-0.25, -0.1, -0.25, 2, 3.25, 2), box(14, -0.1, -0.25, 16.25, 3.25, 2), box(14, -0.1, 14, 16.25, 3.25, 16.25), box(1, 3, 1, 15, 4, 15));
case WEST ->
Shapes.or(box(0, 0, 0, 16, 3, 16), box(14, -0.1, -0.25, 16.25, 3.25, 2), box(14, -0.1, 14, 16.25, 3.25, 16.25), box(-0.25, -0.1, 14, 2, 3.25, 16.25), box(-0.25, -0.1, -0.25, 2, 3.25, 2), box(1, 3, 1, 15, 4, 15));
};
}
@Override
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
builder.add(FACING);
}
@Override
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
builder.add(FACING);
}
@Override
public BlockState getStateForPlacement(BlockPlaceContext context) {
return this.defaultBlockState().setValue(FACING, context.getHorizontalDirection().getOpposite());
}
@Override
public BlockState getStateForPlacement(BlockPlaceContext context) {
return this.defaultBlockState().setValue(FACING, context.getHorizontalDirection().getOpposite());
}
public BlockState rotate(BlockState state, Rotation rot) {
return state.setValue(FACING, rot.rotate(state.getValue(FACING)));
}
public BlockState rotate(BlockState state, Rotation rot) {
return state.setValue(FACING, rot.rotate(state.getValue(FACING)));
}
public BlockState mirror(BlockState state, Mirror mirrorIn) {
return state.rotate(mirrorIn.getRotation(state.getValue(FACING)));
}
public BlockState mirror(BlockState state, Mirror mirrorIn) {
return state.rotate(mirrorIn.getRotation(state.getValue(FACING)));
}
@Override
public List<ItemStack> getDrops(BlockState state, LootParams.Builder builder) {
List<ItemStack> dropsOriginal = super.getDrops(state, builder);
if (!dropsOriginal.isEmpty())
return dropsOriginal;
return Collections.singletonList(new ItemStack(this, 1));
}
@Override
public List<ItemStack> getDrops(BlockState state, LootParams.Builder builder) {
List<ItemStack> dropsOriginal = super.getDrops(state, builder);
if (!dropsOriginal.isEmpty())
return dropsOriginal;
return Collections.singletonList(new ItemStack(this, 1));
}
@Override
public void entityInside(BlockState blockstate, Level world, BlockPos pos, Entity entity) {
super.entityInside(blockstate, world, pos, entity);
JumppadBlockShiTiZaiFangKuaiZhongPengZhuangShiProcedure.execute(world, pos.getX(), pos.getY(), pos.getZ(), entity);
}
@Override
public void entityInside(BlockState blockstate, Level world, BlockPos pos, Entity entity) {
super.entityInside(blockstate, world, pos, entity);
JumppadBlockShiTiZaiFangKuaiZhongPengZhuangShiProcedure.execute(world, pos.getX(), pos.getY(), pos.getZ(), entity);
}
}

View file

@ -1,41 +1,40 @@
package net.mcreator.target.block;
import net.minecraft.world.level.storage.loot.LootParams;
import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.item.ItemStack;
import net.minecraft.network.chat.Component;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
import net.minecraft.world.level.storage.loot.LootParams;
import java.util.List;
import java.util.Collections;
import java.util.List;
public class SandbagBlock extends Block {
public SandbagBlock() {
super(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.SNARE).sound(SoundType.SAND).strength(10f, 20f));
}
public SandbagBlock() {
super(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.SNARE).sound(SoundType.SAND).strength(10f, 20f));
}
@Override
public void appendHoverText(ItemStack itemstack, BlockGetter world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public void appendHoverText(ItemStack itemstack, BlockGetter world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
return 15;
}
@Override
public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
return 15;
}
@Override
public List<ItemStack> getDrops(BlockState state, LootParams.Builder builder) {
List<ItemStack> dropsOriginal = super.getDrops(state, builder);
if (!dropsOriginal.isEmpty())
return dropsOriginal;
return Collections.singletonList(new ItemStack(this, 1));
}
@Override
public List<ItemStack> getDrops(BlockState state, LootParams.Builder builder) {
List<ItemStack> dropsOriginal = super.getDrops(state, builder);
if (!dropsOriginal.isEmpty())
return dropsOriginal;
return Collections.singletonList(new ItemStack(this, 1));
}
}

View file

@ -1,40 +1,39 @@
package net.mcreator.target.block;
import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.item.PickaxeItem;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.entity.player.Player;
import net.minecraft.network.chat.Component;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.PickaxeItem;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.state.BlockBehaviour;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.properties.NoteBlockInstrument;
import java.util.List;
public class ScheeliteOreBlock extends Block {
public ScheeliteOreBlock() {
super(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).sound(SoundType.STONE).strength(3f, 5f).requiresCorrectToolForDrops());
}
public ScheeliteOreBlock() {
super(BlockBehaviour.Properties.of().instrument(NoteBlockInstrument.BASEDRUM).sound(SoundType.STONE).strength(3f, 5f).requiresCorrectToolForDrops());
}
@Override
public void appendHoverText(ItemStack itemstack, BlockGetter world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public void appendHoverText(ItemStack itemstack, BlockGetter world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
return 15;
}
@Override
public int getLightBlock(BlockState state, BlockGetter worldIn, BlockPos pos) {
return 15;
}
@Override
public boolean canHarvestBlock(BlockState state, BlockGetter world, BlockPos pos, Player player) {
if (player.getInventory().getSelected().getItem() instanceof PickaxeItem tieredItem)
return tieredItem.getTier().getLevel() >= 2;
return false;
}
@Override
public boolean canHarvestBlock(BlockState state, BlockGetter world, BlockPos pos, Player player) {
if (player.getInventory().getSelected().getItem() instanceof PickaxeItem tieredItem)
return tieredItem.getTier().getLevel() >= 2;
return false;
}
}

View file

@ -1,20 +1,19 @@
package net.mcreator.target.client;
import com.mojang.blaze3d.platform.InputConstants;
import net.mcreator.target.TargetMod;
import net.mcreator.target.network.FireMessage;
import net.minecraft.client.Minecraft;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.ItemTags;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.event.InputEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import org.lwjgl.glfw.GLFW;
import net.minecraft.tags.ItemTags;
import net.minecraft.resources.ResourceLocation;
import net.mcreator.target.network.FireMessage;
import net.mcreator.target.TargetMod;
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.FORGE, value = Dist.CLIENT)
public class ClickHandler {
@ -33,7 +32,7 @@ public class ClickHandler {
@SubscribeEvent
public static void onKeyReleased(InputEvent.MouseButton.Pre event) {
if(!isInGame()) {
if (!isInGame()) {
return;
}
@ -47,18 +46,16 @@ public class ClickHandler {
return;
}
ItemStack heldItem = player.getMainHandItem();
int button = event.getButton();
if (button == GLFW.GLFW_MOUSE_BUTTON_LEFT) {
TargetMod.PACKET_HANDLER.sendToServer(new FireMessage(1, 0));
int button = event.getButton();
if (button == GLFW.GLFW_MOUSE_BUTTON_LEFT) {
TargetMod.PACKET_HANDLER.sendToServer(new FireMessage(1, 0));
}
}
}
@SubscribeEvent
public static void onKeyPressed(InputEvent.MouseButton.Pre event) {
if(!isInGame()) {
if (!isInGame()) {
return;
}
@ -74,18 +71,18 @@ public class ClickHandler {
ItemStack heldItem = player.getMainHandItem();
int button = event.getButton();
if (button == GLFW.GLFW_MOUSE_BUTTON_LEFT) {
if ((player.getMainHandItem()).is(ItemTags.create(new ResourceLocation("target:gun")))) {
int button = event.getButton();
if (button == GLFW.GLFW_MOUSE_BUTTON_LEFT) {
if ((player.getMainHandItem()).is(ItemTags.create(new ResourceLocation("target:gun")))) {
event.setCanceled(true);
TargetMod.PACKET_HANDLER.sendToServer(new FireMessage(0, 0));
}
}
}
}
@SubscribeEvent
public static void onKeyPressed(InputEvent.Key event) {
if(!isInGame()) {
if (!isInGame()) {
return;
}
@ -96,24 +93,25 @@ public class ClickHandler {
Minecraft mc = Minecraft.getInstance();
Player player = mc.player;
int button = event.getKey();
if (button == GLFW.GLFW_KEY_D) {
player.getPersistentData().putDouble("mover", 1);
}
if (button == GLFW.GLFW_KEY_A) {
player.getPersistentData().putDouble("movel", 1);
int button = event.getKey();
CompoundTag persistentData = player.getPersistentData();
if (button == GLFW.GLFW_KEY_D) {
persistentData.putDouble("mover", 1);
}
if (button == GLFW.GLFW_KEY_A) {
persistentData.putDouble("movel", 1);
}
if (button == GLFW.GLFW_KEY_W) {
player.getPersistentData().putDouble("qian", 1);
}
persistentData.putDouble("qian", 1);
}
if (button == GLFW.GLFW_KEY_W) {
player.getPersistentData().putDouble("tui", 1);
}
persistentData.putDouble("tui", 1);
}
}
@SubscribeEvent
public static void onKeyReleased(InputEvent.Key event) {
if(!isInGame()) {
if (!isInGame()) {
return;
}
@ -124,18 +122,19 @@ public class ClickHandler {
return;
}
int button = event.getKey();
if (button == GLFW.GLFW_KEY_D) {
player.getPersistentData().putDouble("mover", 0);
int button = event.getKey();
CompoundTag persistentData = player.getPersistentData();
if (button == GLFW.GLFW_KEY_D) {
persistentData.putDouble("mover", 0);
}
if (button == GLFW.GLFW_KEY_A) {
player.getPersistentData().putDouble("movel", 0);
}
persistentData.putDouble("movel", 0);
}
if (button == GLFW.GLFW_KEY_W) {
player.getPersistentData().putDouble("qian", 0);
}
persistentData.putDouble("qian", 0);
}
if (button == GLFW.GLFW_KEY_W) {
player.getPersistentData().putDouble("tui", 0);
persistentData.putDouble("tui", 0);
}
}
}

View file

@ -1,18 +1,14 @@
package net.mcreator.target.client;
import net.minecraft.client.Minecraft;
import net.minecraft.world.item.ItemStack;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.ItemTags;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.event.RenderGuiOverlayEvent;
import net.minecraftforge.client.gui.overlay.VanillaGuiOverlay;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraft.tags.ItemTags;
import net.minecraft.resources.ResourceLocation;
import net.mcreator.target.network.TargetModVariables;
@Mod.EventBusSubscriber(modid = "target", value = Dist.CLIENT)
public class CrossHairHandler {
@SubscribeEvent
@ -30,11 +26,8 @@ public class CrossHairHandler {
return;
}
ItemStack heldItem = mc.player.getMainHandItem();
{
if ((mc.player.getMainHandItem()).is(ItemTags.create(new ResourceLocation("target:gun")))) {
event.setCanceled(true);
}
event.setCanceled(true);
}
}
}

View file

@ -1,18 +1,14 @@
package net.mcreator.target.client;
import net.minecraft.world.item.Item;
import net.minecraft.world.scores.Objective;
import net.minecraft.client.CameraType;
import net.minecraft.client.Minecraft;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.ItemTags;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraft.world.entity.player.Player;
import net.minecraft.tags.ItemTags;
import net.minecraft.resources.ResourceLocation;
import net.minecraftforge.client.event.ViewportEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import com.ibm.icu.impl.coll.BOCSU;
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.FORGE, value = Dist.CLIENT)
public class RenderHandler {
@ -25,21 +21,16 @@ public class RenderHandler {
Player player = Minecraft.getInstance().player;
Minecraft mc = Minecraft.getInstance();
if (player != null) {
ItemStack stack = player.getMainHandItem();
if (player != null) {
ItemStack stack = player.getMainHandItem();
double p = player.getPersistentData().getDouble("zoompos");
double zoom = stack.getOrCreateTag().getDouble("zoom");
double p = 0;
double zoom = 0;
p = player.getPersistentData().getDouble("zoompos");
zoom = stack.getOrCreateTag().getDouble("zoom");
if (stack.is(ItemTags.create(new ResourceLocation("target:gun")))) {
event.setFOV(event.getFOV() / (1.0 + p * (zoom - 1)));
player.getPersistentData().putDouble("fov", event.getFOV());
}
}
if (stack.is(ItemTags.create(new ResourceLocation("target:gun")))) {
event.setFOV(event.getFOV() / (1.0 + p * (zoom - 1)));
player.getPersistentData().putDouble("fov", event.getFOV());
}
}
}
}

View file

@ -1,94 +1,90 @@
package net.mcreator.target.client.gui;
import net.minecraft.world.level.Level;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.player.Inventory;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.network.chat.Component;
import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen;
import net.minecraft.client.gui.components.Button;
import net.minecraft.client.gui.GuiGraphics;
import net.mcreator.target.world.inventory.GunRecycleGuiMenu;
import net.mcreator.target.network.GunRecycleGuiButtonMessage;
import com.mojang.blaze3d.systems.RenderSystem;
import net.mcreator.target.TargetMod;
import net.mcreator.target.network.GunRecycleGuiButtonMessage;
import net.mcreator.target.world.inventory.GunRecycleGuiMenu;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.gui.components.Button;
import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Inventory;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.Level;
import java.util.HashMap;
import com.mojang.blaze3d.systems.RenderSystem;
public class GunRecycleGuiScreen extends AbstractContainerScreen<GunRecycleGuiMenu> {
private final static HashMap<String, Object> guistate = GunRecycleGuiMenu.guistate;
private final Level world;
private final int x, y, z;
private final Player entity;
Button button_dismantle;
private final static HashMap<String, Object> guistate = GunRecycleGuiMenu.guistate;
private final Level world;
private final int x, y, z;
private final Player entity;
Button button_dismantle;
public GunRecycleGuiScreen(GunRecycleGuiMenu container, Inventory inventory, Component text) {
super(container, inventory, text);
this.world = container.world;
this.x = container.x;
this.y = container.y;
this.z = container.z;
this.entity = container.entity;
this.imageWidth = 176;
this.imageHeight = 166;
}
public GunRecycleGuiScreen(GunRecycleGuiMenu container, Inventory inventory, Component text) {
super(container, inventory, text);
this.world = container.world;
this.x = container.x;
this.y = container.y;
this.z = container.z;
this.entity = container.entity;
this.imageWidth = 176;
this.imageHeight = 166;
}
private static final ResourceLocation texture = new ResourceLocation("target:textures/screens/gun_recycle_gui.png");
private static final ResourceLocation texture = new ResourceLocation("target:textures/screens/gun_recycle_gui.png");
@Override
public void render(GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTicks) {
this.renderBackground(guiGraphics);
super.render(guiGraphics, mouseX, mouseY, partialTicks);
this.renderTooltip(guiGraphics, mouseX, mouseY);
if (mouseX > leftPos + 58 && mouseX < leftPos + 116 && mouseY > topPos + 54 && mouseY < topPos + 78)
guiGraphics.renderTooltip(font, Component.translatable("gui.target.gun_recycle_gui.tooltip_if_guns_level_10you_will_get"), mouseX, mouseY);
}
@Override
public void render(GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTicks) {
this.renderBackground(guiGraphics);
super.render(guiGraphics, mouseX, mouseY, partialTicks);
this.renderTooltip(guiGraphics, mouseX, mouseY);
if (mouseX > leftPos + 58 && mouseX < leftPos + 116 && mouseY > topPos + 54 && mouseY < topPos + 78)
guiGraphics.renderTooltip(font, Component.translatable("gui.target.gun_recycle_gui.tooltip_if_guns_level_10you_will_get"), mouseX, mouseY);
}
@Override
protected void renderBg(GuiGraphics guiGraphics, float partialTicks, int gx, int gy) {
RenderSystem.setShaderColor(1, 1, 1, 1);
RenderSystem.enableBlend();
RenderSystem.defaultBlendFunc();
guiGraphics.blit(texture, this.leftPos, this.topPos, 0, 0, this.imageWidth, this.imageHeight, this.imageWidth, this.imageHeight);
RenderSystem.disableBlend();
}
@Override
protected void renderBg(GuiGraphics guiGraphics, float partialTicks, int gx, int gy) {
RenderSystem.setShaderColor(1, 1, 1, 1);
RenderSystem.enableBlend();
RenderSystem.defaultBlendFunc();
guiGraphics.blit(texture, this.leftPos, this.topPos, 0, 0, this.imageWidth, this.imageHeight, this.imageWidth, this.imageHeight);
RenderSystem.disableBlend();
}
@Override
public boolean keyPressed(int key, int b, int c) {
if (key == 256) {
this.minecraft.player.closeContainer();
return true;
}
return super.keyPressed(key, b, c);
}
@Override
public boolean keyPressed(int key, int b, int c) {
if (key == 256) {
this.minecraft.player.closeContainer();
return true;
}
return super.keyPressed(key, b, c);
}
@Override
public void containerTick() {
super.containerTick();
}
@Override
public void containerTick() {
super.containerTick();
}
@Override
protected void renderLabels(GuiGraphics guiGraphics, int mouseX, int mouseY) {
guiGraphics.drawString(this.font, Component.translatable("gui.target.gun_recycle_gui.label_gun_recycle"), 6, 6, -12829636, false);
}
@Override
protected void renderLabels(GuiGraphics guiGraphics, int mouseX, int mouseY) {
guiGraphics.drawString(this.font, Component.translatable("gui.target.gun_recycle_gui.label_gun_recycle"), 6, 6, -12829636, false);
}
@Override
public void onClose() {
super.onClose();
}
@Override
public void onClose() {
super.onClose();
}
@Override
public void init() {
super.init();
button_dismantle = Button.builder(Component.translatable("gui.target.gun_recycle_gui.button_dismantle"), e -> {
if (true) {
TargetMod.PACKET_HANDLER.sendToServer(new GunRecycleGuiButtonMessage(0, x, y, z));
GunRecycleGuiButtonMessage.handleButtonAction(entity, 0, x, y, z);
}
}).bounds(this.leftPos + 62, this.topPos + 56, 52, 20).build();
guistate.put("button:button_dismantle", button_dismantle);
this.addRenderableWidget(button_dismantle);
}
@Override
public void init() {
super.init();
button_dismantle = Button.builder(Component.translatable("gui.target.gun_recycle_gui.button_dismantle"), e -> {
TargetMod.PACKET_HANDLER.sendToServer(new GunRecycleGuiButtonMessage(0, x, y, z));
GunRecycleGuiButtonMessage.handleButtonAction(entity, 0, x, y, z);
}).bounds(this.leftPos + 62, this.topPos + 56, 52, 20).build();
guistate.put("button:button_dismantle", button_dismantle);
this.addRenderableWidget(button_dismantle);
}
}

View file

@ -1,143 +1,128 @@
package net.mcreator.target.client.gui;
import net.minecraft.world.level.Level;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.player.Inventory;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.network.chat.Component;
import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen;
import net.minecraft.client.gui.components.Button;
import net.minecraft.client.gui.GuiGraphics;
import net.mcreator.target.world.inventory.MortarGUIMenu;
import com.mojang.blaze3d.systems.RenderSystem;
import net.mcreator.target.TargetMod;
import net.mcreator.target.network.MortarGUIButtonMessage;
import net.mcreator.target.procedures.MortarAngleProcedure;
import net.mcreator.target.procedures.MortarPitchProcedure;
import net.mcreator.target.network.MortarGUIButtonMessage;
import net.mcreator.target.TargetMod;
import net.mcreator.target.world.inventory.MortarGUIMenu;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.gui.components.Button;
import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Inventory;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.Level;
import java.util.HashMap;
import com.mojang.blaze3d.systems.RenderSystem;
public class MortarGUIScreen extends AbstractContainerScreen<MortarGUIMenu> {
private final static HashMap<String, Object> guistate = MortarGUIMenu.guistate;
private final Level world;
private final int x, y, z;
private final Player entity;
Button button_zeng_da_yang_jiao;
Button button_empty;
Button button_10;
Button button_101;
Button button_05;
Button button_051;
private final static HashMap<String, Object> guistate = MortarGUIMenu.guistate;
private final Level world;
private final int x, y, z;
private final Player entity;
Button button_zeng_da_yang_jiao;
Button button_empty;
Button button_10;
Button button_101;
Button button_05;
Button button_051;
public MortarGUIScreen(MortarGUIMenu container, Inventory inventory, Component text) {
super(container, inventory, text);
this.world = container.world;
this.x = container.x;
this.y = container.y;
this.z = container.z;
this.entity = container.entity;
this.imageWidth = 0;
this.imageHeight = 166;
}
public MortarGUIScreen(MortarGUIMenu container, Inventory inventory, Component text) {
super(container, inventory, text);
this.world = container.world;
this.x = container.x;
this.y = container.y;
this.z = container.z;
this.entity = container.entity;
this.imageWidth = 0;
this.imageHeight = 166;
}
private static final ResourceLocation texture = new ResourceLocation("target:textures/screens/mortar_gui.png");
private static final ResourceLocation texture = new ResourceLocation("target:textures/screens/mortar_gui.png");
@Override
public void render(GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTicks) {
this.renderBackground(guiGraphics);
super.render(guiGraphics, mouseX, mouseY, partialTicks);
this.renderTooltip(guiGraphics, mouseX, mouseY);
}
@Override
public void render(GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTicks) {
this.renderBackground(guiGraphics);
super.render(guiGraphics, mouseX, mouseY, partialTicks);
this.renderTooltip(guiGraphics, mouseX, mouseY);
}
@Override
protected void renderBg(GuiGraphics guiGraphics, float partialTicks, int gx, int gy) {
RenderSystem.setShaderColor(1, 1, 1, 1);
RenderSystem.enableBlend();
RenderSystem.defaultBlendFunc();
guiGraphics.blit(texture, this.leftPos, this.topPos, 0, 0, this.imageWidth, this.imageHeight, this.imageWidth, this.imageHeight);
RenderSystem.disableBlend();
}
@Override
protected void renderBg(GuiGraphics guiGraphics, float partialTicks, int gx, int gy) {
RenderSystem.setShaderColor(1, 1, 1, 1);
RenderSystem.enableBlend();
RenderSystem.defaultBlendFunc();
guiGraphics.blit(texture, this.leftPos, this.topPos, 0, 0, this.imageWidth, this.imageHeight, this.imageWidth, this.imageHeight);
RenderSystem.disableBlend();
}
@Override
public boolean keyPressed(int key, int b, int c) {
if (key == 256) {
this.minecraft.player.closeContainer();
return true;
}
return super.keyPressed(key, b, c);
}
@Override
public boolean keyPressed(int key, int b, int c) {
if (key == 256) {
this.minecraft.player.closeContainer();
return true;
}
return super.keyPressed(key, b, c);
}
@Override
public void containerTick() {
super.containerTick();
}
@Override
public void containerTick() {
super.containerTick();
}
@Override
protected void renderLabels(GuiGraphics guiGraphics, int mouseX, int mouseY) {
guiGraphics.drawString(this.font,
@Override
protected void renderLabels(GuiGraphics guiGraphics, int mouseX, int mouseY) {
guiGraphics.drawString(this.font,
MortarAngleProcedure.execute(entity), -18, 98, -1, false);
guiGraphics.drawString(this.font, Component.literal("Range:" + (int) RangeHelper.getRange(MortarPitchProcedure.execute(entity))), -18, 108, -16711885, false);
}
MortarAngleProcedure.execute(entity), -18, 98, -1, false);
guiGraphics.drawString(this.font, Component.literal("Range:" + (int) RangeHelper.getRange(MortarPitchProcedure.execute(entity))), -18, 108, -16711885, false);
}
@Override
public void onClose() {
super.onClose();
}
@Override
public void onClose() {
super.onClose();
}
@Override
public void init() {
super.init();
button_zeng_da_yang_jiao = Button.builder(Component.translatable("gui.target.mortar_gui.button_zeng_da_yang_jiao"), e -> {
if (true) {
TargetMod.PACKET_HANDLER.sendToServer(new MortarGUIButtonMessage(0, x, y, z));
MortarGUIButtonMessage.handleButtonAction(entity, 0, x, y, z);
}
}).bounds(this.leftPos + 42, this.topPos + 124, 29, 20).build();
guistate.put("button:button_zeng_da_yang_jiao", button_zeng_da_yang_jiao);
this.addRenderableWidget(button_zeng_da_yang_jiao);
button_empty = Button.builder(Component.translatable("gui.target.mortar_gui.button_empty"), e -> {
if (true) {
TargetMod.PACKET_HANDLER.sendToServer(new MortarGUIButtonMessage(1, x, y, z));
MortarGUIButtonMessage.handleButtonAction(entity, 1, x, y, z);
}
}).bounds(this.leftPos + -73, this.topPos + 124, 30, 20).build();
guistate.put("button:button_empty", button_empty);
this.addRenderableWidget(button_empty);
button_10 = Button.builder(Component.translatable("gui.target.mortar_gui.button_10"), e -> {
if (true) {
TargetMod.PACKET_HANDLER.sendToServer(new MortarGUIButtonMessage(2, x, y, z));
MortarGUIButtonMessage.handleButtonAction(entity, 2, x, y, z);
}
}).bounds(this.leftPos + 43, this.topPos + 151, 28, 20).build();
guistate.put("button:button_10", button_10);
this.addRenderableWidget(button_10);
button_101 = Button.builder(Component.translatable("gui.target.mortar_gui.button_101"), e -> {
if (true) {
TargetMod.PACKET_HANDLER.sendToServer(new MortarGUIButtonMessage(3, x, y, z));
MortarGUIButtonMessage.handleButtonAction(entity, 3, x, y, z);
}
}).bounds(this.leftPos + -73, this.topPos + 151, 30, 20).build();
guistate.put("button:button_101", button_101);
this.addRenderableWidget(button_101);
button_05 = Button.builder(Component.translatable("gui.target.mortar_gui.button_05"), e -> {
if (true) {
TargetMod.PACKET_HANDLER.sendToServer(new MortarGUIButtonMessage(4, x, y, z));
MortarGUIButtonMessage.handleButtonAction(entity, 4, x, y, z);
}
}).bounds(this.leftPos + -73, this.topPos + 97, 30, 20).build();
guistate.put("button:button_05", button_05);
this.addRenderableWidget(button_05);
button_051 = Button.builder(Component.translatable("gui.target.mortar_gui.button_051"), e -> {
if (true) {
TargetMod.PACKET_HANDLER.sendToServer(new MortarGUIButtonMessage(5, x, y, z));
MortarGUIButtonMessage.handleButtonAction(entity, 5, x, y, z);
}
}).bounds(this.leftPos + 42, this.topPos + 97, 29, 20).build();
guistate.put("button:button_051", button_051);
this.addRenderableWidget(button_051);
}
@Override
public void init() {
super.init();
button_zeng_da_yang_jiao = Button.builder(Component.translatable("gui.target.mortar_gui.button_zeng_da_yang_jiao"), e -> {
TargetMod.PACKET_HANDLER.sendToServer(new MortarGUIButtonMessage(0, x, y, z));
MortarGUIButtonMessage.handleButtonAction(entity, 0, x, y, z);
}).bounds(this.leftPos + 42, this.topPos + 124, 29, 20).build();
guistate.put("button:button_zeng_da_yang_jiao", button_zeng_da_yang_jiao);
this.addRenderableWidget(button_zeng_da_yang_jiao);
button_empty = Button.builder(Component.translatable("gui.target.mortar_gui.button_empty"), e -> {
TargetMod.PACKET_HANDLER.sendToServer(new MortarGUIButtonMessage(1, x, y, z));
MortarGUIButtonMessage.handleButtonAction(entity, 1, x, y, z);
}).bounds(this.leftPos + -73, this.topPos + 124, 30, 20).build();
guistate.put("button:button_empty", button_empty);
this.addRenderableWidget(button_empty);
button_10 = Button.builder(Component.translatable("gui.target.mortar_gui.button_10"), e -> {
TargetMod.PACKET_HANDLER.sendToServer(new MortarGUIButtonMessage(2, x, y, z));
MortarGUIButtonMessage.handleButtonAction(entity, 2, x, y, z);
}).bounds(this.leftPos + 43, this.topPos + 151, 28, 20).build();
guistate.put("button:button_10", button_10);
this.addRenderableWidget(button_10);
button_101 = Button.builder(Component.translatable("gui.target.mortar_gui.button_101"), e -> {
TargetMod.PACKET_HANDLER.sendToServer(new MortarGUIButtonMessage(3, x, y, z));
MortarGUIButtonMessage.handleButtonAction(entity, 3, x, y, z);
}).bounds(this.leftPos + -73, this.topPos + 151, 30, 20).build();
guistate.put("button:button_101", button_101);
this.addRenderableWidget(button_101);
button_05 = Button.builder(Component.translatable("gui.target.mortar_gui.button_05"), e -> {
TargetMod.PACKET_HANDLER.sendToServer(new MortarGUIButtonMessage(4, x, y, z));
MortarGUIButtonMessage.handleButtonAction(entity, 4, x, y, z);
}).bounds(this.leftPos + -73, this.topPos + 97, 30, 20).build();
guistate.put("button:button_05", button_05);
this.addRenderableWidget(button_05);
button_051 = Button.builder(Component.translatable("gui.target.mortar_gui.button_051"), e -> {
TargetMod.PACKET_HANDLER.sendToServer(new MortarGUIButtonMessage(5, x, y, z));
MortarGUIButtonMessage.handleButtonAction(entity, 5, x, y, z);
}).bounds(this.leftPos + 42, this.topPos + 97, 29, 20).build();
guistate.put("button:button_051", button_051);
this.addRenderableWidget(button_051);
}
}

View file

@ -1,7 +1,7 @@
package net.mcreator.target.client.gui;
public class RangeHelper {
// 发射角度以度为单位需要根据实际情况修改
// 发射角度以度为单位需要根据实际情况修改
public static double getRange(double thetaDegrees) {
double initialVelocity = 8.0; // 初始速度 8 m/s
double thetaRadians = Math.toRadians(thetaDegrees); // 将角度转换为弧度

View file

@ -1,47 +1,42 @@
package net.mcreator.target.client.model;
import net.minecraft.world.entity.Entity;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.model.geom.builders.PartDefinition;
import net.minecraft.client.model.geom.builders.MeshDefinition;
import net.minecraft.client.model.geom.builders.LayerDefinition;
import net.minecraft.client.model.geom.builders.CubeListBuilder;
import net.minecraft.client.model.geom.builders.CubeDeformation;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.EntityModel;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.model.EntityModel;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.builders.*;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.Entity;
// Made with Blockbench 4.9.2
// Exported for Minecraft version 1.17 or later with Mojang mappings
// Paste this class into your mod and generate all required imports
public class ModelGrenade<T extends Entity> extends EntityModel<T> {
// This layer location should be baked with EntityRendererProvider.Context in
// the entity renderer and passed into this model's constructor
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("target", "model_grenade"), "main");
public final ModelPart bone;
// This layer location should be baked with EntityRendererProvider.Context in
// the entity renderer and passed into this model's constructor
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("target", "model_grenade"), "main");
public final ModelPart bone;
public ModelGrenade(ModelPart root) {
this.bone = root.getChild("bone");
}
public ModelGrenade(ModelPart root) {
this.bone = root.getChild("bone");
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition bone = partdefinition.addOrReplaceChild("bone", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 24.0F, 0.0F, 0.0F, 0.0F, 1.5708F));
PartDefinition cube_r1 = bone.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(2, 2).addBox(-0.5F, -0.5F, -23.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 1.5708F, 0.0F));
return LayerDefinition.create(meshdefinition, 16, 16);
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition bone = partdefinition.addOrReplaceChild("bone", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 24.0F, 0.0F, 0.0F, 0.0F, 1.5708F));
PartDefinition cube_r1 = bone.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(2, 2).addBox(-0.5F, -0.5F, -23.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 1.5708F, 0.0F));
return LayerDefinition.create(meshdefinition, 16, 16);
}
@Override
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
@Override
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
bone.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
bone.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
}

View file

@ -1,278 +1,273 @@
package net.mcreator.target.client.model;
import net.minecraft.world.entity.Entity;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.model.geom.builders.PartDefinition;
import net.minecraft.client.model.geom.builders.MeshDefinition;
import net.minecraft.client.model.geom.builders.LayerDefinition;
import net.minecraft.client.model.geom.builders.CubeListBuilder;
import net.minecraft.client.model.geom.builders.CubeDeformation;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.EntityModel;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.model.EntityModel;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.builders.*;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.Entity;
// Made with Blockbench 4.9.4
// Exported for Minecraft version 1.17 or later with Mojang mappings
// Paste this class into your mod and generate all required imports
public class Modelbasketball<T extends Entity> extends EntityModel<T> {
// This layer location should be baked with EntityRendererProvider.Context in
// the entity renderer and passed into this model's constructor
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("target", "modelbasketball"), "main");
public final ModelPart bone;
// This layer location should be baked with EntityRendererProvider.Context in
// the entity renderer and passed into this model's constructor
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("target", "modelbasketball"), "main");
public final ModelPart bone;
public Modelbasketball(ModelPart root) {
this.bone = root.getChild("bone");
}
public Modelbasketball(ModelPart root) {
this.bone = root.getChild("bone");
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition bone = partdefinition.addOrReplaceChild("bone", CubeListBuilder.create(), PartPose.offset(0.0F, 8.0F, 0.0F));
PartDefinition bone2 = bone.addOrReplaceChild("bone2",
CubeListBuilder.create().texOffs(48, 50).addBox(1.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 50).addBox(-3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 50)
.addBox(-3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 50).addBox(2.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 49)
.addBox(2.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 49).addBox(4.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 48)
.addBox(-5.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 49).addBox(-5.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 49)
.addBox(4.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 48).addBox(-4.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 46)
.addBox(-4.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 44).addBox(3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 42)
.addBox(3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 49).addBox(-5.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 49)
.addBox(4.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 49).addBox(4.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 49)
.addBox(-5.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 50).addBox(-6.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 50)
.addBox(-6.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 50).addBox(5.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 50)
.addBox(5.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(51, 1).addBox(-2.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 51)
.addBox(1.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 50).addBox(-2.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 44)
.addBox(1.5F, -1.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 26).addBox(-2.5F, -1.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 44)
.addBox(1.5F, -1.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 44).addBox(-2.5F, -1.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 1)
.addBox(-6.5F, -1.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 45).addBox(-6.5F, -1.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 3)
.addBox(5.5F, -1.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 5).addBox(5.5F, -1.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 7)
.addBox(-3.5F, -1.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 45).addBox(-3.5F, -1.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 9)
.addBox(2.5F, -1.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 11).addBox(2.5F, -1.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 13)
.addBox(4.5F, -1.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 45).addBox(-5.5F, -1.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 15)
.addBox(4.5F, -1.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 17).addBox(-5.5F, -1.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 19)
.addBox(4.5F, -1.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 45).addBox(4.5F, -1.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 21)
.addBox(-5.5F, -1.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 23).addBox(-4.5F, -1.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 25)
.addBox(-4.5F, -1.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 45).addBox(3.5F, -1.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 27)
.addBox(3.5F, -1.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 29).addBox(-5.5F, -1.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 24)
.addBox(1.5F, 0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 26).addBox(-2.5F, 0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 28)
.addBox(1.5F, 0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 42).addBox(-2.5F, 0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 30)
.addBox(-6.5F, 0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 32).addBox(-6.5F, 0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 34)
.addBox(5.5F, 0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 42).addBox(5.5F, 0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 36)
.addBox(-3.5F, 0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 38).addBox(-3.5F, 0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 40)
.addBox(2.5F, 0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 42).addBox(2.5F, 0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 43)
.addBox(4.5F, 0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 43).addBox(-5.5F, 0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 43)
.addBox(4.5F, 0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 43).addBox(-5.5F, 0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 43)
.addBox(4.5F, 0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 43).addBox(4.5F, 0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 43)
.addBox(-5.5F, 0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 44).addBox(-4.5F, 0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 44)
.addBox(-4.5F, 0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 44).addBox(3.5F, 0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 44)
.addBox(3.5F, 0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 44).addBox(-5.5F, 0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offset(0.0F, 0.0F, 0.0F));
PartDefinition cube_r1 = bone2.addOrReplaceChild("cube_r1",
CubeListBuilder.create().texOffs(36, 8).addBox(1.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 11).addBox(0.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 33)
.addBox(-1.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 6).addBox(-2.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 36)
.addBox(1.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 4).addBox(0.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 0)
.addBox(-1.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 36).addBox(-2.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 35)
.addBox(-6.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 29).addBox(5.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 29)
.addBox(-6.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 6).addBox(5.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 30)
.addBox(-6.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 16).addBox(5.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 8)
.addBox(-6.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 35).addBox(5.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 35)
.addBox(5.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 35).addBox(-3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 35)
.addBox(-3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 35).addBox(2.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 34)
.addBox(2.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 34).addBox(4.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 30)
.addBox(-6.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 34).addBox(-5.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 34)
.addBox(4.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 34).addBox(-5.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 34)
.addBox(4.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 33).addBox(4.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 31)
.addBox(-5.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 29).addBox(-4.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 27)
.addBox(-4.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 33).addBox(3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 25)
.addBox(3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 23).addBox(-5.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-1.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 1.5708F));
PartDefinition cube_r2 = bone2.addOrReplaceChild("cube_r2",
CubeListBuilder.create().texOffs(21, 29).addBox(5.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 29).addBox(-6.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 30)
.addBox(5.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 2).addBox(-6.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 14)
.addBox(5.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 30).addBox(-6.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 20)
.addBox(-6.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 48).addBox(-5.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 47)
.addBox(3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 47).addBox(3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 47)
.addBox(-4.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 47).addBox(-4.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 47)
.addBox(-5.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 47).addBox(4.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 47)
.addBox(4.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 47).addBox(-5.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 46)
.addBox(4.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 46).addBox(-5.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 46)
.addBox(4.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 46).addBox(2.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 46)
.addBox(2.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 46).addBox(-3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 46)
.addBox(-3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 46).addBox(5.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 43)
.addBox(-6.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 41).addBox(-2.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 45)
.addBox(-0.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 35).addBox(1.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 33)
.addBox(-2.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 17).addBox(-0.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 45)
.addBox(1.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 1.5708F));
PartDefinition cube_r3 = bone2.addOrReplaceChild("cube_r3",
CubeListBuilder.create().texOffs(15, 29).addBox(5.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-6.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 4)
.addBox(5.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 0).addBox(-6.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 12)
.addBox(5.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 10).addBox(-6.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 18)
.addBox(-6.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 38).addBox(1.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 33)
.addBox(0.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 19).addBox(-1.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 38)
.addBox(-2.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 38).addBox(1.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 38)
.addBox(0.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 38).addBox(-0.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 38)
.addBox(-1.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 38).addBox(-2.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 37)
.addBox(-6.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 37).addBox(5.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 37)
.addBox(5.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 37).addBox(-3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 37)
.addBox(-3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 37).addBox(2.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 36)
.addBox(2.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 34).addBox(4.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 32)
.addBox(-5.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 30).addBox(4.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 36)
.addBox(-5.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 28).addBox(4.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 26)
.addBox(4.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 24).addBox(-5.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 36)
.addBox(-4.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 22).addBox(-4.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 20)
.addBox(3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 18).addBox(3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 36)
.addBox(-5.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(1.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 1.5708F));
PartDefinition cube_r4 = bone2.addOrReplaceChild("cube_r4",
CubeListBuilder.create().texOffs(33, 9).addBox(-0.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 21).addBox(-0.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 15)
.addBox(1.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 31).addBox(-5.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 30)
.addBox(6.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 32).addBox(-5.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 32)
.addBox(6.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 3).addBox(-5.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 1)
.addBox(6.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 40).addBox(-4.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 38)
.addBox(4.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 36).addBox(4.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 48)
.addBox(-3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 34).addBox(-3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 32)
.addBox(-4.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 30).addBox(5.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 48)
.addBox(5.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 28).addBox(-4.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 26)
.addBox(5.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 24).addBox(-4.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 48)
.addBox(5.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 22).addBox(3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 20)
.addBox(3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 18).addBox(-2.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 48)
.addBox(-2.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 16).addBox(6.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 14)
.addBox(6.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 12).addBox(-5.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 48)
.addBox(-5.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 10).addBox(-1.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 4)
.addBox(2.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 2).addBox(-1.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 0)
.addBox(2.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-1.0F, 0.0F, 0.0F, 1.5708F, 0.0F, 0.0F));
PartDefinition cube_r5 = bone2.addOrReplaceChild("cube_r5", CubeListBuilder.create().texOffs(21, 33).addBox(-0.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -1.0F, 0.0F, -1.5708F, 1.5708F));
PartDefinition cube_r6 = bone2.addOrReplaceChild("cube_r6",
CubeListBuilder.create().texOffs(18, 40).addBox(1.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 40).addBox(-2.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 40)
.addBox(1.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 39).addBox(-0.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 35)
.addBox(-2.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 31).addBox(-6.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 31)
.addBox(5.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 32).addBox(-6.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 32)
.addBox(5.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 7).addBox(-6.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 33)
.addBox(5.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 7).addBox(1.5F, -1.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 5)
.addBox(1.5F, -2.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 3).addBox(2.5F, -1.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 27)
.addBox(2.5F, -2.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 1).addBox(2.5F, -3.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 26)
.addBox(1.5F, -3.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 26).addBox(3.5F, -2.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 26)
.addBox(3.5F, -1.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 26).addBox(4.5F, -1.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 26)
.addBox(3.5F, -2.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 25).addBox(3.5F, -2.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 25)
.addBox(3.5F, -1.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 25).addBox(3.5F, -3.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 25)
.addBox(2.5F, -3.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 24).addBox(1.5F, -3.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 22)
.addBox(3.5F, -3.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 20).addBox(2.5F, -3.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 18)
.addBox(1.5F, -4.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 9).addBox(-3.5F, -3.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 11)
.addBox(-3.5F, -2.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 13).addBox(-4.5F, -2.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 27)
.addBox(-4.5F, -2.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 15).addBox(-4.5F, -3.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 17)
.addBox(-3.5F, -3.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 19).addBox(-3.5F, -1.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 27)
.addBox(-4.5F, -1.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 27).addBox(-4.5F, -1.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 21)
.addBox(-2.5F, -3.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 23).addBox(-2.5F, -3.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 25)
.addBox(-2.5F, -2.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 27).addBox(-2.5F, -1.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 28)
.addBox(-2.5F, -4.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 28).addBox(-3.5F, -3.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 28)
.addBox(-4.5F, -3.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 28).addBox(-4.5F, -2.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 28)
.addBox(-5.5F, -1.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 30).addBox(-6.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 33)
.addBox(-6.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 39).addBox(5.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 31)
.addBox(5.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 29).addBox(-3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 27)
.addBox(-3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 39).addBox(2.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 25)
.addBox(2.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 23).addBox(4.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 21)
.addBox(-5.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 39).addBox(4.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 19)
.addBox(-5.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 17).addBox(4.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 15)
.addBox(4.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 39).addBox(-5.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 13)
.addBox(-4.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 11).addBox(-4.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 9)
.addBox(3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 39).addBox(3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 7)
.addBox(-5.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -1.0F, 1.5708F, 0.0F, 0.0F));
PartDefinition cube_r7 = bone2.addOrReplaceChild("cube_r7",
CubeListBuilder.create().texOffs(15, 31).addBox(-6.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 28).addBox(5.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 32)
.addBox(-6.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 31).addBox(5.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 5)
.addBox(-6.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 32).addBox(5.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 22)
.addBox(1.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 13).addBox(-0.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 20)
.addBox(-2.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 18).addBox(1.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 16)
.addBox(-0.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 12).addBox(-2.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 24)
.addBox(-6.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 22).addBox(-6.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 42)
.addBox(5.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 10).addBox(5.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 8)
.addBox(-3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 6).addBox(-3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 42)
.addBox(2.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 4).addBox(2.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 2)
.addBox(4.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 0).addBox(-5.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 42)
.addBox(4.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 41).addBox(-5.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 41)
.addBox(4.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 41).addBox(4.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 41)
.addBox(-5.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 41).addBox(-4.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 41)
.addBox(-4.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 41).addBox(3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 40)
.addBox(3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 40).addBox(-5.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 1.0F, 1.5708F, 0.0F, 0.0F));
PartDefinition cube_r8 = bone2.addOrReplaceChild("cube_r8",
CubeListBuilder.create().texOffs(9, 7).addBox(1.0F, -2.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 5).addBox(1.0F, -1.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 3)
.addBox(0.0F, -2.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 9).addBox(0.0F, -1.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 1)
.addBox(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 8).addBox(1.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 8)
.addBox(-1.0F, -1.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 7).addBox(-1.0F, -2.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 6)
.addBox(-2.0F, -2.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 4).addBox(-1.0F, -1.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 2)
.addBox(-1.0F, -1.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 0).addBox(-1.0F, -2.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 6)
.addBox(-1.0F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 5).addBox(0.0F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 4)
.addBox(1.0F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 3).addBox(-1.0F, 0.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 1)
.addBox(0.0F, 0.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 2).addBox(1.0F, 1.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 14)
.addBox(5.0F, -2.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 14).addBox(5.0F, -1.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 13)
.addBox(6.0F, -2.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 13).addBox(6.0F, -1.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 12)
.addBox(6.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 10).addBox(5.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 8)
.addBox(7.0F, -1.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 6).addBox(7.0F, -2.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 12)
.addBox(8.0F, -2.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 4).addBox(7.0F, -1.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 2)
.addBox(7.0F, -1.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 0).addBox(7.0F, -2.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 12)
.addBox(7.0F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 11).addBox(6.0F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 11)
.addBox(5.0F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 10).addBox(7.0F, 0.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 10)
.addBox(6.0F, 0.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 9).addBox(5.0F, 1.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-3.5F, 3.5F, -3.5F, -1.5708F, 0.0F, 0.0F));
PartDefinition cube_r9 = bone2.addOrReplaceChild("cube_r9",
CubeListBuilder.create().texOffs(0, 18).addBox(-2.0F, -2.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 17).addBox(-2.0F, -1.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 17)
.addBox(-1.0F, -2.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 17).addBox(-1.0F, -1.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 16)
.addBox(-1.0F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 16).addBox(-2.0F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 16)
.addBox(0.0F, -1.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 15).addBox(0.0F, -2.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 13)
.addBox(1.0F, -2.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 11).addBox(0.0F, -1.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 9)
.addBox(0.0F, -1.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 15).addBox(0.0F, -2.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 7)
.addBox(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 5).addBox(-1.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 3)
.addBox(-2.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 15).addBox(0.0F, 0.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 1)
.addBox(-1.0F, 0.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 14).addBox(-2.0F, 1.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 20)
.addBox(-6.0F, -2.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 20).addBox(-6.0F, -1.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 20)
.addBox(-7.0F, -2.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 19).addBox(-7.0F, -1.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 19)
.addBox(-7.0F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 19).addBox(-6.0F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 18)
.addBox(-8.0F, -1.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 16).addBox(-8.0F, -2.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 14)
.addBox(-9.0F, -2.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 12).addBox(-8.0F, -1.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 18)
.addBox(-8.0F, -1.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 10).addBox(-8.0F, -2.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 8)
.addBox(-8.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 6).addBox(-7.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 18)
.addBox(-6.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 4).addBox(-8.0F, 0.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 2)
.addBox(-7.0F, 0.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 0).addBox(-6.0F, 1.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(3.5F, 3.5F, 3.5F, 1.5708F, 0.0F, 0.0F));
PartDefinition cube_r10 = bone2.addOrReplaceChild("cube_r10",
CubeListBuilder.create().texOffs(12, 22).addBox(-2.5F, -1.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 22).addBox(-2.5F, -2.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 22)
.addBox(-3.5F, -1.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 21).addBox(-3.5F, -2.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 19)
.addBox(-3.5F, -3.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 17).addBox(-2.5F, -3.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 15)
.addBox(-4.5F, -2.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 21).addBox(-4.5F, -1.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 13)
.addBox(-5.5F, -1.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 11).addBox(-4.5F, -2.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 9)
.addBox(-4.5F, -2.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 21).addBox(-4.5F, -1.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 7)
.addBox(-4.5F, -3.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 5).addBox(-3.5F, -3.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 3)
.addBox(-2.5F, -3.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 21).addBox(-4.5F, -3.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 1)
.addBox(-3.5F, -3.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 20).addBox(-2.5F, -4.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 24)
.addBox(1.5F, -1.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 16).addBox(1.5F, -2.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 14)
.addBox(2.5F, -1.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 12).addBox(2.5F, -2.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 24)
.addBox(2.5F, -3.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 10).addBox(1.5F, -3.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 8)
.addBox(3.5F, -2.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 6).addBox(3.5F, -1.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 24)
.addBox(4.5F, -1.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 4).addBox(3.5F, -2.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 2)
.addBox(3.5F, -2.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 0).addBox(3.5F, -1.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 24)
.addBox(3.5F, -3.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 23).addBox(2.5F, -3.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 23)
.addBox(1.5F, -3.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 23).addBox(3.5F, -3.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 23)
.addBox(2.5F, -3.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 22).addBox(1.5F, -4.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 1.0F, -1.5708F, 0.0F, 0.0F));
PartDefinition cube_r11 = bone2.addOrReplaceChild("cube_r11", CubeListBuilder.create().texOffs(45, 31).addBox(5.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -1.0F, 0.0F, 0.0F, -1.5708F, 1.5708F));
return LayerDefinition.create(meshdefinition, 64, 64);
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition bone = partdefinition.addOrReplaceChild("bone", CubeListBuilder.create(), PartPose.offset(0.0F, 8.0F, 0.0F));
PartDefinition bone2 = bone.addOrReplaceChild("bone2",
CubeListBuilder.create().texOffs(48, 50).addBox(1.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 50).addBox(-3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 50)
.addBox(-3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 50).addBox(2.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 49)
.addBox(2.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 49).addBox(4.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 48)
.addBox(-5.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 49).addBox(-5.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 49)
.addBox(4.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 48).addBox(-4.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 46)
.addBox(-4.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 44).addBox(3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 42)
.addBox(3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 49).addBox(-5.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 49)
.addBox(4.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 49).addBox(4.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 49)
.addBox(-5.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 50).addBox(-6.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 50)
.addBox(-6.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 50).addBox(5.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 50)
.addBox(5.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(51, 1).addBox(-2.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 51)
.addBox(1.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 50).addBox(-2.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 44)
.addBox(1.5F, -1.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 26).addBox(-2.5F, -1.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 44)
.addBox(1.5F, -1.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 44).addBox(-2.5F, -1.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 1)
.addBox(-6.5F, -1.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 45).addBox(-6.5F, -1.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 3)
.addBox(5.5F, -1.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 5).addBox(5.5F, -1.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 7)
.addBox(-3.5F, -1.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 45).addBox(-3.5F, -1.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 9)
.addBox(2.5F, -1.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 11).addBox(2.5F, -1.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 13)
.addBox(4.5F, -1.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 45).addBox(-5.5F, -1.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 15)
.addBox(4.5F, -1.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 17).addBox(-5.5F, -1.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 19)
.addBox(4.5F, -1.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 45).addBox(4.5F, -1.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 21)
.addBox(-5.5F, -1.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 23).addBox(-4.5F, -1.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 25)
.addBox(-4.5F, -1.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 45).addBox(3.5F, -1.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 27)
.addBox(3.5F, -1.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 29).addBox(-5.5F, -1.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 24)
.addBox(1.5F, 0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 26).addBox(-2.5F, 0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 28)
.addBox(1.5F, 0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 42).addBox(-2.5F, 0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 30)
.addBox(-6.5F, 0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 32).addBox(-6.5F, 0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 34)
.addBox(5.5F, 0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 42).addBox(5.5F, 0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 36)
.addBox(-3.5F, 0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 38).addBox(-3.5F, 0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 40)
.addBox(2.5F, 0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 42).addBox(2.5F, 0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 43)
.addBox(4.5F, 0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 43).addBox(-5.5F, 0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 43)
.addBox(4.5F, 0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 43).addBox(-5.5F, 0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 43)
.addBox(4.5F, 0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 43).addBox(4.5F, 0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 43)
.addBox(-5.5F, 0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 44).addBox(-4.5F, 0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 44)
.addBox(-4.5F, 0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 44).addBox(3.5F, 0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 44)
.addBox(3.5F, 0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 44).addBox(-5.5F, 0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offset(0.0F, 0.0F, 0.0F));
PartDefinition cube_r1 = bone2.addOrReplaceChild("cube_r1",
CubeListBuilder.create().texOffs(36, 8).addBox(1.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 11).addBox(0.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 33)
.addBox(-1.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 6).addBox(-2.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 36)
.addBox(1.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 4).addBox(0.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 0)
.addBox(-1.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 36).addBox(-2.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 35)
.addBox(-6.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 29).addBox(5.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 29)
.addBox(-6.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 6).addBox(5.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 30)
.addBox(-6.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 16).addBox(5.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 8)
.addBox(-6.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 35).addBox(5.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 35)
.addBox(5.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 35).addBox(-3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 35)
.addBox(-3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 35).addBox(2.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 34)
.addBox(2.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 34).addBox(4.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 30)
.addBox(-6.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 34).addBox(-5.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 34)
.addBox(4.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 34).addBox(-5.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 34)
.addBox(4.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 33).addBox(4.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 31)
.addBox(-5.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 29).addBox(-4.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 27)
.addBox(-4.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 33).addBox(3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 25)
.addBox(3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 23).addBox(-5.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-1.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 1.5708F));
PartDefinition cube_r2 = bone2.addOrReplaceChild("cube_r2",
CubeListBuilder.create().texOffs(21, 29).addBox(5.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 29).addBox(-6.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 30)
.addBox(5.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 2).addBox(-6.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 14)
.addBox(5.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 30).addBox(-6.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 20)
.addBox(-6.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 48).addBox(-5.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 47)
.addBox(3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 47).addBox(3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 47)
.addBox(-4.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 47).addBox(-4.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 47)
.addBox(-5.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 47).addBox(4.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 47)
.addBox(4.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 47).addBox(-5.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 46)
.addBox(4.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 46).addBox(-5.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 46)
.addBox(4.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 46).addBox(2.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 46)
.addBox(2.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 46).addBox(-3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 46)
.addBox(-3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 46).addBox(5.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 43)
.addBox(-6.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 41).addBox(-2.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 45)
.addBox(-0.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 35).addBox(1.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(45, 33)
.addBox(-2.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 17).addBox(-0.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 45)
.addBox(1.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 1.5708F));
PartDefinition cube_r3 = bone2.addOrReplaceChild("cube_r3",
CubeListBuilder.create().texOffs(15, 29).addBox(5.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-6.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 4)
.addBox(5.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 0).addBox(-6.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 12)
.addBox(5.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 10).addBox(-6.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 18)
.addBox(-6.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 38).addBox(1.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 33)
.addBox(0.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 19).addBox(-1.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 38)
.addBox(-2.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 38).addBox(1.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 38)
.addBox(0.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 38).addBox(-0.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 38)
.addBox(-1.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 38).addBox(-2.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 37)
.addBox(-6.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 37).addBox(5.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 37)
.addBox(5.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 37).addBox(-3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 37)
.addBox(-3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 37).addBox(2.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 36)
.addBox(2.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 34).addBox(4.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 32)
.addBox(-5.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 30).addBox(4.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 36)
.addBox(-5.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 28).addBox(4.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 26)
.addBox(4.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 24).addBox(-5.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 36)
.addBox(-4.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 22).addBox(-4.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 20)
.addBox(3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 18).addBox(3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 36)
.addBox(-5.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(1.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 1.5708F));
PartDefinition cube_r4 = bone2.addOrReplaceChild("cube_r4",
CubeListBuilder.create().texOffs(33, 9).addBox(-0.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 21).addBox(-0.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 15)
.addBox(1.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 31).addBox(-5.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 30)
.addBox(6.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 32).addBox(-5.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 32)
.addBox(6.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 3).addBox(-5.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 1)
.addBox(6.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 40).addBox(-4.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 38)
.addBox(4.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 36).addBox(4.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 48)
.addBox(-3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 34).addBox(-3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 32)
.addBox(-4.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 30).addBox(5.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 48)
.addBox(5.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 28).addBox(-4.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 26)
.addBox(5.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 24).addBox(-4.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 48)
.addBox(5.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 22).addBox(3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 20)
.addBox(3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 18).addBox(-2.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 48)
.addBox(-2.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 16).addBox(6.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 14)
.addBox(6.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 12).addBox(-5.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 48)
.addBox(-5.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 10).addBox(-1.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 4)
.addBox(2.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 2).addBox(-1.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(48, 0)
.addBox(2.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-1.0F, 0.0F, 0.0F, 1.5708F, 0.0F, 0.0F));
PartDefinition cube_r5 = bone2.addOrReplaceChild("cube_r5", CubeListBuilder.create().texOffs(21, 33).addBox(-0.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -1.0F, 0.0F, -1.5708F, 1.5708F));
PartDefinition cube_r6 = bone2.addOrReplaceChild("cube_r6",
CubeListBuilder.create().texOffs(18, 40).addBox(1.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 40).addBox(-2.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 40)
.addBox(1.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 39).addBox(-0.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 35)
.addBox(-2.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 31).addBox(-6.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 31)
.addBox(5.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 32).addBox(-6.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 32)
.addBox(5.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 7).addBox(-6.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 33)
.addBox(5.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 7).addBox(1.5F, -1.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 5)
.addBox(1.5F, -2.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 3).addBox(2.5F, -1.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 27)
.addBox(2.5F, -2.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 1).addBox(2.5F, -3.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 26)
.addBox(1.5F, -3.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 26).addBox(3.5F, -2.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 26)
.addBox(3.5F, -1.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 26).addBox(4.5F, -1.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 26)
.addBox(3.5F, -2.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 25).addBox(3.5F, -2.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 25)
.addBox(3.5F, -1.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 25).addBox(3.5F, -3.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 25)
.addBox(2.5F, -3.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 24).addBox(1.5F, -3.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 22)
.addBox(3.5F, -3.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 20).addBox(2.5F, -3.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 18)
.addBox(1.5F, -4.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 9).addBox(-3.5F, -3.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 11)
.addBox(-3.5F, -2.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 13).addBox(-4.5F, -2.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 27)
.addBox(-4.5F, -2.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 15).addBox(-4.5F, -3.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 17)
.addBox(-3.5F, -3.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 19).addBox(-3.5F, -1.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 27)
.addBox(-4.5F, -1.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 27).addBox(-4.5F, -1.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 21)
.addBox(-2.5F, -3.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 23).addBox(-2.5F, -3.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 25)
.addBox(-2.5F, -2.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 27).addBox(-2.5F, -1.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 28)
.addBox(-2.5F, -4.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 28).addBox(-3.5F, -3.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 28)
.addBox(-4.5F, -3.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 28).addBox(-4.5F, -2.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 28)
.addBox(-5.5F, -1.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 30).addBox(-6.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 33)
.addBox(-6.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 39).addBox(5.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 31)
.addBox(5.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 29).addBox(-3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 27)
.addBox(-3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 39).addBox(2.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 25)
.addBox(2.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 23).addBox(4.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 21)
.addBox(-5.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 39).addBox(4.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 19)
.addBox(-5.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 17).addBox(4.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 15)
.addBox(4.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 39).addBox(-5.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 13)
.addBox(-4.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 11).addBox(-4.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 9)
.addBox(3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 39).addBox(3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 7)
.addBox(-5.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -1.0F, 1.5708F, 0.0F, 0.0F));
PartDefinition cube_r7 = bone2.addOrReplaceChild("cube_r7",
CubeListBuilder.create().texOffs(15, 31).addBox(-6.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 28).addBox(5.5F, -0.5F, -1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 32)
.addBox(-6.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 31).addBox(5.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 5)
.addBox(-6.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 32).addBox(5.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 22)
.addBox(1.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 13).addBox(-0.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 20)
.addBox(-2.5F, -0.5F, 5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 18).addBox(1.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 16)
.addBox(-0.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 12).addBox(-2.5F, -0.5F, -6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 24)
.addBox(-6.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 22).addBox(-6.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 42)
.addBox(5.5F, -0.5F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 10).addBox(5.5F, -0.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 8)
.addBox(-3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 6).addBox(-3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 42)
.addBox(2.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 4).addBox(2.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 2)
.addBox(4.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(42, 0).addBox(-5.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 42)
.addBox(4.5F, -0.5F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(39, 41).addBox(-5.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(33, 41)
.addBox(4.5F, -0.5F, 3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(27, 41).addBox(4.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 41)
.addBox(-5.5F, -0.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 41).addBox(-4.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 41)
.addBox(-4.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 41).addBox(3.5F, -0.5F, 4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(36, 40)
.addBox(3.5F, -0.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(30, 40).addBox(-5.5F, -0.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 1.0F, 1.5708F, 0.0F, 0.0F));
PartDefinition cube_r8 = bone2.addOrReplaceChild("cube_r8",
CubeListBuilder.create().texOffs(9, 7).addBox(1.0F, -2.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 5).addBox(1.0F, -1.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 3)
.addBox(0.0F, -2.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 9).addBox(0.0F, -1.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 1)
.addBox(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 8).addBox(1.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 8)
.addBox(-1.0F, -1.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 7).addBox(-1.0F, -2.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 6)
.addBox(-2.0F, -2.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 4).addBox(-1.0F, -1.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 2)
.addBox(-1.0F, -1.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 0).addBox(-1.0F, -2.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 6)
.addBox(-1.0F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 5).addBox(0.0F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 4)
.addBox(1.0F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 3).addBox(-1.0F, 0.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 1)
.addBox(0.0F, 0.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 2).addBox(1.0F, 1.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 14)
.addBox(5.0F, -2.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 14).addBox(5.0F, -1.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 13)
.addBox(6.0F, -2.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 13).addBox(6.0F, -1.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 12)
.addBox(6.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 10).addBox(5.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 8)
.addBox(7.0F, -1.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 6).addBox(7.0F, -2.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 12)
.addBox(8.0F, -2.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 4).addBox(7.0F, -1.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 2)
.addBox(7.0F, -1.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 0).addBox(7.0F, -2.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 12)
.addBox(7.0F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 11).addBox(6.0F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 11)
.addBox(5.0F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 10).addBox(7.0F, 0.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 10)
.addBox(6.0F, 0.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 9).addBox(5.0F, 1.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-3.5F, 3.5F, -3.5F, -1.5708F, 0.0F, 0.0F));
PartDefinition cube_r9 = bone2.addOrReplaceChild("cube_r9",
CubeListBuilder.create().texOffs(0, 18).addBox(-2.0F, -2.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 17).addBox(-2.0F, -1.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 17)
.addBox(-1.0F, -2.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 17).addBox(-1.0F, -1.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 16)
.addBox(-1.0F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 16).addBox(-2.0F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 16)
.addBox(0.0F, -1.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 15).addBox(0.0F, -2.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 13)
.addBox(1.0F, -2.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 11).addBox(0.0F, -1.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 9)
.addBox(0.0F, -1.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 15).addBox(0.0F, -2.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 7)
.addBox(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 5).addBox(-1.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 3)
.addBox(-2.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 15).addBox(0.0F, 0.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 1)
.addBox(-1.0F, 0.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 14).addBox(-2.0F, 1.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 20)
.addBox(-6.0F, -2.0F, -2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 20).addBox(-6.0F, -1.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 20)
.addBox(-7.0F, -2.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 19).addBox(-7.0F, -1.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 19)
.addBox(-7.0F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 19).addBox(-6.0F, 0.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 18)
.addBox(-8.0F, -1.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 16).addBox(-8.0F, -2.0F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 14)
.addBox(-9.0F, -2.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 12).addBox(-8.0F, -1.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 18)
.addBox(-8.0F, -1.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 10).addBox(-8.0F, -2.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 8)
.addBox(-8.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 6).addBox(-7.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 18)
.addBox(-6.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 4).addBox(-8.0F, 0.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 2)
.addBox(-7.0F, 0.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 0).addBox(-6.0F, 1.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(3.5F, 3.5F, 3.5F, 1.5708F, 0.0F, 0.0F));
PartDefinition cube_r10 = bone2.addOrReplaceChild("cube_r10",
CubeListBuilder.create().texOffs(12, 22).addBox(-2.5F, -1.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 22).addBox(-2.5F, -2.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 22)
.addBox(-3.5F, -1.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 21).addBox(-3.5F, -2.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 19)
.addBox(-3.5F, -3.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 17).addBox(-2.5F, -3.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 15)
.addBox(-4.5F, -2.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 21).addBox(-4.5F, -1.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 13)
.addBox(-5.5F, -1.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 11).addBox(-4.5F, -2.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 9)
.addBox(-4.5F, -2.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 21).addBox(-4.5F, -1.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 7)
.addBox(-4.5F, -3.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 5).addBox(-3.5F, -3.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 3)
.addBox(-2.5F, -3.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 21).addBox(-4.5F, -3.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 1)
.addBox(-3.5F, -3.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 20).addBox(-2.5F, -4.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 24)
.addBox(1.5F, -1.5F, -5.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 16).addBox(1.5F, -2.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 14)
.addBox(2.5F, -1.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 12).addBox(2.5F, -2.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(12, 24)
.addBox(2.5F, -3.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 10).addBox(1.5F, -3.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 8)
.addBox(3.5F, -2.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 6).addBox(3.5F, -1.5F, -4.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 24)
.addBox(4.5F, -1.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 4).addBox(3.5F, -2.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 2)
.addBox(3.5F, -2.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(24, 0).addBox(3.5F, -1.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 24)
.addBox(3.5F, -3.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(21, 23).addBox(2.5F, -3.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(15, 23)
.addBox(1.5F, -3.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(9, 23).addBox(3.5F, -3.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(3, 23)
.addBox(2.5F, -3.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(18, 22).addBox(1.5F, -4.5F, -2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 1.0F, -1.5708F, 0.0F, 0.0F));
PartDefinition cube_r11 = bone2.addOrReplaceChild("cube_r11", CubeListBuilder.create().texOffs(45, 31).addBox(5.5F, -0.5F, 0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -1.0F, 0.0F, 0.0F, -1.5708F, 1.5708F));
return LayerDefinition.create(meshdefinition, 64, 64);
}
@Override
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
@Override
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
bone.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
bone.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
}

View file

@ -1,90 +1,85 @@
package net.mcreator.target.client.model;
import net.minecraft.world.entity.Entity;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.model.geom.builders.PartDefinition;
import net.minecraft.client.model.geom.builders.MeshDefinition;
import net.minecraft.client.model.geom.builders.LayerDefinition;
import net.minecraft.client.model.geom.builders.CubeListBuilder;
import net.minecraft.client.model.geom.builders.CubeDeformation;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.EntityModel;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.model.EntityModel;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.builders.*;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.Entity;
// Made with Blockbench 4.9.4
// Exported for Minecraft version 1.17 or later with Mojang mappings
// Paste this class into your mod and generate all required imports
public class Modelbocekarrow<T extends Entity> extends EntityModel<T> {
// This layer location should be baked with EntityRendererProvider.Context in
// the entity renderer and passed into this model's constructor
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("target", "modelbocekarrow"), "main");
public final ModelPart jian;
// This layer location should be baked with EntityRendererProvider.Context in
// the entity renderer and passed into this model's constructor
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("target", "modelbocekarrow"), "main");
public final ModelPart jian;
public Modelbocekarrow(ModelPart root) {
this.jian = root.getChild("jian");
}
public Modelbocekarrow(ModelPart root) {
this.jian = root.getChild("jian");
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition jian = partdefinition.addOrReplaceChild("jian", CubeListBuilder.create().texOffs(0, 0).addBox(-0.068F, -0.068F, -12.7575F, 0.1361F, 0.1361F, 25.515F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.0011F, 5.3718F, -0.0975F, -1.5708F, 0.0F, 0.0F));
PartDefinition bone5 = jian.addOrReplaceChild("bone5", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, -12.0507F));
PartDefinition cube_r1 = bone5.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.2381F, -0.5783F, 0.068F, 0.2041F, 0.4763F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.504F, 0.3134F, 2.0813F, 0.0F, 0.0F));
PartDefinition cube_r2 = bone5.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.068F, -0.7144F, 0.068F, 0.2041F, 1.1567F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.3674F, 0.0F, 0.5105F, 0.0F, 0.0F));
PartDefinition bone6 = jian.addOrReplaceChild("bone6", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -12.0507F, 0.0F, 0.0F, 1.5708F));
PartDefinition cube_r3 = bone6.addOrReplaceChild("cube_r3", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.2381F, -0.5783F, 0.068F, 0.2041F, 0.4763F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.504F, 0.3134F, 2.0813F, 0.0F, 0.0F));
PartDefinition cube_r4 = bone6.addOrReplaceChild("cube_r4", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.068F, -0.7144F, 0.068F, 0.2041F, 1.1567F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.3674F, 0.0F, 0.5105F, 0.0F, 0.0F));
PartDefinition bone7 = jian.addOrReplaceChild("bone7", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -12.0507F, 0.0F, 0.0F, -3.1416F));
PartDefinition cube_r5 = bone7.addOrReplaceChild("cube_r5", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.2381F, -0.5783F, 0.068F, 0.2041F, 0.4763F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.504F, 0.3134F, 2.0813F, 0.0F, 0.0F));
PartDefinition cube_r6 = bone7.addOrReplaceChild("cube_r6", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.068F, -0.7144F, 0.068F, 0.2041F, 1.1567F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.3674F, 0.0F, 0.5105F, 0.0F, 0.0F));
PartDefinition bone8 = jian.addOrReplaceChild("bone8", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -12.0507F, 0.0F, 0.0F, -1.5708F));
PartDefinition cube_r7 = bone8.addOrReplaceChild("cube_r7", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.2381F, -0.5783F, 0.068F, 0.2041F, 0.4763F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.504F, 0.3134F, 2.0813F, 0.0F, 0.0F));
PartDefinition cube_r8 = bone8.addOrReplaceChild("cube_r8", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.068F, -0.7144F, 0.068F, 0.2041F, 1.1567F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.3674F, 0.0F, 0.5105F, 0.0F, 0.0F));
PartDefinition bone10 = jian.addOrReplaceChild("bone10", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.5443F, 3.1979F, 0.068F, 0.4763F, 1.3948F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 7.6545F));
PartDefinition cube_r9 = bone10.addOrReplaceChild("cube_r9", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.5443F, 0.034F, 0.068F, 0.1361F, 0.8845F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.4145F, 2.7282F, 0.5803F, 0.0F, 0.0F));
PartDefinition cube_r10 = bone10.addOrReplaceChild("cube_r10", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.068F, -0.4252F, 0.068F, 0.1361F, 0.6804F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.2337F, 3.0964F, 0.5803F, 0.0F, 0.0F));
PartDefinition cube_r11 = bone10.addOrReplaceChild("cube_r11", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, 0.2381F, -0.2211F, 0.068F, 0.1361F, 0.4763F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.376F, 3.0032F, 0.5803F, 0.0F, 0.0F));
PartDefinition bone3 = jian.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.5443F, 3.1979F, 0.068F, 0.4763F, 1.3948F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 7.6545F, 0.0F, 0.0F, 2.138F));
PartDefinition cube_r12 = bone3.addOrReplaceChild("cube_r12", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, 1.1531F, 2.623F, 0.068F, 0.1361F, 0.8845F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.4145F, -0.3677F, 0.5803F, 0.0F, 0.0F));
PartDefinition cube_r13 = bone3.addOrReplaceChild("cube_r13", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, 1.6294F, 2.1637F, 0.068F, 0.1361F, 0.6804F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.2337F, 0.0006F, 0.5803F, 0.0F, 0.0F));
PartDefinition cube_r14 = bone3.addOrReplaceChild("cube_r14", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, 1.9356F, 2.3679F, 0.068F, 0.1361F, 0.4763F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.376F, -0.0927F, 0.5803F, 0.0F, 0.0F));
PartDefinition bone4 = jian.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.5443F, 3.1979F, 0.068F, 0.4763F, 1.3948F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 7.6545F, 0.0F, 0.0F, -2.0944F));
PartDefinition cube_r15 = bone4.addOrReplaceChild("cube_r15", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, 1.1531F, 2.623F, 0.068F, 0.1361F, 0.8845F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.4145F, -0.3677F, 0.5803F, 0.0F, 0.0F));
PartDefinition cube_r16 = bone4.addOrReplaceChild("cube_r16", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, 1.6294F, 2.1637F, 0.068F, 0.1361F, 0.6804F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.2337F, 0.0006F, 0.5803F, 0.0F, 0.0F));
PartDefinition cube_r17 = bone4.addOrReplaceChild("cube_r17", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, 1.9356F, 2.3679F, 0.068F, 0.1361F, 0.4763F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.376F, -0.0927F, 0.5803F, 0.0F, 0.0F));
return LayerDefinition.create(meshdefinition, 64, 64);
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition jian = partdefinition.addOrReplaceChild("jian", CubeListBuilder.create().texOffs(0, 0).addBox(-0.068F, -0.068F, -12.7575F, 0.1361F, 0.1361F, 25.515F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.0011F, 5.3718F, -0.0975F, -1.5708F, 0.0F, 0.0F));
PartDefinition bone5 = jian.addOrReplaceChild("bone5", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, -12.0507F));
PartDefinition cube_r1 = bone5.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.2381F, -0.5783F, 0.068F, 0.2041F, 0.4763F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.504F, 0.3134F, 2.0813F, 0.0F, 0.0F));
PartDefinition cube_r2 = bone5.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.068F, -0.7144F, 0.068F, 0.2041F, 1.1567F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.3674F, 0.0F, 0.5105F, 0.0F, 0.0F));
PartDefinition bone6 = jian.addOrReplaceChild("bone6", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -12.0507F, 0.0F, 0.0F, 1.5708F));
PartDefinition cube_r3 = bone6.addOrReplaceChild("cube_r3", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.2381F, -0.5783F, 0.068F, 0.2041F, 0.4763F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.504F, 0.3134F, 2.0813F, 0.0F, 0.0F));
PartDefinition cube_r4 = bone6.addOrReplaceChild("cube_r4", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.068F, -0.7144F, 0.068F, 0.2041F, 1.1567F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.3674F, 0.0F, 0.5105F, 0.0F, 0.0F));
PartDefinition bone7 = jian.addOrReplaceChild("bone7", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -12.0507F, 0.0F, 0.0F, -3.1416F));
PartDefinition cube_r5 = bone7.addOrReplaceChild("cube_r5", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.2381F, -0.5783F, 0.068F, 0.2041F, 0.4763F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.504F, 0.3134F, 2.0813F, 0.0F, 0.0F));
PartDefinition cube_r6 = bone7.addOrReplaceChild("cube_r6", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.068F, -0.7144F, 0.068F, 0.2041F, 1.1567F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.3674F, 0.0F, 0.5105F, 0.0F, 0.0F));
PartDefinition bone8 = jian.addOrReplaceChild("bone8", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -12.0507F, 0.0F, 0.0F, -1.5708F));
PartDefinition cube_r7 = bone8.addOrReplaceChild("cube_r7", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.2381F, -0.5783F, 0.068F, 0.2041F, 0.4763F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.504F, 0.3134F, 2.0813F, 0.0F, 0.0F));
PartDefinition cube_r8 = bone8.addOrReplaceChild("cube_r8", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.068F, -0.7144F, 0.068F, 0.2041F, 1.1567F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.3674F, 0.0F, 0.5105F, 0.0F, 0.0F));
PartDefinition bone10 = jian.addOrReplaceChild("bone10", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.5443F, 3.1979F, 0.068F, 0.4763F, 1.3948F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 7.6545F));
PartDefinition cube_r9 = bone10.addOrReplaceChild("cube_r9", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.5443F, 0.034F, 0.068F, 0.1361F, 0.8845F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.4145F, 2.7282F, 0.5803F, 0.0F, 0.0F));
PartDefinition cube_r10 = bone10.addOrReplaceChild("cube_r10", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.068F, -0.4252F, 0.068F, 0.1361F, 0.6804F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.2337F, 3.0964F, 0.5803F, 0.0F, 0.0F));
PartDefinition cube_r11 = bone10.addOrReplaceChild("cube_r11", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, 0.2381F, -0.2211F, 0.068F, 0.1361F, 0.4763F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.376F, 3.0032F, 0.5803F, 0.0F, 0.0F));
PartDefinition bone3 = jian.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.5443F, 3.1979F, 0.068F, 0.4763F, 1.3948F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 7.6545F, 0.0F, 0.0F, 2.138F));
PartDefinition cube_r12 = bone3.addOrReplaceChild("cube_r12", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, 1.1531F, 2.623F, 0.068F, 0.1361F, 0.8845F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.4145F, -0.3677F, 0.5803F, 0.0F, 0.0F));
PartDefinition cube_r13 = bone3.addOrReplaceChild("cube_r13", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, 1.6294F, 2.1637F, 0.068F, 0.1361F, 0.6804F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.2337F, 0.0006F, 0.5803F, 0.0F, 0.0F));
PartDefinition cube_r14 = bone3.addOrReplaceChild("cube_r14", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, 1.9356F, 2.3679F, 0.068F, 0.1361F, 0.4763F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.376F, -0.0927F, 0.5803F, 0.0F, 0.0F));
PartDefinition bone4 = jian.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, -0.5443F, 3.1979F, 0.068F, 0.4763F, 1.3948F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 7.6545F, 0.0F, 0.0F, -2.0944F));
PartDefinition cube_r15 = bone4.addOrReplaceChild("cube_r15", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, 1.1531F, 2.623F, 0.068F, 0.1361F, 0.8845F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.4145F, -0.3677F, 0.5803F, 0.0F, 0.0F));
PartDefinition cube_r16 = bone4.addOrReplaceChild("cube_r16", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, 1.6294F, 2.1637F, 0.068F, 0.1361F, 0.6804F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.2337F, 0.0006F, 0.5803F, 0.0F, 0.0F));
PartDefinition cube_r17 = bone4.addOrReplaceChild("cube_r17", CubeListBuilder.create().texOffs(0, 0).addBox(-0.034F, 1.9356F, 2.3679F, 0.068F, 0.1361F, 0.4763F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.376F, -0.0927F, 0.5803F, 0.0F, 0.0F));
return LayerDefinition.create(meshdefinition, 64, 64);
}
@Override
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
@Override
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
jian.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
jian.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
}

View file

@ -1,46 +1,41 @@
package net.mcreator.target.client.model;
import net.minecraft.world.entity.Entity;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.model.geom.builders.PartDefinition;
import net.minecraft.client.model.geom.builders.MeshDefinition;
import net.minecraft.client.model.geom.builders.LayerDefinition;
import net.minecraft.client.model.geom.builders.CubeListBuilder;
import net.minecraft.client.model.geom.builders.CubeDeformation;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.EntityModel;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.model.EntityModel;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.builders.*;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.Entity;
// Made with Blockbench 4.9.2
// Exported for Minecraft version 1.17 or later with Mojang mappings
// Paste this class into your mod and generate all required imports
public class Modelbulle<T extends Entity> extends EntityModel<T> {
// This layer location should be baked with EntityRendererProvider.Context in
// the entity renderer and passed into this model's constructor
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("target", "modelbulle"), "main");
public final ModelPart bone;
// This layer location should be baked with EntityRendererProvider.Context in
// the entity renderer and passed into this model's constructor
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("target", "modelbulle"), "main");
public final ModelPart bone;
public Modelbulle(ModelPart root) {
this.bone = root.getChild("bone");
}
public Modelbulle(ModelPart root) {
this.bone = root.getChild("bone");
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition bone = partdefinition.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(2, 2).addBox(0.5F, -26.5F, -0.5F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
return LayerDefinition.create(meshdefinition, 16, 16);
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition bone = partdefinition.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(2, 2).addBox(0.5F, -26.5F, -0.5F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
return LayerDefinition.create(meshdefinition, 16, 16);
}
@Override
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
@Override
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
bone.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
bone.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
}

View file

@ -1,48 +1,43 @@
package net.mcreator.target.client.model;
import net.minecraft.world.entity.Entity;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.model.geom.builders.PartDefinition;
import net.minecraft.client.model.geom.builders.MeshDefinition;
import net.minecraft.client.model.geom.builders.LayerDefinition;
import net.minecraft.client.model.geom.builders.CubeListBuilder;
import net.minecraft.client.model.geom.builders.CubeDeformation;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.EntityModel;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.model.EntityModel;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.builders.*;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.Entity;
// Made with Blockbench 4.9.4
// Exported for Minecraft version 1.17 or later with Mojang mappings
// Paste this class into your mod and generate all required imports
public class Modelbullet<T extends Entity> extends EntityModel<T> {
// This layer location should be baked with EntityRendererProvider.Context in
// the entity renderer and passed into this model's constructor
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("target", "modelbullet"), "main");
public final ModelPart bone;
// This layer location should be baked with EntityRendererProvider.Context in
// the entity renderer and passed into this model's constructor
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("target", "modelbullet"), "main");
public final ModelPart bone;
public Modelbullet(ModelPart root) {
this.bone = root.getChild("bone");
}
public Modelbullet(ModelPart root) {
this.bone = root.getChild("bone");
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition bone = partdefinition.addOrReplaceChild("bone", CubeListBuilder.create(), PartPose.offset(0.0F, 8.0F, 0.0F));
PartDefinition bone2 = bone.addOrReplaceChild("bone2", CubeListBuilder.create(), PartPose.offset(-2.1213F, 8.5F, 0.0F));
PartDefinition cube_r1 = bone2.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(1, 1).addBox(-1.5F, -21.5F, -1.5F, 1.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.7854F, 0.0F));
return LayerDefinition.create(meshdefinition, 16, 16);
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition bone = partdefinition.addOrReplaceChild("bone", CubeListBuilder.create(), PartPose.offset(0.0F, 8.0F, 0.0F));
PartDefinition bone2 = bone.addOrReplaceChild("bone2", CubeListBuilder.create(), PartPose.offset(-2.1213F, 8.5F, 0.0F));
PartDefinition cube_r1 = bone2.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(1, 1).addBox(-1.5F, -21.5F, -1.5F, 1.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.7854F, 0.0F));
return LayerDefinition.create(meshdefinition, 16, 16);
}
@Override
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
@Override
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
bone.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
bone.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
}

View file

@ -1,60 +1,55 @@
package net.mcreator.target.client.model;
import net.minecraft.world.entity.Entity;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.model.geom.builders.PartDefinition;
import net.minecraft.client.model.geom.builders.MeshDefinition;
import net.minecraft.client.model.geom.builders.LayerDefinition;
import net.minecraft.client.model.geom.builders.CubeListBuilder;
import net.minecraft.client.model.geom.builders.CubeDeformation;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.EntityModel;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.model.EntityModel;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.builders.*;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.Entity;
// Made with Blockbench 4.9.3
// Exported for Minecraft version 1.17 or later with Mojang mappings
// Paste this class into your mod and generate all required imports
public class Modelclaymore<T extends Entity> extends EntityModel<T> {
// This layer location should be baked with EntityRendererProvider.Context in
// the entity renderer and passed into this model's constructor
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("target", "modelclaymore"), "main");
public final ModelPart claymore;
// This layer location should be baked with EntityRendererProvider.Context in
// the entity renderer and passed into this model's constructor
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("target", "modelclaymore"), "main");
public final ModelPart claymore;
public Modelclaymore(ModelPart root) {
this.claymore = root.getChild("claymore");
}
public Modelclaymore(ModelPart root) {
this.claymore = root.getChild("claymore");
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition claymore = partdefinition.addOrReplaceChild("claymore", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F));
PartDefinition bone = claymore.addOrReplaceChild("bone",
CubeListBuilder.create().texOffs(0, 0).addBox(-3.5F, -7.75F, -0.5F, 7.0F, 5.0F, 2.0F, new CubeDeformation(0.0F)).texOffs(0, 14).addBox(-2.0F, -8.0F, 0.0F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(14, 7)
.addBox(2.0F, -8.75F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 7).addBox(-3.0F, -8.75F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 3.1416F, 0.0F));
PartDefinition cube_r1 = bone.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(8, 7).addBox(-1.5F, -6.0F, -0.5F, 2.0F, 5.0F, 2.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(4.3118F, -1.75F, -0.4598F, 0.0F, 0.3927F, 0.0F));
PartDefinition cube_r2 = bone.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(0, 7).addBox(0.5F, -6.0F, -1.5F, 2.0F, 5.0F, 2.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-5.6184F, -1.75F, 0.0814F, 0.0F, -0.3927F, 0.0F));
PartDefinition cube_r3 = bone.addOrReplaceChild("cube_r3",
CubeListBuilder.create().texOffs(12, 13).addBox(0.0F, -0.75F, -0.5F, 0.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 15).addBox(6.0F, -0.75F, -0.5F, 0.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-3.0F, -2.6F, 0.3F, -0.7854F, 0.0F, 0.0F));
PartDefinition cube_r4 = bone.addOrReplaceChild("cube_r4",
CubeListBuilder.create().texOffs(10, 13).addBox(0.0F, -0.5F, -0.25F, 0.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(14, 13).addBox(6.0F, -0.5F, -0.25F, 0.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-3.0F, -2.6F, 0.3F, 0.7854F, 0.0F, 0.0F));
return LayerDefinition.create(meshdefinition, 32, 32);
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition claymore = partdefinition.addOrReplaceChild("claymore", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F));
PartDefinition bone = claymore.addOrReplaceChild("bone",
CubeListBuilder.create().texOffs(0, 0).addBox(-3.5F, -7.75F, -0.5F, 7.0F, 5.0F, 2.0F, new CubeDeformation(0.0F)).texOffs(0, 14).addBox(-2.0F, -8.0F, 0.0F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(14, 7)
.addBox(2.0F, -8.75F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(6, 7).addBox(-3.0F, -8.75F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 3.1416F, 0.0F));
PartDefinition cube_r1 = bone.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(8, 7).addBox(-1.5F, -6.0F, -0.5F, 2.0F, 5.0F, 2.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(4.3118F, -1.75F, -0.4598F, 0.0F, 0.3927F, 0.0F));
PartDefinition cube_r2 = bone.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(0, 7).addBox(0.5F, -6.0F, -1.5F, 2.0F, 5.0F, 2.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-5.6184F, -1.75F, 0.0814F, 0.0F, -0.3927F, 0.0F));
PartDefinition cube_r3 = bone.addOrReplaceChild("cube_r3",
CubeListBuilder.create().texOffs(12, 13).addBox(0.0F, -0.75F, -0.5F, 0.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 15).addBox(6.0F, -0.75F, -0.5F, 0.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-3.0F, -2.6F, 0.3F, -0.7854F, 0.0F, 0.0F));
PartDefinition cube_r4 = bone.addOrReplaceChild("cube_r4",
CubeListBuilder.create().texOffs(10, 13).addBox(0.0F, -0.5F, -0.25F, 0.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(14, 13).addBox(6.0F, -0.5F, -0.25F, 0.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-3.0F, -2.6F, 0.3F, 0.7854F, 0.0F, 0.0F));
return LayerDefinition.create(meshdefinition, 32, 32);
}
@Override
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
@Override
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
claymore.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
claymore.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
}

View file

@ -1,52 +1,47 @@
package net.mcreator.target.client.model;
import net.minecraft.world.entity.Entity;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.model.geom.builders.PartDefinition;
import net.minecraft.client.model.geom.builders.MeshDefinition;
import net.minecraft.client.model.geom.builders.LayerDefinition;
import net.minecraft.client.model.geom.builders.CubeListBuilder;
import net.minecraft.client.model.geom.builders.CubeDeformation;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.EntityModel;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.model.EntityModel;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.builders.*;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.Entity;
// Made with Blockbench 4.9.2
// Exported for Minecraft version 1.17 or later with Mojang mappings
// Paste this class into your mod and generate all required imports
public class Modelmissile<T extends Entity> extends EntityModel<T> {
// This layer location should be baked with EntityRendererProvider.Context in
// the entity renderer and passed into this model's constructor
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("target", "modelmissile"), "main");
public final ModelPart bone;
// This layer location should be baked with EntityRendererProvider.Context in
// the entity renderer and passed into this model's constructor
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("target", "modelmissile"), "main");
public final ModelPart bone;
public Modelmissile(ModelPart root) {
this.bone = root.getChild("bone");
}
public Modelmissile(ModelPart root) {
this.bone = root.getChild("bone");
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition bone = partdefinition.addOrReplaceChild("bone",
CubeListBuilder.create().texOffs(0, 0).addBox(-1.0F, -34.0F, -1.0F, 2.0F, 18.0F, 2.0F, new CubeDeformation(0.0F)).texOffs(8, 8).addBox(-0.5F, -21.0F, -2.0F, 1.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)).texOffs(14, 4)
.addBox(-0.5F, -32.0F, -2.0F, 1.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)).texOffs(8, 0).addBox(-0.5F, -36.0F, -0.5F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offset(0.0F, 24.0F, 0.0F));
PartDefinition cube_r1 = bone.addOrReplaceChild("cube_r1",
CubeListBuilder.create().texOffs(14, 12).addBox(-0.5F, -3.0F, -2.0F, 1.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)).texOffs(8, 0).addBox(-0.5F, 8.0F, -2.0F, 1.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -29.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
return LayerDefinition.create(meshdefinition, 32, 32);
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition bone = partdefinition.addOrReplaceChild("bone",
CubeListBuilder.create().texOffs(0, 0).addBox(-1.0F, -34.0F, -1.0F, 2.0F, 18.0F, 2.0F, new CubeDeformation(0.0F)).texOffs(8, 8).addBox(-0.5F, -21.0F, -2.0F, 1.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)).texOffs(14, 4)
.addBox(-0.5F, -32.0F, -2.0F, 1.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)).texOffs(8, 0).addBox(-0.5F, -36.0F, -0.5F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offset(0.0F, 24.0F, 0.0F));
PartDefinition cube_r1 = bone.addOrReplaceChild("cube_r1",
CubeListBuilder.create().texOffs(14, 12).addBox(-0.5F, -3.0F, -2.0F, 1.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)).texOffs(8, 0).addBox(-0.5F, 8.0F, -2.0F, 1.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -29.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
return LayerDefinition.create(meshdefinition, 32, 32);
}
@Override
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
@Override
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
bone.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
bone.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
}

View file

@ -1,85 +1,80 @@
package net.mcreator.target.client.model;
import net.minecraft.world.entity.Entity;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.model.geom.builders.PartDefinition;
import net.minecraft.client.model.geom.builders.MeshDefinition;
import net.minecraft.client.model.geom.builders.LayerDefinition;
import net.minecraft.client.model.geom.builders.CubeListBuilder;
import net.minecraft.client.model.geom.builders.CubeDeformation;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.EntityModel;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.model.EntityModel;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.builders.*;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.Entity;
// Made with Blockbench 4.9.4
// Exported for Minecraft version 1.17 or later with Mojang mappings
// Paste this class into your mod and generate all required imports
public class Modelmortar_shell_Converted<T extends Entity> extends EntityModel<T> {
// This layer location should be baked with EntityRendererProvider.Context in
// the entity renderer and passed into this model's constructor
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("target", "modelmortar_shell_converted"), "main");
public final ModelPart Rockets;
// This layer location should be baked with EntityRendererProvider.Context in
// the entity renderer and passed into this model's constructor
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("target", "modelmortar_shell_converted"), "main");
public final ModelPart Rockets;
public Modelmortar_shell_Converted(ModelPart root) {
this.Rockets = root.getChild("Rockets");
}
public Modelmortar_shell_Converted(ModelPart root) {
this.Rockets = root.getChild("Rockets");
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition Rockets = partdefinition.addOrReplaceChild("Rockets", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -24.7579F, 0.4535F, -1.5708F, 0.0F, 0.0F));
PartDefinition octagon_r1 = Rockets.addOrReplaceChild("octagon_r1", CubeListBuilder.create().texOffs(6, 3).addBox(-1.3735F, -0.2401F, -1.5325F, 0.7465F, 0.4803F, 1.7605F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(1.8097F, 0.0033F, 5.8407F, 0.0F, 0.3927F, 0.0F));
PartDefinition octagon_r2 = Rockets.addOrReplaceChild("octagon_r2", CubeListBuilder.create().texOffs(7, 0).addBox(0.627F, -0.2401F, -1.5325F, 0.7465F, 0.4803F, 1.7605F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-1.8097F, 0.0033F, 5.8407F, 0.0F, -0.3927F, 0.0F));
PartDefinition octagon_r3 = Rockets.addOrReplaceChild("octagon_r3", CubeListBuilder.create().texOffs(0, 8).addBox(-0.2401F, 0.627F, -1.4075F, 0.4803F, 0.684F, 1.6355F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.0003F, 6.5823F, -0.3927F, 0.0F, 0.0F));
PartDefinition octagon_r4 = Rockets.addOrReplaceChild("octagon_r4", CubeListBuilder.create().texOffs(4, 8).addBox(-0.2401F, -1.311F, -1.4075F, 0.4803F, 0.684F, 1.6355F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.0003F, 6.5823F, 0.3927F, 0.0F, 0.0F));
PartDefinition octagon_r5 = Rockets.addOrReplaceChild("octagon_r5",
CubeListBuilder.create().texOffs(2, 0).addBox(-0.57F, -0.2361F, -4.1689F, 1.14F, 0.4722F, 2.85F, new CubeDeformation(0.0F)).texOffs(0, 3).addBox(-0.2361F, -0.57F, -4.1689F, 0.4722F, 1.14F, 2.85F, new CubeDeformation(0.0F))
.texOffs(0, 15).addBox(-0.741F, -0.3069F, -3.4849F, 1.482F, 0.6139F, 1.824F, new CubeDeformation(0.0F)).texOffs(19, 0).addBox(-0.3069F, -0.741F, -3.4849F, 0.6139F, 1.482F, 1.824F, new CubeDeformation(0.0F)).texOffs(13, 13)
.addBox(-0.912F, -0.3778F, -2.3449F, 1.824F, 0.7555F, 7.0265F, new CubeDeformation(0.0F)).texOffs(19, 0).addBox(-0.3778F, -0.912F, -2.3449F, 0.7555F, 1.824F, 7.0265F, new CubeDeformation(0.0F)).texOffs(29, 23)
.addBox(-0.4486F, -1.083F, -1.3189F, 0.8972F, 2.166F, 5.066F, new CubeDeformation(0.0F)).texOffs(28, 0).addBox(-1.083F, -0.4486F, -1.3189F, 2.166F, 0.8972F, 5.066F, new CubeDeformation(0.0F)).texOffs(29, 30)
.addBox(-1.254F, -0.5194F, -0.2929F, 2.508F, 1.0388F, 3.128F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.5194F, -1.254F, -0.2929F, 1.0388F, 2.508F, 3.128F, new CubeDeformation(0.0F)).texOffs(0, 8)
.addBox(-1.425F, -0.5902F, 0.7331F, 2.85F, 1.1805F, 1.19F, new CubeDeformation(0.0F)).texOffs(7, 5).addBox(-0.5902F, -1.425F, 0.7331F, 1.1805F, 2.85F, 1.19F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.0003F, -0.8848F, 0.0F, 0.0F, -0.3927F));
PartDefinition octagon_r6 = Rockets.addOrReplaceChild("octagon_r6",
CubeListBuilder.create().texOffs(4, 0).addBox(-0.57F, -0.2361F, -4.1689F, 1.14F, 0.4722F, 2.85F, new CubeDeformation(0.0F)).texOffs(0, 4).addBox(-0.2361F, -0.57F, -4.1689F, 0.4722F, 1.14F, 2.85F, new CubeDeformation(0.0F))
.texOffs(11, 17).addBox(-0.741F, -0.3069F, -3.4849F, 1.482F, 0.6139F, 1.824F, new CubeDeformation(0.0F)).texOffs(19, 3).addBox(-0.3069F, -0.741F, -3.4849F, 0.6139F, 1.482F, 1.824F, new CubeDeformation(0.0F)).texOffs(0, 15)
.addBox(-0.912F, -0.3778F, -2.3449F, 1.824F, 0.7555F, 7.0265F, new CubeDeformation(0.0F)).texOffs(11, 21).addBox(-0.3778F, -0.912F, -2.3449F, 0.7555F, 1.824F, 7.0265F, new CubeDeformation(0.0F)).texOffs(24, 9)
.addBox(-1.083F, -0.4486F, -1.3189F, 2.166F, 0.8972F, 5.066F, new CubeDeformation(0.0F)).texOffs(9, 30).addBox(-0.4486F, -1.083F, -1.3189F, 0.8972F, 2.166F, 5.066F, new CubeDeformation(0.0F)).texOffs(0, 31)
.addBox(-1.254F, -0.5194F, -0.2929F, 2.508F, 1.0388F, 3.128F, new CubeDeformation(0.0F)).texOffs(33, 6).addBox(-0.5194F, -1.254F, -0.2929F, 1.0388F, 2.508F, 3.128F, new CubeDeformation(0.0F)).texOffs(11, 15)
.addBox(-1.425F, -0.5902F, 0.7331F, 2.85F, 1.1805F, 1.19F, new CubeDeformation(0.0F)).texOffs(0, 18).addBox(-0.5902F, -1.425F, 0.7331F, 1.1805F, 2.85F, 1.19F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.0003F, -0.8848F, 0.0F, 0.0F, 0.3927F));
PartDefinition group2 = Rockets.addOrReplaceChild("group2", CubeListBuilder.create(), PartPose.offset(0.0F, -6.0003F, 12.3571F));
PartDefinition group3 = Rockets.addOrReplaceChild("group3", CubeListBuilder.create(), PartPose.offset(0.0F, -9.7972F, 8.7641F));
PartDefinition octagon_r7 = group3.addOrReplaceChild("octagon_r7", CubeListBuilder.create().texOffs(20, 21).addBox(-0.7434F, -0.308F, 1.7936F, 1.4868F, 0.6158F, 5.7403F, new CubeDeformation(0.0F)).texOffs(28, 15).addBox(-0.3079F, -0.7435F,
1.7936F, 0.6159F, 1.4868F, 5.7403F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 9.797F, -9.6489F, 0.0F, 0.0F, -0.3927F));
PartDefinition octagon_r8 = group3.addOrReplaceChild("octagon_r8",
CubeListBuilder.create().texOffs(0, 24).addBox(-0.7434F, -0.308F, 1.7936F, 1.4868F, 0.6158F, 5.7403F, new CubeDeformation(0.0F)).texOffs(21, 28).addBox(-0.308F, -0.7435F, 1.7936F, 0.6159F, 1.4868F, 5.7403F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 9.797F, -9.6489F, 0.0F, 0.0F, 0.3927F));
PartDefinition group4 = Rockets.addOrReplaceChild("group4", CubeListBuilder.create(), PartPose.offset(0.0F, -9.7972F, 8.7641F));
PartDefinition group = Rockets.addOrReplaceChild("group", CubeListBuilder.create(), PartPose.offset(0.0F, 0.2029F, -5.0537F));
PartDefinition octagon_r9 = group.addOrReplaceChild("octagon_r9",
CubeListBuilder.create().texOffs(0, 1).addBox(-0.1549F, -0.3739F, -4.905F, 0.3098F, 0.7478F, 1.1522F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.3739F, -0.1549F, -4.905F, 0.7478F, 0.3098F, 1.1522F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.2031F, 4.1689F, 0.0F, 0.0F, -0.3927F));
PartDefinition octagon_r10 = group.addOrReplaceChild("octagon_r10",
CubeListBuilder.create().texOffs(8, 8).addBox(-0.1549F, -0.3739F, -4.905F, 0.3098F, 0.7478F, 1.1522F, new CubeDeformation(0.0F)).texOffs(0, 1).addBox(-0.3739F, -0.1549F, -4.905F, 0.7478F, 0.3098F, 1.1522F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.2031F, 4.1689F, 0.0F, 0.0F, 0.3927F));
return LayerDefinition.create(meshdefinition, 16, 16);
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition Rockets = partdefinition.addOrReplaceChild("Rockets", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -24.7579F, 0.4535F, -1.5708F, 0.0F, 0.0F));
PartDefinition octagon_r1 = Rockets.addOrReplaceChild("octagon_r1", CubeListBuilder.create().texOffs(6, 3).addBox(-1.3735F, -0.2401F, -1.5325F, 0.7465F, 0.4803F, 1.7605F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(1.8097F, 0.0033F, 5.8407F, 0.0F, 0.3927F, 0.0F));
PartDefinition octagon_r2 = Rockets.addOrReplaceChild("octagon_r2", CubeListBuilder.create().texOffs(7, 0).addBox(0.627F, -0.2401F, -1.5325F, 0.7465F, 0.4803F, 1.7605F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-1.8097F, 0.0033F, 5.8407F, 0.0F, -0.3927F, 0.0F));
PartDefinition octagon_r3 = Rockets.addOrReplaceChild("octagon_r3", CubeListBuilder.create().texOffs(0, 8).addBox(-0.2401F, 0.627F, -1.4075F, 0.4803F, 0.684F, 1.6355F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.0003F, 6.5823F, -0.3927F, 0.0F, 0.0F));
PartDefinition octagon_r4 = Rockets.addOrReplaceChild("octagon_r4", CubeListBuilder.create().texOffs(4, 8).addBox(-0.2401F, -1.311F, -1.4075F, 0.4803F, 0.684F, 1.6355F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.0003F, 6.5823F, 0.3927F, 0.0F, 0.0F));
PartDefinition octagon_r5 = Rockets.addOrReplaceChild("octagon_r5",
CubeListBuilder.create().texOffs(2, 0).addBox(-0.57F, -0.2361F, -4.1689F, 1.14F, 0.4722F, 2.85F, new CubeDeformation(0.0F)).texOffs(0, 3).addBox(-0.2361F, -0.57F, -4.1689F, 0.4722F, 1.14F, 2.85F, new CubeDeformation(0.0F))
.texOffs(0, 15).addBox(-0.741F, -0.3069F, -3.4849F, 1.482F, 0.6139F, 1.824F, new CubeDeformation(0.0F)).texOffs(19, 0).addBox(-0.3069F, -0.741F, -3.4849F, 0.6139F, 1.482F, 1.824F, new CubeDeformation(0.0F)).texOffs(13, 13)
.addBox(-0.912F, -0.3778F, -2.3449F, 1.824F, 0.7555F, 7.0265F, new CubeDeformation(0.0F)).texOffs(19, 0).addBox(-0.3778F, -0.912F, -2.3449F, 0.7555F, 1.824F, 7.0265F, new CubeDeformation(0.0F)).texOffs(29, 23)
.addBox(-0.4486F, -1.083F, -1.3189F, 0.8972F, 2.166F, 5.066F, new CubeDeformation(0.0F)).texOffs(28, 0).addBox(-1.083F, -0.4486F, -1.3189F, 2.166F, 0.8972F, 5.066F, new CubeDeformation(0.0F)).texOffs(29, 30)
.addBox(-1.254F, -0.5194F, -0.2929F, 2.508F, 1.0388F, 3.128F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.5194F, -1.254F, -0.2929F, 1.0388F, 2.508F, 3.128F, new CubeDeformation(0.0F)).texOffs(0, 8)
.addBox(-1.425F, -0.5902F, 0.7331F, 2.85F, 1.1805F, 1.19F, new CubeDeformation(0.0F)).texOffs(7, 5).addBox(-0.5902F, -1.425F, 0.7331F, 1.1805F, 2.85F, 1.19F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.0003F, -0.8848F, 0.0F, 0.0F, -0.3927F));
PartDefinition octagon_r6 = Rockets.addOrReplaceChild("octagon_r6",
CubeListBuilder.create().texOffs(4, 0).addBox(-0.57F, -0.2361F, -4.1689F, 1.14F, 0.4722F, 2.85F, new CubeDeformation(0.0F)).texOffs(0, 4).addBox(-0.2361F, -0.57F, -4.1689F, 0.4722F, 1.14F, 2.85F, new CubeDeformation(0.0F))
.texOffs(11, 17).addBox(-0.741F, -0.3069F, -3.4849F, 1.482F, 0.6139F, 1.824F, new CubeDeformation(0.0F)).texOffs(19, 3).addBox(-0.3069F, -0.741F, -3.4849F, 0.6139F, 1.482F, 1.824F, new CubeDeformation(0.0F)).texOffs(0, 15)
.addBox(-0.912F, -0.3778F, -2.3449F, 1.824F, 0.7555F, 7.0265F, new CubeDeformation(0.0F)).texOffs(11, 21).addBox(-0.3778F, -0.912F, -2.3449F, 0.7555F, 1.824F, 7.0265F, new CubeDeformation(0.0F)).texOffs(24, 9)
.addBox(-1.083F, -0.4486F, -1.3189F, 2.166F, 0.8972F, 5.066F, new CubeDeformation(0.0F)).texOffs(9, 30).addBox(-0.4486F, -1.083F, -1.3189F, 0.8972F, 2.166F, 5.066F, new CubeDeformation(0.0F)).texOffs(0, 31)
.addBox(-1.254F, -0.5194F, -0.2929F, 2.508F, 1.0388F, 3.128F, new CubeDeformation(0.0F)).texOffs(33, 6).addBox(-0.5194F, -1.254F, -0.2929F, 1.0388F, 2.508F, 3.128F, new CubeDeformation(0.0F)).texOffs(11, 15)
.addBox(-1.425F, -0.5902F, 0.7331F, 2.85F, 1.1805F, 1.19F, new CubeDeformation(0.0F)).texOffs(0, 18).addBox(-0.5902F, -1.425F, 0.7331F, 1.1805F, 2.85F, 1.19F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.0003F, -0.8848F, 0.0F, 0.0F, 0.3927F));
PartDefinition group2 = Rockets.addOrReplaceChild("group2", CubeListBuilder.create(), PartPose.offset(0.0F, -6.0003F, 12.3571F));
PartDefinition group3 = Rockets.addOrReplaceChild("group3", CubeListBuilder.create(), PartPose.offset(0.0F, -9.7972F, 8.7641F));
PartDefinition octagon_r7 = group3.addOrReplaceChild("octagon_r7", CubeListBuilder.create().texOffs(20, 21).addBox(-0.7434F, -0.308F, 1.7936F, 1.4868F, 0.6158F, 5.7403F, new CubeDeformation(0.0F)).texOffs(28, 15).addBox(-0.3079F, -0.7435F,
1.7936F, 0.6159F, 1.4868F, 5.7403F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 9.797F, -9.6489F, 0.0F, 0.0F, -0.3927F));
PartDefinition octagon_r8 = group3.addOrReplaceChild("octagon_r8",
CubeListBuilder.create().texOffs(0, 24).addBox(-0.7434F, -0.308F, 1.7936F, 1.4868F, 0.6158F, 5.7403F, new CubeDeformation(0.0F)).texOffs(21, 28).addBox(-0.308F, -0.7435F, 1.7936F, 0.6159F, 1.4868F, 5.7403F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 9.797F, -9.6489F, 0.0F, 0.0F, 0.3927F));
PartDefinition group4 = Rockets.addOrReplaceChild("group4", CubeListBuilder.create(), PartPose.offset(0.0F, -9.7972F, 8.7641F));
PartDefinition group = Rockets.addOrReplaceChild("group", CubeListBuilder.create(), PartPose.offset(0.0F, 0.2029F, -5.0537F));
PartDefinition octagon_r9 = group.addOrReplaceChild("octagon_r9",
CubeListBuilder.create().texOffs(0, 1).addBox(-0.1549F, -0.3739F, -4.905F, 0.3098F, 0.7478F, 1.1522F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.3739F, -0.1549F, -4.905F, 0.7478F, 0.3098F, 1.1522F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.2031F, 4.1689F, 0.0F, 0.0F, -0.3927F));
PartDefinition octagon_r10 = group.addOrReplaceChild("octagon_r10",
CubeListBuilder.create().texOffs(8, 8).addBox(-0.1549F, -0.3739F, -4.905F, 0.3098F, 0.7478F, 1.1522F, new CubeDeformation(0.0F)).texOffs(0, 1).addBox(-0.3739F, -0.1549F, -4.905F, 0.7478F, 0.3098F, 1.1522F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, -0.2031F, 4.1689F, 0.0F, 0.0F, 0.3927F));
return LayerDefinition.create(meshdefinition, 16, 16);
}
@Override
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
@Override
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
Rockets.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
Rockets.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
}

View file

@ -1,329 +1,324 @@
package net.mcreator.target.client.model;
import net.minecraft.world.entity.Entity;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.model.geom.builders.PartDefinition;
import net.minecraft.client.model.geom.builders.MeshDefinition;
import net.minecraft.client.model.geom.builders.LayerDefinition;
import net.minecraft.client.model.geom.builders.CubeListBuilder;
import net.minecraft.client.model.geom.builders.CubeDeformation;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.EntityModel;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.model.EntityModel;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.builders.*;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.Entity;
// Made with Blockbench 4.9.4
// Exported for Minecraft version 1.17 or later with Mojang mappings
// Paste this class into your mod and generate all required imports
public class Modelrpg7_rocket_Converted<T extends Entity> extends EntityModel<T> {
// This layer location should be baked with EntityRendererProvider.Context in
// the entity renderer and passed into this model's constructor
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("target", "modelrpg_7_rocket_converted"), "main");
public final ModelPart Rockets;
// This layer location should be baked with EntityRendererProvider.Context in
// the entity renderer and passed into this model's constructor
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("target", "modelrpg_7_rocket_converted"), "main");
public final ModelPart Rockets;
public Modelrpg7_rocket_Converted(ModelPart root) {
this.Rockets = root.getChild("Rockets");
}
public Modelrpg7_rocket_Converted(ModelPart root) {
this.Rockets = root.getChild("Rockets");
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition Rockets = partdefinition.addOrReplaceChild("Rockets", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -24.7579F, 0.4535F, -1.5708F, 0.0F, 0.0F));
PartDefinition Rockets2 = Rockets.addOrReplaceChild("Rockets2", CubeListBuilder.create(), PartPose.offset(0.0F, 0.4579F, -0.0535F));
PartDefinition bone23 = Rockets2.addOrReplaceChild("bone23", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -10.1988F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -1.0385F));
PartDefinition octagon_r1 = bone23.addOrReplaceChild("octagon_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -16.1742F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 5.9754F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r2 = bone23.addOrReplaceChild("octagon_r2", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -16.1742F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 5.9754F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r3 = bone23.addOrReplaceChild("octagon_r3", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -16.1742F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 5.9754F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r4 = bone23.addOrReplaceChild("octagon_r4", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -16.1742F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 5.9754F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r5 = bone23.addOrReplaceChild("octagon_r5", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -16.1742F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 5.9754F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r6 = bone23.addOrReplaceChild("octagon_r6", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -16.1742F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 5.9754F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r7 = bone23.addOrReplaceChild("octagon_r7", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -16.1742F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 5.9754F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone24 = Rockets2.addOrReplaceChild("bone24", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -0.2217F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -10.1912F));
PartDefinition octagon_r8 = bone24.addOrReplaceChild("octagon_r8", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -21.1812F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 20.9595F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r9 = bone24.addOrReplaceChild("octagon_r9", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -21.1812F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 20.9595F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r10 = bone24.addOrReplaceChild("octagon_r10", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -21.1812F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 20.9595F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r11 = bone24.addOrReplaceChild("octagon_r11", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -21.1812F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 20.9595F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r12 = bone24.addOrReplaceChild("octagon_r12", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -21.1812F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 20.9595F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r13 = bone24.addOrReplaceChild("octagon_r13", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -21.1812F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 20.9595F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r14 = bone24.addOrReplaceChild("octagon_r14", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -21.1812F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 20.9595F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone34 = Rockets2.addOrReplaceChild("bone34", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, 0.3534F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -10.312F));
PartDefinition octagon_r15 = bone34.addOrReplaceChild("octagon_r15", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, -23.6787F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 24.0321F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r16 = bone34.addOrReplaceChild("octagon_r16", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, -23.6787F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 24.0321F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r17 = bone34.addOrReplaceChild("octagon_r17", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, -23.6787F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 24.0321F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r18 = bone34.addOrReplaceChild("octagon_r18", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, -23.6787F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 24.0321F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r19 = bone34.addOrReplaceChild("octagon_r19", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, -23.6787F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 24.0321F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r20 = bone34.addOrReplaceChild("octagon_r20", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, -23.6787F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 24.0321F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r21 = bone34.addOrReplaceChild("octagon_r21", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, -23.6787F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 24.0321F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone26 = Rockets2.addOrReplaceChild("bone26", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -1.5592F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -9.2513F));
PartDefinition octagon_r22 = bone26.addOrReplaceChild("octagon_r22", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -19.1652F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.606F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r23 = bone26.addOrReplaceChild("octagon_r23", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -19.1652F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.606F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r24 = bone26.addOrReplaceChild("octagon_r24", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -19.1652F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.606F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r25 = bone26.addOrReplaceChild("octagon_r25", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -19.1652F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.606F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r26 = bone26.addOrReplaceChild("octagon_r26", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -19.1652F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.606F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r27 = bone26.addOrReplaceChild("octagon_r27", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -19.1652F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.606F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r28 = bone26.addOrReplaceChild("octagon_r28", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -19.1652F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.606F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone19 = Rockets2.addOrReplaceChild("bone19", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, 0.9259F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -6.0195F));
PartDefinition octagon_r29 = bone19.addOrReplaceChild("octagon_r29", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, -13.8248F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 14.7507F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r30 = bone19.addOrReplaceChild("octagon_r30", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, -13.8248F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 14.7507F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r31 = bone19.addOrReplaceChild("octagon_r31", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, -13.8248F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 14.7507F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r32 = bone19.addOrReplaceChild("octagon_r32", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, -13.8248F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 14.7507F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r33 = bone19.addOrReplaceChild("octagon_r33", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, -13.8248F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 14.7507F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r34 = bone19.addOrReplaceChild("octagon_r34", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, -13.8248F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 14.7507F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r35 = bone19.addOrReplaceChild("octagon_r35", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, -13.8248F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 14.7507F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone33 = bone19.addOrReplaceChild("bone33", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -2.4449F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, -1.0285F));
PartDefinition octagon_r36 = bone33.addOrReplaceChild("octagon_r36", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -19.8031F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.3581F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r37 = bone33.addOrReplaceChild("octagon_r37", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -19.8031F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.3581F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r38 = bone33.addOrReplaceChild("octagon_r38", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -19.8031F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.3581F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r39 = bone33.addOrReplaceChild("octagon_r39", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -19.8031F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.3581F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r40 = bone33.addOrReplaceChild("octagon_r40", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -19.8031F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.3581F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r41 = bone33.addOrReplaceChild("octagon_r41", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -19.8031F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.3581F, 0.0F, 0.0F, -1.5708F));
PartDefinition octagon_r42 = bone33.addOrReplaceChild("octagon_r42", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -19.8031F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.3581F, 0.0F, 0.0F, 0.7854F));
PartDefinition bone20 = Rockets2.addOrReplaceChild("bone20", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.2F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, 2.8992F));
PartDefinition octagon_r43 = bone20.addOrReplaceChild("octagon_r43", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.313F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.113F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r44 = bone20.addOrReplaceChild("octagon_r44", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.313F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.113F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r45 = bone20.addOrReplaceChild("octagon_r45", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.313F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.113F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r46 = bone20.addOrReplaceChild("octagon_r46", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.313F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.113F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r47 = bone20.addOrReplaceChild("octagon_r47", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.313F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.113F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r48 = bone20.addOrReplaceChild("octagon_r48", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.313F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.113F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r49 = bone20.addOrReplaceChild("octagon_r49", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.313F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.113F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone22 = Rockets2.addOrReplaceChild("bone22", CubeListBuilder.create(), PartPose.offset(0.0268F, 0.0407F, 3.383F));
PartDefinition octagon_r50 = bone22.addOrReplaceChild("octagon_r50", CubeListBuilder.create().texOffs(0, 0).addBox(0.3224F, -0.7931F, -0.5685F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, -0.7854F, 0.0F, -0.7854F));
PartDefinition octagon_r51 = bone22.addOrReplaceChild("octagon_r51", CubeListBuilder.create().texOffs(0, 0).addBox(0.3224F, -0.7982F, -0.4228F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, 0.4494F, 0.0F, -0.7854F));
PartDefinition octagon_r52 = bone22.addOrReplaceChild("octagon_r52", CubeListBuilder.create().texOffs(0, 0).addBox(0.0278F, -0.5846F, -0.5258F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, 0.4494F, 0.0F, -1.5708F));
PartDefinition octagon_r53 = bone22.addOrReplaceChild("octagon_r53", CubeListBuilder.create().texOffs(0, 0).addBox(0.0278F, -0.6255F, -0.4008F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, -0.7854F, 0.0F, -1.5708F));
PartDefinition octagon_r54 = bone22.addOrReplaceChild("octagon_r54", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3482F, -0.6542F, -0.4296F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, -0.7854F, 0.0F, -2.3562F));
PartDefinition octagon_r55 = bone22.addOrReplaceChild("octagon_r55", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3482F, -0.6213F, -0.5081F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, 0.4494F, 0.0F, -2.3562F));
PartDefinition octagon_r56 = bone22.addOrReplaceChild("octagon_r56", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5852F, -0.8866F, -0.3801F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, 0.4494F, 0.0F, -3.1416F));
PartDefinition octagon_r57 = bone22.addOrReplaceChild("octagon_r57", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5852F, -0.8626F, -0.6379F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, -0.7854F, 0.0F, 3.1416F));
PartDefinition octagon_r58 = bone22.addOrReplaceChild("octagon_r58", CubeListBuilder.create().texOffs(0, 0).addBox(0.1884F, -0.4137F, -0.1891F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.7589F, 0.3353F, -0.9306F, -0.7854F, 0.0F, 2.3562F));
PartDefinition octagon_r59 = bone22.addOrReplaceChild("octagon_r59", CubeListBuilder.create().texOffs(0, 0).addBox(0.1884F, -0.3149F, -0.6559F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.7589F, 0.3353F, -0.9306F, 0.4494F, 0.0F, 2.3562F));
PartDefinition octagon_r60 = bone22.addOrReplaceChild("octagon_r60", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4464F, -0.3282F, -0.6495F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.7589F, 0.3353F, -0.9306F, 0.4494F, 0.0F, 1.5708F));
PartDefinition octagon_r61 = bone22.addOrReplaceChild("octagon_r61", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4464F, -0.4242F, -0.1995F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.7589F, 0.3353F, -0.9306F, -0.7854F, 0.0F, 1.5708F));
PartDefinition octagon_r62 = bone22.addOrReplaceChild("octagon_r62", CubeListBuilder.create().texOffs(0, 0).addBox(0.1884F, -0.4137F, -0.1891F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.3353F, -0.7589F, -0.9306F, -0.7854F, 0.0F, 0.7854F));
PartDefinition octagon_r63 = bone22.addOrReplaceChild("octagon_r63", CubeListBuilder.create().texOffs(0, 0).addBox(0.1884F, -0.3149F, -0.6559F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.3353F, -0.7589F, -0.9306F, 0.4494F, 0.0F, 0.7854F));
PartDefinition octagon_r64 = bone22.addOrReplaceChild("octagon_r64", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4464F, -0.3282F, -0.6495F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.3353F, -0.7589F, -0.9306F, 0.4494F, 0.0F, 0.0F));
PartDefinition octagon_r65 = bone22.addOrReplaceChild("octagon_r65", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4464F, -0.4242F, -0.1995F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.3353F, -0.7589F, -0.9306F, -0.7854F, 0.0F, 0.0F));
PartDefinition bone21 = Rockets2.addOrReplaceChild("bone21", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, 2.6961F));
PartDefinition octagon_r66 = bone21.addOrReplaceChild("octagon_r66", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r67 = bone21.addOrReplaceChild("octagon_r67", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r68 = bone21.addOrReplaceChild("octagon_r68", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r69 = bone21.addOrReplaceChild("octagon_r69", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r70 = bone21.addOrReplaceChild("octagon_r70", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r71 = bone21.addOrReplaceChild("octagon_r71", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r72 = bone21.addOrReplaceChild("octagon_r72", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone18 = Rockets2.addOrReplaceChild("bone18", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2378F, -0.6508F, -9.1073F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)), PartPose.offset(-0.0021F, 0.0474F, 7.8333F));
PartDefinition octagon_r73 = bone18.addOrReplaceChild("octagon_r73", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2668F, -0.6441F, -2.0088F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.029F, -0.0067F, -7.0986F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r74 = bone18.addOrReplaceChild("octagon_r74", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2668F, -0.6441F, -2.0088F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.029F, -0.0067F, -7.0986F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r75 = bone18.addOrReplaceChild("octagon_r75", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2668F, -0.6441F, -2.0088F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.029F, -0.0067F, -7.0986F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r76 = bone18.addOrReplaceChild("octagon_r76", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2668F, -0.6441F, -2.0088F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.029F, -0.0067F, -7.0986F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r77 = bone18.addOrReplaceChild("octagon_r77", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2668F, -0.6441F, -2.0088F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.029F, -0.0067F, -7.0986F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r78 = bone18.addOrReplaceChild("octagon_r78", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2668F, -0.6441F, -2.0088F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.029F, -0.0067F, -7.0986F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r79 = bone18.addOrReplaceChild("octagon_r79", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2668F, -0.6441F, -2.0088F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.029F, -0.0067F, -7.0986F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone25 = Rockets2.addOrReplaceChild("bone25", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 0.2985F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -12.411F));
PartDefinition octagon_r80 = bone25.addOrReplaceChild("octagon_r80", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 13.5543F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -13.2557F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r81 = bone25.addOrReplaceChild("octagon_r81", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 13.5543F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -13.2557F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r82 = bone25.addOrReplaceChild("octagon_r82", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 13.5543F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -13.2557F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r83 = bone25.addOrReplaceChild("octagon_r83", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 13.5543F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -13.2557F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r84 = bone25.addOrReplaceChild("octagon_r84", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 13.5543F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -13.2557F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r85 = bone25.addOrReplaceChild("octagon_r85", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 13.5543F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -13.2557F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r86 = bone25.addOrReplaceChild("octagon_r86", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 13.5543F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -13.2557F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone30 = Rockets2.addOrReplaceChild("bone30", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, -3.9858F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -18.5853F));
PartDefinition octagon_r87 = bone30.addOrReplaceChild("octagon_r87", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, 7.8443F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.8302F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r88 = bone30.addOrReplaceChild("octagon_r88", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, 7.8443F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.8302F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r89 = bone30.addOrReplaceChild("octagon_r89", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, 7.8443F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.8302F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r90 = bone30.addOrReplaceChild("octagon_r90", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, 7.8443F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.8302F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r91 = bone30.addOrReplaceChild("octagon_r91", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, 7.8443F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.8302F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r92 = bone30.addOrReplaceChild("octagon_r92", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, 7.8443F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.8302F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r93 = bone30.addOrReplaceChild("octagon_r93", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, 7.8443F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.8302F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone31 = Rockets2.addOrReplaceChild("bone31", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 1.3934F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -25.0853F));
PartDefinition octagon_r94 = bone31.addOrReplaceChild("octagon_r94", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 12.0737F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.6803F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r95 = bone31.addOrReplaceChild("octagon_r95", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 12.0737F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.6803F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r96 = bone31.addOrReplaceChild("octagon_r96", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 12.0737F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.6803F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r97 = bone31.addOrReplaceChild("octagon_r97", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 12.0737F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.6803F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r98 = bone31.addOrReplaceChild("octagon_r98", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 12.0737F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.6803F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r99 = bone31.addOrReplaceChild("octagon_r99", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 12.0737F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.6803F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r100 = bone31.addOrReplaceChild("octagon_r100", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 12.0737F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.6803F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone32 = Rockets2.addOrReplaceChild("bone32", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, -0.4736F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -24.5343F));
PartDefinition octagon_r101 = bone32.addOrReplaceChild("octagon_r101", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 11.5097F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.9832F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r102 = bone32.addOrReplaceChild("octagon_r102", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 11.5097F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.9832F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r103 = bone32.addOrReplaceChild("octagon_r103", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 11.5097F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.9832F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r104 = bone32.addOrReplaceChild("octagon_r104", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 11.5097F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.9832F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r105 = bone32.addOrReplaceChild("octagon_r105", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 11.5097F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.9832F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r106 = bone32.addOrReplaceChild("octagon_r106", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 11.5097F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.9832F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r107 = bone32.addOrReplaceChild("octagon_r107", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 11.5097F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.9832F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone29 = Rockets2.addOrReplaceChild("bone29", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, -0.5789F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -12.2801F));
PartDefinition octagon_r108 = bone29.addOrReplaceChild("octagon_r108", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, 9.59F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.169F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r109 = bone29.addOrReplaceChild("octagon_r109", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, 9.59F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.169F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r110 = bone29.addOrReplaceChild("octagon_r110", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, 9.59F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.169F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r111 = bone29.addOrReplaceChild("octagon_r111", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, 9.59F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.169F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r112 = bone29.addOrReplaceChild("octagon_r112", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, 9.59F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.169F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r113 = bone29.addOrReplaceChild("octagon_r113", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, 9.59F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.169F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r114 = bone29.addOrReplaceChild("octagon_r114", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, 9.59F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.169F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone28 = Rockets2.addOrReplaceChild("bone28", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, -3.0583F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -19.1553F));
PartDefinition octagon_r115 = bone28.addOrReplaceChild("octagon_r115", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, 11.3379F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -14.3962F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r116 = bone28.addOrReplaceChild("octagon_r116", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, 11.3379F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -14.3962F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r117 = bone28.addOrReplaceChild("octagon_r117", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, 11.3379F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -14.3962F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r118 = bone28.addOrReplaceChild("octagon_r118", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, 11.3379F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -14.3962F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r119 = bone28.addOrReplaceChild("octagon_r119", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, 11.3379F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -14.3962F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r120 = bone28.addOrReplaceChild("octagon_r120", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, 11.3379F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -14.3962F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r121 = bone28.addOrReplaceChild("octagon_r121", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, 11.3379F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -14.3962F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone27 = Rockets2.addOrReplaceChild("bone27",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2342F, -0.5653F, -4.8664F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2014F, -0.4862F, -11.3624F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)),
PartPose.offset(0.0268F, 0.0407F, -13.0786F));
PartDefinition octagon_r122 = bone27.addOrReplaceChild("octagon_r122",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2014F, -0.4862F, -1.9F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2342F, -0.5653F, 4.596F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -9.4624F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r123 = bone27.addOrReplaceChild("octagon_r123",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2014F, -0.4862F, -1.9F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2342F, -0.5653F, 4.596F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -9.4624F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r124 = bone27.addOrReplaceChild("octagon_r124",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2014F, -0.4862F, -1.9F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2342F, -0.5653F, 4.596F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -9.4624F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r125 = bone27.addOrReplaceChild("octagon_r125",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2014F, -0.4862F, -1.9F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2342F, -0.5653F, 4.596F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -9.4624F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r126 = bone27.addOrReplaceChild("octagon_r126",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2014F, -0.4862F, -1.9F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2342F, -0.5653F, 4.596F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -9.4624F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r127 = bone27.addOrReplaceChild("octagon_r127",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2014F, -0.4862F, -1.9F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2342F, -0.5653F, 4.596F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -9.4624F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r128 = bone27.addOrReplaceChild("octagon_r128",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2014F, -0.4862F, -1.9F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2342F, -0.5653F, 4.596F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -9.4624F, 0.0F, 0.0F, -1.5708F));
return LayerDefinition.create(meshdefinition, 16, 16);
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition Rockets = partdefinition.addOrReplaceChild("Rockets", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -24.7579F, 0.4535F, -1.5708F, 0.0F, 0.0F));
PartDefinition Rockets2 = Rockets.addOrReplaceChild("Rockets2", CubeListBuilder.create(), PartPose.offset(0.0F, 0.4579F, -0.0535F));
PartDefinition bone23 = Rockets2.addOrReplaceChild("bone23", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -10.1988F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -1.0385F));
PartDefinition octagon_r1 = bone23.addOrReplaceChild("octagon_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -16.1742F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 5.9754F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r2 = bone23.addOrReplaceChild("octagon_r2", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -16.1742F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 5.9754F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r3 = bone23.addOrReplaceChild("octagon_r3", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -16.1742F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 5.9754F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r4 = bone23.addOrReplaceChild("octagon_r4", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -16.1742F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 5.9754F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r5 = bone23.addOrReplaceChild("octagon_r5", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -16.1742F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 5.9754F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r6 = bone23.addOrReplaceChild("octagon_r6", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -16.1742F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 5.9754F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r7 = bone23.addOrReplaceChild("octagon_r7", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -16.1742F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 5.9754F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone24 = Rockets2.addOrReplaceChild("bone24", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -0.2217F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -10.1912F));
PartDefinition octagon_r8 = bone24.addOrReplaceChild("octagon_r8", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -21.1812F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 20.9595F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r9 = bone24.addOrReplaceChild("octagon_r9", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -21.1812F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 20.9595F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r10 = bone24.addOrReplaceChild("octagon_r10", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -21.1812F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 20.9595F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r11 = bone24.addOrReplaceChild("octagon_r11", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -21.1812F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 20.9595F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r12 = bone24.addOrReplaceChild("octagon_r12", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -21.1812F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 20.9595F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r13 = bone24.addOrReplaceChild("octagon_r13", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -21.1812F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 20.9595F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r14 = bone24.addOrReplaceChild("octagon_r14", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -21.1812F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 20.9595F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone34 = Rockets2.addOrReplaceChild("bone34", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, 0.3534F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -10.312F));
PartDefinition octagon_r15 = bone34.addOrReplaceChild("octagon_r15", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, -23.6787F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 24.0321F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r16 = bone34.addOrReplaceChild("octagon_r16", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, -23.6787F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 24.0321F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r17 = bone34.addOrReplaceChild("octagon_r17", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, -23.6787F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 24.0321F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r18 = bone34.addOrReplaceChild("octagon_r18", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, -23.6787F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 24.0321F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r19 = bone34.addOrReplaceChild("octagon_r19", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, -23.6787F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 24.0321F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r20 = bone34.addOrReplaceChild("octagon_r20", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, -23.6787F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 24.0321F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r21 = bone34.addOrReplaceChild("octagon_r21", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, -23.6787F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 24.0321F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone26 = Rockets2.addOrReplaceChild("bone26", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -1.5592F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -9.2513F));
PartDefinition octagon_r22 = bone26.addOrReplaceChild("octagon_r22", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -19.1652F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.606F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r23 = bone26.addOrReplaceChild("octagon_r23", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -19.1652F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.606F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r24 = bone26.addOrReplaceChild("octagon_r24", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -19.1652F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.606F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r25 = bone26.addOrReplaceChild("octagon_r25", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -19.1652F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.606F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r26 = bone26.addOrReplaceChild("octagon_r26", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -19.1652F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.606F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r27 = bone26.addOrReplaceChild("octagon_r27", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -19.1652F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.606F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r28 = bone26.addOrReplaceChild("octagon_r28", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -19.1652F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.606F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone19 = Rockets2.addOrReplaceChild("bone19", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, 0.9259F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -6.0195F));
PartDefinition octagon_r29 = bone19.addOrReplaceChild("octagon_r29", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, -13.8248F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 14.7507F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r30 = bone19.addOrReplaceChild("octagon_r30", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, -13.8248F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 14.7507F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r31 = bone19.addOrReplaceChild("octagon_r31", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, -13.8248F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 14.7507F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r32 = bone19.addOrReplaceChild("octagon_r32", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, -13.8248F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 14.7507F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r33 = bone19.addOrReplaceChild("octagon_r33", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, -13.8248F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 14.7507F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r34 = bone19.addOrReplaceChild("octagon_r34", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, -13.8248F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 14.7507F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r35 = bone19.addOrReplaceChild("octagon_r35", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, -13.8248F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 14.7507F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone33 = bone19.addOrReplaceChild("bone33", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -2.4449F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, -1.0285F));
PartDefinition octagon_r36 = bone33.addOrReplaceChild("octagon_r36", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -19.8031F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.3581F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r37 = bone33.addOrReplaceChild("octagon_r37", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -19.8031F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.3581F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r38 = bone33.addOrReplaceChild("octagon_r38", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -19.8031F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.3581F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r39 = bone33.addOrReplaceChild("octagon_r39", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -19.8031F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.3581F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r40 = bone33.addOrReplaceChild("octagon_r40", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -19.8031F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.3581F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r41 = bone33.addOrReplaceChild("octagon_r41", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -19.8031F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.3581F, 0.0F, 0.0F, -1.5708F));
PartDefinition octagon_r42 = bone33.addOrReplaceChild("octagon_r42", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -19.8031F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.3581F, 0.0F, 0.0F, 0.7854F));
PartDefinition bone20 = Rockets2.addOrReplaceChild("bone20", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.2F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, 2.8992F));
PartDefinition octagon_r43 = bone20.addOrReplaceChild("octagon_r43", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.313F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.113F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r44 = bone20.addOrReplaceChild("octagon_r44", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.313F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.113F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r45 = bone20.addOrReplaceChild("octagon_r45", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.313F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.113F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r46 = bone20.addOrReplaceChild("octagon_r46", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.313F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.113F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r47 = bone20.addOrReplaceChild("octagon_r47", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.313F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.113F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r48 = bone20.addOrReplaceChild("octagon_r48", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.313F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.113F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r49 = bone20.addOrReplaceChild("octagon_r49", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.313F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.113F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone22 = Rockets2.addOrReplaceChild("bone22", CubeListBuilder.create(), PartPose.offset(0.0268F, 0.0407F, 3.383F));
PartDefinition octagon_r50 = bone22.addOrReplaceChild("octagon_r50", CubeListBuilder.create().texOffs(0, 0).addBox(0.3224F, -0.7931F, -0.5685F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, -0.7854F, 0.0F, -0.7854F));
PartDefinition octagon_r51 = bone22.addOrReplaceChild("octagon_r51", CubeListBuilder.create().texOffs(0, 0).addBox(0.3224F, -0.7982F, -0.4228F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, 0.4494F, 0.0F, -0.7854F));
PartDefinition octagon_r52 = bone22.addOrReplaceChild("octagon_r52", CubeListBuilder.create().texOffs(0, 0).addBox(0.0278F, -0.5846F, -0.5258F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, 0.4494F, 0.0F, -1.5708F));
PartDefinition octagon_r53 = bone22.addOrReplaceChild("octagon_r53", CubeListBuilder.create().texOffs(0, 0).addBox(0.0278F, -0.6255F, -0.4008F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, -0.7854F, 0.0F, -1.5708F));
PartDefinition octagon_r54 = bone22.addOrReplaceChild("octagon_r54", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3482F, -0.6542F, -0.4296F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, -0.7854F, 0.0F, -2.3562F));
PartDefinition octagon_r55 = bone22.addOrReplaceChild("octagon_r55", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3482F, -0.6213F, -0.5081F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, 0.4494F, 0.0F, -2.3562F));
PartDefinition octagon_r56 = bone22.addOrReplaceChild("octagon_r56", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5852F, -0.8866F, -0.3801F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, 0.4494F, 0.0F, -3.1416F));
PartDefinition octagon_r57 = bone22.addOrReplaceChild("octagon_r57", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5852F, -0.8626F, -0.6379F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, -0.7854F, 0.0F, 3.1416F));
PartDefinition octagon_r58 = bone22.addOrReplaceChild("octagon_r58", CubeListBuilder.create().texOffs(0, 0).addBox(0.1884F, -0.4137F, -0.1891F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.7589F, 0.3353F, -0.9306F, -0.7854F, 0.0F, 2.3562F));
PartDefinition octagon_r59 = bone22.addOrReplaceChild("octagon_r59", CubeListBuilder.create().texOffs(0, 0).addBox(0.1884F, -0.3149F, -0.6559F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.7589F, 0.3353F, -0.9306F, 0.4494F, 0.0F, 2.3562F));
PartDefinition octagon_r60 = bone22.addOrReplaceChild("octagon_r60", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4464F, -0.3282F, -0.6495F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.7589F, 0.3353F, -0.9306F, 0.4494F, 0.0F, 1.5708F));
PartDefinition octagon_r61 = bone22.addOrReplaceChild("octagon_r61", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4464F, -0.4242F, -0.1995F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.7589F, 0.3353F, -0.9306F, -0.7854F, 0.0F, 1.5708F));
PartDefinition octagon_r62 = bone22.addOrReplaceChild("octagon_r62", CubeListBuilder.create().texOffs(0, 0).addBox(0.1884F, -0.4137F, -0.1891F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.3353F, -0.7589F, -0.9306F, -0.7854F, 0.0F, 0.7854F));
PartDefinition octagon_r63 = bone22.addOrReplaceChild("octagon_r63", CubeListBuilder.create().texOffs(0, 0).addBox(0.1884F, -0.3149F, -0.6559F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.3353F, -0.7589F, -0.9306F, 0.4494F, 0.0F, 0.7854F));
PartDefinition octagon_r64 = bone22.addOrReplaceChild("octagon_r64", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4464F, -0.3282F, -0.6495F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.3353F, -0.7589F, -0.9306F, 0.4494F, 0.0F, 0.0F));
PartDefinition octagon_r65 = bone22.addOrReplaceChild("octagon_r65", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4464F, -0.4242F, -0.1995F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.3353F, -0.7589F, -0.9306F, -0.7854F, 0.0F, 0.0F));
PartDefinition bone21 = Rockets2.addOrReplaceChild("bone21", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, 2.6961F));
PartDefinition octagon_r66 = bone21.addOrReplaceChild("octagon_r66", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r67 = bone21.addOrReplaceChild("octagon_r67", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r68 = bone21.addOrReplaceChild("octagon_r68", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r69 = bone21.addOrReplaceChild("octagon_r69", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r70 = bone21.addOrReplaceChild("octagon_r70", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r71 = bone21.addOrReplaceChild("octagon_r71", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r72 = bone21.addOrReplaceChild("octagon_r72", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone18 = Rockets2.addOrReplaceChild("bone18", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2378F, -0.6508F, -9.1073F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)), PartPose.offset(-0.0021F, 0.0474F, 7.8333F));
PartDefinition octagon_r73 = bone18.addOrReplaceChild("octagon_r73", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2668F, -0.6441F, -2.0088F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.029F, -0.0067F, -7.0986F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r74 = bone18.addOrReplaceChild("octagon_r74", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2668F, -0.6441F, -2.0088F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.029F, -0.0067F, -7.0986F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r75 = bone18.addOrReplaceChild("octagon_r75", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2668F, -0.6441F, -2.0088F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.029F, -0.0067F, -7.0986F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r76 = bone18.addOrReplaceChild("octagon_r76", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2668F, -0.6441F, -2.0088F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.029F, -0.0067F, -7.0986F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r77 = bone18.addOrReplaceChild("octagon_r77", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2668F, -0.6441F, -2.0088F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.029F, -0.0067F, -7.0986F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r78 = bone18.addOrReplaceChild("octagon_r78", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2668F, -0.6441F, -2.0088F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.029F, -0.0067F, -7.0986F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r79 = bone18.addOrReplaceChild("octagon_r79", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2668F, -0.6441F, -2.0088F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.029F, -0.0067F, -7.0986F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone25 = Rockets2.addOrReplaceChild("bone25", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 0.2985F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -12.411F));
PartDefinition octagon_r80 = bone25.addOrReplaceChild("octagon_r80", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 13.5543F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -13.2557F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r81 = bone25.addOrReplaceChild("octagon_r81", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 13.5543F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -13.2557F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r82 = bone25.addOrReplaceChild("octagon_r82", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 13.5543F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -13.2557F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r83 = bone25.addOrReplaceChild("octagon_r83", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 13.5543F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -13.2557F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r84 = bone25.addOrReplaceChild("octagon_r84", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 13.5543F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -13.2557F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r85 = bone25.addOrReplaceChild("octagon_r85", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 13.5543F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -13.2557F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r86 = bone25.addOrReplaceChild("octagon_r86", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 13.5543F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -13.2557F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone30 = Rockets2.addOrReplaceChild("bone30", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, -3.9858F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -18.5853F));
PartDefinition octagon_r87 = bone30.addOrReplaceChild("octagon_r87", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, 7.8443F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.8302F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r88 = bone30.addOrReplaceChild("octagon_r88", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, 7.8443F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.8302F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r89 = bone30.addOrReplaceChild("octagon_r89", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, 7.8443F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.8302F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r90 = bone30.addOrReplaceChild("octagon_r90", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, 7.8443F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.8302F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r91 = bone30.addOrReplaceChild("octagon_r91", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, 7.8443F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.8302F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r92 = bone30.addOrReplaceChild("octagon_r92", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, 7.8443F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.8302F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r93 = bone30.addOrReplaceChild("octagon_r93", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, 7.8443F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.8302F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone31 = Rockets2.addOrReplaceChild("bone31", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 1.3934F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -25.0853F));
PartDefinition octagon_r94 = bone31.addOrReplaceChild("octagon_r94", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 12.0737F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.6803F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r95 = bone31.addOrReplaceChild("octagon_r95", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 12.0737F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.6803F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r96 = bone31.addOrReplaceChild("octagon_r96", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 12.0737F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.6803F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r97 = bone31.addOrReplaceChild("octagon_r97", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 12.0737F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.6803F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r98 = bone31.addOrReplaceChild("octagon_r98", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 12.0737F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.6803F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r99 = bone31.addOrReplaceChild("octagon_r99", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 12.0737F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.6803F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r100 = bone31.addOrReplaceChild("octagon_r100", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 12.0737F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.6803F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone32 = Rockets2.addOrReplaceChild("bone32", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, -0.4736F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -24.5343F));
PartDefinition octagon_r101 = bone32.addOrReplaceChild("octagon_r101", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 11.5097F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.9832F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r102 = bone32.addOrReplaceChild("octagon_r102", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 11.5097F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.9832F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r103 = bone32.addOrReplaceChild("octagon_r103", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 11.5097F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.9832F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r104 = bone32.addOrReplaceChild("octagon_r104", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 11.5097F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.9832F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r105 = bone32.addOrReplaceChild("octagon_r105", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 11.5097F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.9832F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r106 = bone32.addOrReplaceChild("octagon_r106", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 11.5097F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.9832F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r107 = bone32.addOrReplaceChild("octagon_r107", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 11.5097F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.9832F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone29 = Rockets2.addOrReplaceChild("bone29", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, -0.5789F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -12.2801F));
PartDefinition octagon_r108 = bone29.addOrReplaceChild("octagon_r108", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, 9.59F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.169F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r109 = bone29.addOrReplaceChild("octagon_r109", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, 9.59F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.169F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r110 = bone29.addOrReplaceChild("octagon_r110", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, 9.59F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.169F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r111 = bone29.addOrReplaceChild("octagon_r111", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, 9.59F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.169F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r112 = bone29.addOrReplaceChild("octagon_r112", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, 9.59F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.169F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r113 = bone29.addOrReplaceChild("octagon_r113", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, 9.59F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.169F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r114 = bone29.addOrReplaceChild("octagon_r114", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, 9.59F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.169F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone28 = Rockets2.addOrReplaceChild("bone28", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, -3.0583F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -19.1553F));
PartDefinition octagon_r115 = bone28.addOrReplaceChild("octagon_r115", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, 11.3379F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -14.3962F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r116 = bone28.addOrReplaceChild("octagon_r116", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, 11.3379F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -14.3962F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r117 = bone28.addOrReplaceChild("octagon_r117", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, 11.3379F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -14.3962F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r118 = bone28.addOrReplaceChild("octagon_r118", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, 11.3379F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -14.3962F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r119 = bone28.addOrReplaceChild("octagon_r119", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, 11.3379F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -14.3962F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r120 = bone28.addOrReplaceChild("octagon_r120", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, 11.3379F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -14.3962F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r121 = bone28.addOrReplaceChild("octagon_r121", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, 11.3379F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -14.3962F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone27 = Rockets2.addOrReplaceChild("bone27",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2342F, -0.5653F, -4.8664F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2014F, -0.4862F, -11.3624F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)),
PartPose.offset(0.0268F, 0.0407F, -13.0786F));
PartDefinition octagon_r122 = bone27.addOrReplaceChild("octagon_r122",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2014F, -0.4862F, -1.9F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2342F, -0.5653F, 4.596F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -9.4624F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r123 = bone27.addOrReplaceChild("octagon_r123",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2014F, -0.4862F, -1.9F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2342F, -0.5653F, 4.596F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -9.4624F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r124 = bone27.addOrReplaceChild("octagon_r124",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2014F, -0.4862F, -1.9F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2342F, -0.5653F, 4.596F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -9.4624F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r125 = bone27.addOrReplaceChild("octagon_r125",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2014F, -0.4862F, -1.9F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2342F, -0.5653F, 4.596F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -9.4624F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r126 = bone27.addOrReplaceChild("octagon_r126",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2014F, -0.4862F, -1.9F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2342F, -0.5653F, 4.596F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -9.4624F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r127 = bone27.addOrReplaceChild("octagon_r127",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2014F, -0.4862F, -1.9F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2342F, -0.5653F, 4.596F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -9.4624F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r128 = bone27.addOrReplaceChild("octagon_r128",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2014F, -0.4862F, -1.9F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2342F, -0.5653F, 4.596F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -9.4624F, 0.0F, 0.0F, -1.5708F));
return LayerDefinition.create(meshdefinition, 16, 16);
}
@Override
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
@Override
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
Rockets.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
Rockets.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
}

View file

@ -1,50 +1,45 @@
package net.mcreator.target.client.model;
import net.minecraft.world.entity.Entity;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.model.geom.builders.PartDefinition;
import net.minecraft.client.model.geom.builders.MeshDefinition;
import net.minecraft.client.model.geom.builders.LayerDefinition;
import net.minecraft.client.model.geom.builders.CubeListBuilder;
import net.minecraft.client.model.geom.builders.CubeDeformation;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.EntityModel;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.model.EntityModel;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.builders.*;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.Entity;
// Made with Blockbench 4.9.3
// Exported for Minecraft version 1.17 or later with Mojang mappings
// Paste this class into your mod and generate all required imports
public class Modeltaser_rod<T extends Entity> extends EntityModel<T> {
// This layer location should be baked with EntityRendererProvider.Context in
// the entity renderer and passed into this model's constructor
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("target", "modeltaser_rod"), "main");
public final ModelPart bone;
// This layer location should be baked with EntityRendererProvider.Context in
// the entity renderer and passed into this model's constructor
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation("target", "modeltaser_rod"), "main");
public final ModelPart bone;
public Modeltaser_rod(ModelPart root) {
this.bone = root.getChild("bone");
}
public Modeltaser_rod(ModelPart root) {
this.bone = root.getChild("bone");
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition bone = partdefinition.addOrReplaceChild("bone", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F));
PartDefinition cube_r1 = bone.addOrReplaceChild("cube_r1",
CubeListBuilder.create().texOffs(0, 4).addBox(-0.5F, -27.0F, -2.5F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-1.0F, -23.0F, -7.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)).texOffs(0, 0)
.addBox(-1.0F, -23.0F, -3.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)).texOffs(0, 4).addBox(-0.5F, -27.0F, -6.5F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
return LayerDefinition.create(meshdefinition, 16, 16);
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition bone = partdefinition.addOrReplaceChild("bone", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F));
PartDefinition cube_r1 = bone.addOrReplaceChild("cube_r1",
CubeListBuilder.create().texOffs(0, 4).addBox(-0.5F, -27.0F, -2.5F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-1.0F, -23.0F, -7.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)).texOffs(0, 0)
.addBox(-1.0F, -23.0F, -3.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)).texOffs(0, 4).addBox(-0.5F, -27.0F, -6.5F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
return LayerDefinition.create(meshdefinition, 16, 16);
}
@Override
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
@Override
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
bone.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
bone.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
}

View file

@ -1,16 +1,10 @@
package net.mcreator.target.client.particle;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraft.core.particles.SimpleParticleType;
import net.minecraft.client.particle.TextureSheetParticle;
import net.minecraft.client.particle.SpriteSet;
import net.minecraft.client.particle.ParticleRenderType;
import net.minecraft.client.particle.ParticleProvider;
import net.minecraft.client.particle.Particle;
import net.minecraft.client.multiplayer.ClientLevel;
import net.minecraft.client.particle.*;
import net.minecraft.core.particles.SimpleParticleType;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
@OnlyIn(Dist.CLIENT)
public class BulltholeParticle extends TextureSheetParticle {

View file

@ -1,67 +1,61 @@
package net.mcreator.target.client.particle;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraft.core.particles.SimpleParticleType;
import net.minecraft.client.particle.TextureSheetParticle;
import net.minecraft.client.particle.SpriteSet;
import net.minecraft.client.particle.ParticleRenderType;
import net.minecraft.client.particle.ParticleProvider;
import net.minecraft.client.particle.Particle;
import net.minecraft.client.multiplayer.ClientLevel;
import net.minecraft.client.particle.*;
import net.minecraft.core.particles.SimpleParticleType;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
@OnlyIn(Dist.CLIENT)
public class FirestarParticle extends TextureSheetParticle {
public static FirestarParticleProvider provider(SpriteSet spriteSet) {
return new FirestarParticleProvider(spriteSet);
}
public static FirestarParticleProvider provider(SpriteSet spriteSet) {
return new FirestarParticleProvider(spriteSet);
}
public static class FirestarParticleProvider implements ParticleProvider<SimpleParticleType> {
private final SpriteSet spriteSet;
public static class FirestarParticleProvider implements ParticleProvider<SimpleParticleType> {
private final SpriteSet spriteSet;
public FirestarParticleProvider(SpriteSet spriteSet) {
this.spriteSet = spriteSet;
}
public FirestarParticleProvider(SpriteSet spriteSet) {
this.spriteSet = spriteSet;
}
public Particle createParticle(SimpleParticleType typeIn, ClientLevel worldIn, double x, double y, double z, double xSpeed, double ySpeed, double zSpeed) {
FirestarParticle particle = new FirestarParticle(worldIn, x, y, z, xSpeed, ySpeed, zSpeed, this.spriteSet);
return particle;
}
}
public Particle createParticle(SimpleParticleType typeIn, ClientLevel worldIn, double x, double y, double z, double xSpeed, double ySpeed, double zSpeed) {
FirestarParticle particle = new FirestarParticle(worldIn, x, y, z, xSpeed, ySpeed, zSpeed, this.spriteSet);
return particle;
}
}
private final SpriteSet spriteSet;
private final SpriteSet spriteSet;
protected FirestarParticle(ClientLevel world, double x, double y, double z, double vx, double vy, double vz, SpriteSet spriteSet) {
super(world, x, y, z);
this.spriteSet = spriteSet;
this.setSize(0.2f, 0.2f);
this.quadSize *= 0.5f;
this.lifetime = (int) Math.max(1, 40 + (this.random.nextInt(40) - 20));
this.gravity = 1f;
this.hasPhysics = true;
this.xd = vx * 1;
this.yd = vy * 1;
this.zd = vz * 1;
this.setSpriteFromAge(spriteSet);
}
protected FirestarParticle(ClientLevel world, double x, double y, double z, double vx, double vy, double vz, SpriteSet spriteSet) {
super(world, x, y, z);
this.spriteSet = spriteSet;
this.setSize(0.2f, 0.2f);
this.quadSize *= 0.5f;
this.lifetime = Math.max(1, 40 + (this.random.nextInt(40) - 20));
this.gravity = 1f;
this.hasPhysics = true;
this.xd = vx * 1;
this.yd = vy * 1;
this.zd = vz * 1;
this.setSpriteFromAge(spriteSet);
}
@Override
public int getLightColor(float partialTick) {
return 15728880;
}
@Override
public int getLightColor(float partialTick) {
return 15728880;
}
@Override
public ParticleRenderType getRenderType() {
return ParticleRenderType.PARTICLE_SHEET_LIT;
}
@Override
public ParticleRenderType getRenderType() {
return ParticleRenderType.PARTICLE_SHEET_LIT;
}
@Override
public void tick() {
super.tick();
if (!this.removed) {
this.setSprite(this.spriteSet.get((this.age / 2) % 8 + 1, 8));
}
}
@Override
public void tick() {
super.tick();
if (!this.removed) {
this.setSprite(this.spriteSet.get((this.age / 2) % 8 + 1, 8));
}
}
}

View file

@ -1,42 +1,40 @@
package net.mcreator.target.client.renderer;
import net.minecraft.util.Mth;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.MultiBufferSource;
import net.mcreator.target.entity.BocekarrowEntity;
import net.mcreator.target.client.model.Modelbocekarrow;
import com.mojang.math.Axis;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.math.Axis;
import net.mcreator.target.client.model.Modelbocekarrow;
import net.mcreator.target.entity.BocekarrowEntity;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth;
public class BocekarrowRenderer extends EntityRenderer<BocekarrowEntity> {
private static final ResourceLocation texture = new ResourceLocation("target:textures/entities/bocekarrow.png");
private final Modelbocekarrow model;
private static final ResourceLocation texture = new ResourceLocation("target:textures/entities/bocekarrow.png");
private final Modelbocekarrow model;
public BocekarrowRenderer(EntityRendererProvider.Context context) {
super(context);
model = new Modelbocekarrow(context.bakeLayer(Modelbocekarrow.LAYER_LOCATION));
}
public BocekarrowRenderer(EntityRendererProvider.Context context) {
super(context);
model = new Modelbocekarrow(context.bakeLayer(Modelbocekarrow.LAYER_LOCATION));
}
@Override
public void render(BocekarrowEntity entityIn, float entityYaw, float partialTicks, PoseStack poseStack, MultiBufferSource bufferIn, int packedLightIn) {
VertexConsumer vb = bufferIn.getBuffer(RenderType.entityCutout(this.getTextureLocation(entityIn)));
poseStack.pushPose();
poseStack.mulPose(Axis.YP.rotationDegrees(Mth.lerp(partialTicks, entityIn.yRotO, entityIn.getYRot()) - 90));
poseStack.mulPose(Axis.ZP.rotationDegrees(90 + Mth.lerp(partialTicks, entityIn.xRotO, entityIn.getXRot())));
model.renderToBuffer(poseStack, vb, packedLightIn, OverlayTexture.NO_OVERLAY, 1, 1, 1, 0.0625f);
poseStack.popPose();
super.render(entityIn, entityYaw, partialTicks, poseStack, bufferIn, packedLightIn);
}
@Override
public void render(BocekarrowEntity entityIn, float entityYaw, float partialTicks, PoseStack poseStack, MultiBufferSource bufferIn, int packedLightIn) {
VertexConsumer vb = bufferIn.getBuffer(RenderType.entityCutout(this.getTextureLocation(entityIn)));
poseStack.pushPose();
poseStack.mulPose(Axis.YP.rotationDegrees(Mth.lerp(partialTicks, entityIn.yRotO, entityIn.getYRot()) - 90));
poseStack.mulPose(Axis.ZP.rotationDegrees(90 + Mth.lerp(partialTicks, entityIn.xRotO, entityIn.getXRot())));
model.renderToBuffer(poseStack, vb, packedLightIn, OverlayTexture.NO_OVERLAY, 1, 1, 1, 0.0625f);
poseStack.popPose();
super.render(entityIn, entityYaw, partialTicks, poseStack, bufferIn, packedLightIn);
}
@Override
public ResourceLocation getTextureLocation(BocekarrowEntity entity) {
return texture;
}
@Override
public ResourceLocation getTextureLocation(BocekarrowEntity entity) {
return texture;
}
}

View file

@ -1,42 +1,38 @@
package net.mcreator.target.client.renderer;
import software.bernie.geckolib.renderer.GeoEntityRenderer;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.MultiBufferSource;
import net.mcreator.target.entity.model.ClaymoreModel;
import net.mcreator.target.entity.ClaymoreEntity;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.target.entity.ClaymoreEntity;
import net.mcreator.target.entity.model.ClaymoreModel;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.resources.ResourceLocation;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.renderer.GeoEntityRenderer;
public class ClaymoreRenderer extends GeoEntityRenderer<ClaymoreEntity> {
public ClaymoreRenderer(EntityRendererProvider.Context renderManager) {
super(renderManager, new ClaymoreModel());
this.shadowRadius = 0f;
}
public ClaymoreRenderer(EntityRendererProvider.Context renderManager) {
super(renderManager, new ClaymoreModel());
this.shadowRadius = 0f;
}
@Override
public RenderType getRenderType(ClaymoreEntity animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable));
}
@Override
public RenderType getRenderType(ClaymoreEntity animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable));
}
@Override
public void preRender(PoseStack poseStack, ClaymoreEntity entity, BakedGeoModel model, MultiBufferSource bufferSource, VertexConsumer buffer, boolean isReRender, float partialTick, int packedLight, int packedOverlay, float red, float green,
float blue, float alpha) {
float scale = 0.5f;
this.scaleHeight = scale;
this.scaleWidth = scale;
super.preRender(poseStack, entity, model, bufferSource, buffer, isReRender, partialTick, packedLight, packedOverlay, red, green, blue, alpha);
}
@Override
public void preRender(PoseStack poseStack, ClaymoreEntity entity, BakedGeoModel model, MultiBufferSource bufferSource, VertexConsumer buffer, boolean isReRender, float partialTick, int packedLight, int packedOverlay, float red, float green,
float blue, float alpha) {
float scale = 0.5f;
this.scaleHeight = scale;
this.scaleWidth = scale;
super.preRender(poseStack, entity, model, bufferSource, buffer, isReRender, partialTick, packedLight, packedOverlay, red, green, blue, alpha);
}
@Override
protected float getDeathMaxRotation(ClaymoreEntity entityLivingBaseIn) {
return 0.0F;
}
@Override
protected float getDeathMaxRotation(ClaymoreEntity entityLivingBaseIn) {
return 0.0F;
}
}

View file

@ -1,42 +1,40 @@
package net.mcreator.target.client.renderer;
import net.minecraft.util.Mth;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.MultiBufferSource;
import net.mcreator.target.entity.GunGrenadeEntity;
import net.mcreator.target.client.model.ModelGrenade;
import com.mojang.math.Axis;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.math.Axis;
import net.mcreator.target.client.model.ModelGrenade;
import net.mcreator.target.entity.GunGrenadeEntity;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth;
public class GunGrenadeRenderer extends EntityRenderer<GunGrenadeEntity> {
private static final ResourceLocation texture = new ResourceLocation("target:textures/entities/grenade.png");
private final ModelGrenade model;
private static final ResourceLocation texture = new ResourceLocation("target:textures/entities/grenade.png");
private final ModelGrenade model;
public GunGrenadeRenderer(EntityRendererProvider.Context context) {
super(context);
model = new ModelGrenade(context.bakeLayer(ModelGrenade.LAYER_LOCATION));
}
public GunGrenadeRenderer(EntityRendererProvider.Context context) {
super(context);
model = new ModelGrenade(context.bakeLayer(ModelGrenade.LAYER_LOCATION));
}
@Override
public void render(GunGrenadeEntity entityIn, float entityYaw, float partialTicks, PoseStack poseStack, MultiBufferSource bufferIn, int packedLightIn) {
VertexConsumer vb = bufferIn.getBuffer(RenderType.entityCutout(this.getTextureLocation(entityIn)));
poseStack.pushPose();
poseStack.mulPose(Axis.YP.rotationDegrees(Mth.lerp(partialTicks, entityIn.yRotO, entityIn.getYRot()) - 90));
poseStack.mulPose(Axis.ZP.rotationDegrees(90 + Mth.lerp(partialTicks, entityIn.xRotO, entityIn.getXRot())));
model.renderToBuffer(poseStack, vb, packedLightIn, OverlayTexture.NO_OVERLAY, 1, 1, 1, 0.0625f);
poseStack.popPose();
super.render(entityIn, entityYaw, partialTicks, poseStack, bufferIn, packedLightIn);
}
@Override
public void render(GunGrenadeEntity entityIn, float entityYaw, float partialTicks, PoseStack poseStack, MultiBufferSource bufferIn, int packedLightIn) {
VertexConsumer vb = bufferIn.getBuffer(RenderType.entityCutout(this.getTextureLocation(entityIn)));
poseStack.pushPose();
poseStack.mulPose(Axis.YP.rotationDegrees(Mth.lerp(partialTicks, entityIn.yRotO, entityIn.getYRot()) - 90));
poseStack.mulPose(Axis.ZP.rotationDegrees(90 + Mth.lerp(partialTicks, entityIn.xRotO, entityIn.getXRot())));
model.renderToBuffer(poseStack, vb, packedLightIn, OverlayTexture.NO_OVERLAY, 1, 1, 1, 0.0625f);
poseStack.popPose();
super.render(entityIn, entityYaw, partialTicks, poseStack, bufferIn, packedLightIn);
}
@Override
public ResourceLocation getTextureLocation(GunGrenadeEntity entity) {
return texture;
}
@Override
public ResourceLocation getTextureLocation(GunGrenadeEntity entity) {
return texture;
}
}

View file

@ -1,42 +1,38 @@
package net.mcreator.target.client.renderer;
import software.bernie.geckolib.renderer.GeoEntityRenderer;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.MultiBufferSource;
import net.mcreator.target.entity.model.MortarModel;
import net.mcreator.target.entity.MortarEntity;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.target.entity.MortarEntity;
import net.mcreator.target.entity.model.MortarModel;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.resources.ResourceLocation;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.renderer.GeoEntityRenderer;
public class MortarRenderer extends GeoEntityRenderer<MortarEntity> {
public MortarRenderer(EntityRendererProvider.Context renderManager) {
super(renderManager, new MortarModel());
this.shadowRadius = 0f;
}
public MortarRenderer(EntityRendererProvider.Context renderManager) {
super(renderManager, new MortarModel());
this.shadowRadius = 0f;
}
@Override
public RenderType getRenderType(MortarEntity animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable));
}
@Override
public RenderType getRenderType(MortarEntity animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable));
}
@Override
public void preRender(PoseStack poseStack, MortarEntity entity, BakedGeoModel model, MultiBufferSource bufferSource, VertexConsumer buffer, boolean isReRender, float partialTick, int packedLight, int packedOverlay, float red, float green,
float blue, float alpha) {
float scale = 1f;
this.scaleHeight = scale;
this.scaleWidth = scale;
super.preRender(poseStack, entity, model, bufferSource, buffer, isReRender, partialTick, packedLight, packedOverlay, red, green, blue, alpha);
}
@Override
public void preRender(PoseStack poseStack, MortarEntity entity, BakedGeoModel model, MultiBufferSource bufferSource, VertexConsumer buffer, boolean isReRender, float partialTick, int packedLight, int packedOverlay, float red, float green,
float blue, float alpha) {
float scale = 1f;
this.scaleHeight = scale;
this.scaleWidth = scale;
super.preRender(poseStack, entity, model, bufferSource, buffer, isReRender, partialTick, packedLight, packedOverlay, red, green, blue, alpha);
}
@Override
protected float getDeathMaxRotation(MortarEntity entityLivingBaseIn) {
return 0.0F;
}
@Override
protected float getDeathMaxRotation(MortarEntity entityLivingBaseIn) {
return 0.0F;
}
}

View file

@ -1,42 +1,40 @@
package net.mcreator.target.client.renderer;
import net.minecraft.util.Mth;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.MultiBufferSource;
import net.mcreator.target.entity.MortarShellEntity;
import net.mcreator.target.client.model.Modelmortar_shell_Converted;
import com.mojang.math.Axis;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.math.Axis;
import net.mcreator.target.client.model.Modelmortar_shell_Converted;
import net.mcreator.target.entity.MortarShellEntity;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth;
public class MortarShellRenderer extends EntityRenderer<MortarShellEntity> {
private static final ResourceLocation texture = new ResourceLocation("target:textures/entities/mortar_shell.png");
private final Modelmortar_shell_Converted model;
private static final ResourceLocation texture = new ResourceLocation("target:textures/entities/mortar_shell.png");
private final Modelmortar_shell_Converted model;
public MortarShellRenderer(EntityRendererProvider.Context context) {
super(context);
model = new Modelmortar_shell_Converted(context.bakeLayer(Modelmortar_shell_Converted.LAYER_LOCATION));
}
public MortarShellRenderer(EntityRendererProvider.Context context) {
super(context);
model = new Modelmortar_shell_Converted(context.bakeLayer(Modelmortar_shell_Converted.LAYER_LOCATION));
}
@Override
public void render(MortarShellEntity entityIn, float entityYaw, float partialTicks, PoseStack poseStack, MultiBufferSource bufferIn, int packedLightIn) {
VertexConsumer vb = bufferIn.getBuffer(RenderType.entityCutout(this.getTextureLocation(entityIn)));
poseStack.pushPose();
poseStack.mulPose(Axis.YP.rotationDegrees(Mth.lerp(partialTicks, entityIn.yRotO, entityIn.getYRot()) - 90));
poseStack.mulPose(Axis.ZP.rotationDegrees(90 + Mth.lerp(partialTicks, entityIn.xRotO, entityIn.getXRot())));
model.renderToBuffer(poseStack, vb, packedLightIn, OverlayTexture.NO_OVERLAY, 1, 1, 1, 0.0625f);
poseStack.popPose();
super.render(entityIn, entityYaw, partialTicks, poseStack, bufferIn, packedLightIn);
}
@Override
public void render(MortarShellEntity entityIn, float entityYaw, float partialTicks, PoseStack poseStack, MultiBufferSource bufferIn, int packedLightIn) {
VertexConsumer vb = bufferIn.getBuffer(RenderType.entityCutout(this.getTextureLocation(entityIn)));
poseStack.pushPose();
poseStack.mulPose(Axis.YP.rotationDegrees(Mth.lerp(partialTicks, entityIn.yRotO, entityIn.getYRot()) - 90));
poseStack.mulPose(Axis.ZP.rotationDegrees(90 + Mth.lerp(partialTicks, entityIn.xRotO, entityIn.getXRot())));
model.renderToBuffer(poseStack, vb, packedLightIn, OverlayTexture.NO_OVERLAY, 1, 1, 1, 0.0625f);
poseStack.popPose();
super.render(entityIn, entityYaw, partialTicks, poseStack, bufferIn, packedLightIn);
}
@Override
public ResourceLocation getTextureLocation(MortarShellEntity entity) {
return texture;
}
@Override
public ResourceLocation getTextureLocation(MortarShellEntity entity) {
return texture;
}
}

View file

@ -1,54 +1,45 @@
package net.mcreator.target.client.renderer;
import net.minecraft.util.Mth;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.entity.layers.RenderLayer;
import net.minecraft.client.renderer.entity.MobRenderer;
import net.minecraft.client.renderer.entity.LivingEntityRenderer;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.client.renderer.RenderType;
import net.mcreator.target.entity.ProjectileEntity;
import net.mcreator.target.client.model.Modelbullet;
import net.minecraft.core.BlockPos;
import com.mojang.math.Axis;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.math.Axis;
import net.mcreator.target.client.model.Modelbullet;
import net.mcreator.target.entity.ProjectileEntity;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.core.BlockPos;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth;
public class ProjectileRenderer extends EntityRenderer<ProjectileEntity> {
private static final ResourceLocation texture = new ResourceLocation("target:textures/entities/bullet_tex.png");
private final Modelbullet model;
private static final ResourceLocation texture = new ResourceLocation("target:textures/entities/bullet_tex.png");
private final Modelbullet model;
public ProjectileRenderer(EntityRendererProvider.Context context) {
super(context);
model = new Modelbullet(context.bakeLayer(Modelbullet.LAYER_LOCATION));
}
public ProjectileRenderer(EntityRendererProvider.Context context) {
super(context);
model = new Modelbullet(context.bakeLayer(Modelbullet.LAYER_LOCATION));
}
protected int getBlockLightLevel(ProjectileEntity pEntity, BlockPos pPos) {
return 15;
}
protected int getBlockLightLevel(ProjectileEntity pEntity, BlockPos pPos) {
return 15;
}
@Override
public void render(ProjectileEntity entityIn, float entityYaw, float partialTicks, PoseStack poseStack, MultiBufferSource bufferIn, int packedLightIn) {
VertexConsumer vb = bufferIn.getBuffer(RenderType.eyes(this.getTextureLocation(entityIn)));
poseStack.pushPose();
poseStack.mulPose(Axis.YP.rotationDegrees(Mth.lerp(partialTicks, entityIn.yRotO, entityIn.getYRot()) - 90));
poseStack.mulPose(Axis.ZP.rotationDegrees(90 + Mth.lerp(partialTicks, entityIn.xRotO, entityIn.getXRot())));
model.renderToBuffer(poseStack, vb, packedLightIn, OverlayTexture.NO_OVERLAY, 1, 1, 1, 0.0625f);
poseStack.popPose();
super.render(entityIn, entityYaw, partialTicks, poseStack, bufferIn, packedLightIn);
}
@Override
public void render(ProjectileEntity entityIn, float entityYaw, float partialTicks, PoseStack poseStack, MultiBufferSource bufferIn, int packedLightIn) {
VertexConsumer vb = bufferIn.getBuffer(RenderType.eyes(this.getTextureLocation(entityIn)));
poseStack.pushPose();
poseStack.mulPose(Axis.YP.rotationDegrees(Mth.lerp(partialTicks, entityIn.yRotO, entityIn.getYRot()) - 90));
poseStack.mulPose(Axis.ZP.rotationDegrees(90 + Mth.lerp(partialTicks, entityIn.xRotO, entityIn.getXRot())));
model.renderToBuffer(poseStack, vb, packedLightIn, OverlayTexture.NO_OVERLAY, 1, 1, 1, 0.0625f);
poseStack.popPose();
super.render(entityIn, entityYaw, partialTicks, poseStack, bufferIn, packedLightIn);
}
@Override
public ResourceLocation getTextureLocation(ProjectileEntity entity) {
return texture;
}
@Override
public ResourceLocation getTextureLocation(ProjectileEntity entity) {
return texture;
}
}

View file

@ -1,42 +1,40 @@
package net.mcreator.target.client.renderer;
import net.minecraft.util.Mth;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.MultiBufferSource;
import net.mcreator.target.entity.RpgRocketEntity;
import net.mcreator.target.client.model.Modelrpg7_rocket_Converted;
import com.mojang.math.Axis;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.math.Axis;
import net.mcreator.target.client.model.Modelrpg7_rocket_Converted;
import net.mcreator.target.entity.RpgRocketEntity;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth;
public class RpgRocketRenderer extends EntityRenderer<RpgRocketEntity> {
private static final ResourceLocation texture = new ResourceLocation("target:textures/entities/rocket.png");
private final Modelrpg7_rocket_Converted model;
private static final ResourceLocation texture = new ResourceLocation("target:textures/entities/rocket.png");
private final Modelrpg7_rocket_Converted model;
public RpgRocketRenderer(EntityRendererProvider.Context context) {
super(context);
model = new Modelrpg7_rocket_Converted(context.bakeLayer(Modelrpg7_rocket_Converted.LAYER_LOCATION));
}
public RpgRocketRenderer(EntityRendererProvider.Context context) {
super(context);
model = new Modelrpg7_rocket_Converted(context.bakeLayer(Modelrpg7_rocket_Converted.LAYER_LOCATION));
}
@Override
public void render(RpgRocketEntity entityIn, float entityYaw, float partialTicks, PoseStack poseStack, MultiBufferSource bufferIn, int packedLightIn) {
VertexConsumer vb = bufferIn.getBuffer(RenderType.entityCutout(this.getTextureLocation(entityIn)));
poseStack.pushPose();
poseStack.mulPose(Axis.YP.rotationDegrees(Mth.lerp(partialTicks, entityIn.yRotO, entityIn.getYRot()) - 90));
poseStack.mulPose(Axis.ZP.rotationDegrees(90 + Mth.lerp(partialTicks, entityIn.xRotO, entityIn.getXRot())));
model.renderToBuffer(poseStack, vb, packedLightIn, OverlayTexture.NO_OVERLAY, 1, 1, 1, 0.0625f);
poseStack.popPose();
super.render(entityIn, entityYaw, partialTicks, poseStack, bufferIn, packedLightIn);
}
@Override
public void render(RpgRocketEntity entityIn, float entityYaw, float partialTicks, PoseStack poseStack, MultiBufferSource bufferIn, int packedLightIn) {
VertexConsumer vb = bufferIn.getBuffer(RenderType.entityCutout(this.getTextureLocation(entityIn)));
poseStack.pushPose();
poseStack.mulPose(Axis.YP.rotationDegrees(Mth.lerp(partialTicks, entityIn.yRotO, entityIn.getYRot()) - 90));
poseStack.mulPose(Axis.ZP.rotationDegrees(90 + Mth.lerp(partialTicks, entityIn.xRotO, entityIn.getXRot())));
model.renderToBuffer(poseStack, vb, packedLightIn, OverlayTexture.NO_OVERLAY, 1, 1, 1, 0.0625f);
poseStack.popPose();
super.render(entityIn, entityYaw, partialTicks, poseStack, bufferIn, packedLightIn);
}
@Override
public ResourceLocation getTextureLocation(RpgRocketEntity entity) {
return texture;
}
@Override
public ResourceLocation getTextureLocation(RpgRocketEntity entity) {
return texture;
}
}

View file

@ -1,42 +1,38 @@
package net.mcreator.target.client.renderer;
import software.bernie.geckolib.renderer.GeoEntityRenderer;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.MultiBufferSource;
import net.mcreator.target.entity.model.SenpaiModel;
import net.mcreator.target.entity.SenpaiEntity;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.target.entity.SenpaiEntity;
import net.mcreator.target.entity.model.SenpaiModel;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.resources.ResourceLocation;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.renderer.GeoEntityRenderer;
public class SenpaiRenderer extends GeoEntityRenderer<SenpaiEntity> {
public SenpaiRenderer(EntityRendererProvider.Context renderManager) {
super(renderManager, new SenpaiModel());
this.shadowRadius = 0.5f;
}
public SenpaiRenderer(EntityRendererProvider.Context renderManager) {
super(renderManager, new SenpaiModel());
this.shadowRadius = 0.5f;
}
@Override
public RenderType getRenderType(SenpaiEntity animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable));
}
@Override
public RenderType getRenderType(SenpaiEntity animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable));
}
@Override
public void preRender(PoseStack poseStack, SenpaiEntity entity, BakedGeoModel model, MultiBufferSource bufferSource, VertexConsumer buffer, boolean isReRender, float partialTick, int packedLight, int packedOverlay, float red, float green,
float blue, float alpha) {
float scale = 1f;
this.scaleHeight = scale;
this.scaleWidth = scale;
super.preRender(poseStack, entity, model, bufferSource, buffer, isReRender, partialTick, packedLight, packedOverlay, red, green, blue, alpha);
}
@Override
public void preRender(PoseStack poseStack, SenpaiEntity entity, BakedGeoModel model, MultiBufferSource bufferSource, VertexConsumer buffer, boolean isReRender, float partialTick, int packedLight, int packedOverlay, float red, float green,
float blue, float alpha) {
float scale = 1f;
this.scaleHeight = scale;
this.scaleWidth = scale;
super.preRender(poseStack, entity, model, bufferSource, buffer, isReRender, partialTick, packedLight, packedOverlay, red, green, blue, alpha);
}
@Override
protected float getDeathMaxRotation(SenpaiEntity entityLivingBaseIn) {
return 0.0F;
}
@Override
protected float getDeathMaxRotation(SenpaiEntity entityLivingBaseIn) {
return 0.0F;
}
}

View file

@ -1,42 +1,38 @@
package net.mcreator.target.client.renderer;
import software.bernie.geckolib.renderer.GeoEntityRenderer;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.MultiBufferSource;
import net.mcreator.target.entity.model.Target1Model;
import net.mcreator.target.entity.Target1Entity;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.target.entity.Target1Entity;
import net.mcreator.target.entity.model.Target1Model;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.resources.ResourceLocation;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.renderer.GeoEntityRenderer;
public class Target1Renderer extends GeoEntityRenderer<Target1Entity> {
public Target1Renderer(EntityRendererProvider.Context renderManager) {
super(renderManager, new Target1Model());
this.shadowRadius = 0f;
}
public Target1Renderer(EntityRendererProvider.Context renderManager) {
super(renderManager, new Target1Model());
this.shadowRadius = 0f;
}
@Override
public RenderType getRenderType(Target1Entity animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable));
}
@Override
public RenderType getRenderType(Target1Entity animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable));
}
@Override
public void preRender(PoseStack poseStack, Target1Entity entity, BakedGeoModel model, MultiBufferSource bufferSource, VertexConsumer buffer, boolean isReRender, float partialTick, int packedLight, int packedOverlay, float red, float green,
float blue, float alpha) {
float scale = 1f;
this.scaleHeight = scale;
this.scaleWidth = scale;
super.preRender(poseStack, entity, model, bufferSource, buffer, isReRender, partialTick, packedLight, packedOverlay, red, green, blue, alpha);
}
@Override
public void preRender(PoseStack poseStack, Target1Entity entity, BakedGeoModel model, MultiBufferSource bufferSource, VertexConsumer buffer, boolean isReRender, float partialTick, int packedLight, int packedOverlay, float red, float green,
float blue, float alpha) {
float scale = 1f;
this.scaleHeight = scale;
this.scaleWidth = scale;
super.preRender(poseStack, entity, model, bufferSource, buffer, isReRender, partialTick, packedLight, packedOverlay, red, green, blue, alpha);
}
@Override
protected float getDeathMaxRotation(Target1Entity entityLivingBaseIn) {
return 0.0F;
}
@Override
protected float getDeathMaxRotation(Target1Entity entityLivingBaseIn) {
return 0.0F;
}
}

View file

@ -1,44 +1,40 @@
package net.mcreator.target.client.renderer;
import software.bernie.geckolib.renderer.GeoEntityRenderer;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.MultiBufferSource;
import net.mcreator.target.entity.model.TargetModel;
import net.mcreator.target.entity.layer.TargetLayer;
import net.mcreator.target.entity.TargetEntity;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.target.entity.TargetEntity;
import net.mcreator.target.entity.layer.TargetLayer;
import net.mcreator.target.entity.model.TargetModel;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.resources.ResourceLocation;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.renderer.GeoEntityRenderer;
public class TargetRenderer extends GeoEntityRenderer<TargetEntity> {
public TargetRenderer(EntityRendererProvider.Context renderManager) {
super(renderManager, new TargetModel());
this.shadowRadius = 0f;
this.addRenderLayer(new TargetLayer(this));
}
public TargetRenderer(EntityRendererProvider.Context renderManager) {
super(renderManager, new TargetModel());
this.shadowRadius = 0f;
this.addRenderLayer(new TargetLayer(this));
}
@Override
public RenderType getRenderType(TargetEntity animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable));
}
@Override
public RenderType getRenderType(TargetEntity animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable));
}
@Override
public void preRender(PoseStack poseStack, TargetEntity entity, BakedGeoModel model, MultiBufferSource bufferSource, VertexConsumer buffer, boolean isReRender, float partialTick, int packedLight, int packedOverlay, float red, float green,
float blue, float alpha) {
float scale = 1f;
this.scaleHeight = scale;
this.scaleWidth = scale;
super.preRender(poseStack, entity, model, bufferSource, buffer, isReRender, partialTick, packedLight, packedOverlay, red, green, blue, alpha);
}
@Override
public void preRender(PoseStack poseStack, TargetEntity entity, BakedGeoModel model, MultiBufferSource bufferSource, VertexConsumer buffer, boolean isReRender, float partialTick, int packedLight, int packedOverlay, float red, float green,
float blue, float alpha) {
float scale = 1f;
this.scaleHeight = scale;
this.scaleWidth = scale;
super.preRender(poseStack, entity, model, bufferSource, buffer, isReRender, partialTick, packedLight, packedOverlay, red, green, blue, alpha);
}
@Override
protected float getDeathMaxRotation(TargetEntity entityLivingBaseIn) {
return 0.0F;
}
@Override
protected float getDeathMaxRotation(TargetEntity entityLivingBaseIn) {
return 0.0F;
}
}

View file

@ -1,42 +1,40 @@
package net.mcreator.target.client.renderer;
import net.minecraft.util.Mth;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.MultiBufferSource;
import net.mcreator.target.entity.TaserBulletProjectileEntity;
import net.mcreator.target.client.model.Modeltaser_rod;
import com.mojang.math.Axis;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.math.Axis;
import net.mcreator.target.client.model.Modeltaser_rod;
import net.mcreator.target.entity.TaserBulletProjectileEntity;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth;
public class TaserBulletProjectileRenderer extends EntityRenderer<TaserBulletProjectileEntity> {
private static final ResourceLocation texture = new ResourceLocation("target:textures/entities/taser_rod.png");
private final Modeltaser_rod model;
private static final ResourceLocation texture = new ResourceLocation("target:textures/entities/taser_rod.png");
private final Modeltaser_rod model;
public TaserBulletProjectileRenderer(EntityRendererProvider.Context context) {
super(context);
model = new Modeltaser_rod(context.bakeLayer(Modeltaser_rod.LAYER_LOCATION));
}
public TaserBulletProjectileRenderer(EntityRendererProvider.Context context) {
super(context);
model = new Modeltaser_rod(context.bakeLayer(Modeltaser_rod.LAYER_LOCATION));
}
@Override
public void render(TaserBulletProjectileEntity entityIn, float entityYaw, float partialTicks, PoseStack poseStack, MultiBufferSource bufferIn, int packedLightIn) {
VertexConsumer vb = bufferIn.getBuffer(RenderType.entityCutout(this.getTextureLocation(entityIn)));
poseStack.pushPose();
poseStack.mulPose(Axis.YP.rotationDegrees(Mth.lerp(partialTicks, entityIn.yRotO, entityIn.getYRot()) - 90));
poseStack.mulPose(Axis.ZP.rotationDegrees(90 + Mth.lerp(partialTicks, entityIn.xRotO, entityIn.getXRot())));
model.renderToBuffer(poseStack, vb, packedLightIn, OverlayTexture.NO_OVERLAY, 1, 1, 1, 0.0625f);
poseStack.popPose();
super.render(entityIn, entityYaw, partialTicks, poseStack, bufferIn, packedLightIn);
}
@Override
public void render(TaserBulletProjectileEntity entityIn, float entityYaw, float partialTicks, PoseStack poseStack, MultiBufferSource bufferIn, int packedLightIn) {
VertexConsumer vb = bufferIn.getBuffer(RenderType.entityCutout(this.getTextureLocation(entityIn)));
poseStack.pushPose();
poseStack.mulPose(Axis.YP.rotationDegrees(Mth.lerp(partialTicks, entityIn.yRotO, entityIn.getYRot()) - 90));
poseStack.mulPose(Axis.ZP.rotationDegrees(90 + Mth.lerp(partialTicks, entityIn.xRotO, entityIn.getXRot())));
model.renderToBuffer(poseStack, vb, packedLightIn, OverlayTexture.NO_OVERLAY, 1, 1, 1, 0.0625f);
poseStack.popPose();
super.render(entityIn, entityYaw, partialTicks, poseStack, bufferIn, packedLightIn);
}
@Override
public ResourceLocation getTextureLocation(TaserBulletProjectileEntity entity) {
return texture;
}
@Override
public ResourceLocation getTextureLocation(TaserBulletProjectileEntity entity) {
return texture;
}
}

View file

@ -1,42 +1,32 @@
package net.mcreator.target.client.screens;
import org.checkerframework.checker.units.qual.h;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.eventbus.api.EventPriority;
import net.minecraftforge.client.event.RenderGuiEvent;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraft.world.level.Level;
import net.minecraft.world.entity.player.Player;
import net.minecraft.client.Minecraft;
import net.mcreator.target.procedures.AmmocountProcedure;
import net.mcreator.target.procedures.AmmobarXianShiYouXiNeiDieJiaCengProcedure;
import net.mcreator.target.procedures.AmmocountProcedure;
import net.minecraft.client.Minecraft;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.Level;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.event.RenderGuiEvent;
import net.minecraftforge.eventbus.api.EventPriority;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber({Dist.CLIENT})
public class AmmobarOverlay {
@SubscribeEvent(priority = EventPriority.NORMAL)
public static void eventHandler(RenderGuiEvent.Pre event) {
int w = event.getWindow().getGuiScaledWidth();
int h = event.getWindow().getGuiScaledHeight();
Level world = null;
double x = 0;
double y = 0;
double z = 0;
Player entity = Minecraft.getInstance().player;
if (entity != null) {
world = entity.level();
x = entity.getX();
y = entity.getY();
z = entity.getZ();
}
if (AmmobarXianShiYouXiNeiDieJiaCengProcedure.execute(entity)) {
event.getGuiGraphics().drawString(Minecraft.getInstance().font,
AmmocountProcedure.execute(entity), w / 2 + 92, h - 11, -16711936, false);
}
}
@SubscribeEvent(priority = EventPriority.NORMAL)
public static void eventHandler(RenderGuiEvent.Pre event) {
int w = event.getWindow().getGuiScaledWidth();
int h = event.getWindow().getGuiScaledHeight();
Player entity = Minecraft.getInstance().player;
if (AmmobarXianShiYouXiNeiDieJiaCengProcedure.execute(entity)) {
event.getGuiGraphics().drawString(
Minecraft.getInstance().font,
AmmocountProcedure.execute(entity),
w / 2 + 92,
h - 11,
-16711936,
false
);
}
}
}

View file

@ -1,140 +1,105 @@
package net.mcreator.target.client.screens;
import org.checkerframework.checker.units.qual.h;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.eventbus.api.EventPriority;
import net.minecraftforge.client.event.RenderGuiEvent;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraft.world.level.Level;
import net.minecraft.world.entity.player.Player;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.renderer.GameRenderer;
import net.minecraft.client.Minecraft;
import net.mcreator.target.init.TargetModAttributes;
import net.mcreator.target.network.TargetModVariables;
import net.mcreator.target.procedures.CrosshairXianShiYouXiNeiDieJiaCengProcedure;
import net.minecraft.client.gui.GuiGraphics;
import com.mojang.blaze3d.systems.RenderSystem;
import org.joml.Matrix4f;
import com.mojang.blaze3d.vertex.BufferUploader;
import com.mojang.blaze3d.vertex.DefaultVertexFormat;
import com.mojang.blaze3d.vertex.VertexFormat;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.blaze3d.vertex.BufferBuilder;
import com.mojang.blaze3d.vertex.Tesselator;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.*;
import net.mcreator.target.init.TargetModAttributes;
import net.mcreator.target.network.TargetModVariables;
import net.mcreator.target.procedures.CrosshairXianShiYouXiNeiDieJiaCengProcedure;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.renderer.GameRenderer;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Player;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.event.RenderGuiEvent;
import net.minecraftforge.eventbus.api.EventPriority;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import org.joml.Matrix4f;
@Mod.EventBusSubscriber({Dist.CLIENT})
public class CrosshairOverlay {
@SubscribeEvent(priority = EventPriority.NORMAL)
public static void eventHandler(RenderGuiEvent.Pre event) {
int w = event.getWindow().getGuiScaledWidth();
int h = event.getWindow().getGuiScaledHeight();
Level world = null;
double x = 0;
double y = 0;
double z = 0;
Player entity = Minecraft.getInstance().player;
@SubscribeEvent(priority = EventPriority.NORMAL)
public static void eventHandler(RenderGuiEvent.Pre event) {
int w = event.getWindow().getGuiScaledWidth();
int h = event.getWindow().getGuiScaledHeight();
Player entity = Minecraft.getInstance().player;
double spread = 0;
spread = entity.getAttribute(TargetModAttributes.SPREAD.get()).getBaseValue();
double spread = entity.getAttribute(TargetModAttributes.SPREAD.get()).getBaseValue();
double hitind = 0;
hitind = (entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).hitind;
double hitind = (entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).hitind;
double headind = 0;
headind = (entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).headind;
double headind = (entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).headind;
double killind = 0;
killind = (entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).killind;
double killind = (entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).killind;
if (entity != null) {
world = entity.level();
x = entity.getX();
y = entity.getY();
z = entity.getZ();
}
RenderSystem.disableDepthTest();
RenderSystem.depthMask(false);
RenderSystem.enableBlend();
RenderSystem.setShader(GameRenderer::getPositionTexShader);
RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO);
RenderSystem.setShaderColor(1, 1, 1, 1);
if (CrosshairXianShiYouXiNeiDieJiaCengProcedure.execute(entity)) {
preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/point.png"), w / 2 + -7.5f, h / 2 + -8, 0, 0, 16, 16, 16, 16);
RenderSystem.disableDepthTest();
RenderSystem.depthMask(false);
RenderSystem.enableBlend();
RenderSystem.setShader(GameRenderer::getPositionTexShader);
RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO);
RenderSystem.setShaderColor(1, 1, 1, 1);
if (CrosshairXianShiYouXiNeiDieJiaCengProcedure.execute(entity)) {
preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/point.png"), w / 2 + -7.5f, h / 2 + -8, 0, 0, 16, 16, 16, 16);
preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/rexheng.png"), w / 2 + -9.5f - 2.8f * (float)spread, h / 2 + -8, 0, 0, 16, 16, 16, 16);
preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/rexheng.png"), w / 2 + -9.5f - 2.8f * (float) spread, h / 2 + -8, 0, 0, 16, 16, 16, 16);
preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/rexheng.png"), w / 2 + -6.5f + 2.8f * (float)spread, h / 2 + -8, 0, 0, 16, 16, 16, 16);
preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/rexheng.png"), w / 2 + -6.5f + 2.8f * (float) spread, h / 2 + -8, 0, 0, 16, 16, 16, 16);
preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/rexshu.png"), w / 2 + -7.5f, h / 2 + -7 + 2.8f * (float)spread, 0, 0, 16, 16, 16, 16);
preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/rexshu.png"), w / 2 + -7.5f, h / 2 + -7 + 2.8f * (float) spread, 0, 0, 16, 16, 16, 16);
preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/rexshu.png"), w / 2 + -7.5f, h / 2 + -10 - 2.8f * (float)spread, 0, 0, 16, 16, 16, 16);
}
preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/rexshu.png"), w / 2 + -7.5f, h / 2 + -10 - 2.8f * (float) spread, 0, 0, 16, 16, 16, 16);
}
float ww = 0;
float hh = 0;
float m = 0;
ww = w / 2 + -7.5f + (float)(2 * (Math.random() - 0.5f));
hh = h / 2 + -8 + (float)(2 * (Math.random() - 0.5f));
m = (float)((40 - killind)/5.5f);
if (hitind > 0) {
preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/hit_marker.png"), ww, hh, 0, 0, 16, 16, 16, 16);
}
float ww = w / 2 - 7.5f + (float) (2 * (Math.random() - 0.5f));
float hh = h / 2 - 8 + (float) (2 * (Math.random() - 0.5f));
float m = (float) ((40 - killind) / 5.5f);
if (headind > 0) {
preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/headshotmark.png"), ww, hh, 0, 0, 16, 16, 16, 16);
}
if (hitind > 0) {
preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/hit_marker.png"), ww, hh, 0, 0, 16, 16, 16, 16);
}
if (killind > 0) {
preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/kill_mark1.png"), w / 2 + -7.5f -2 + m, h / 2 + -8 -2 + m, 0, 0, 16, 16, 16, 16);
if (headind > 0) {
preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/headshotmark.png"), ww, hh, 0, 0, 16, 16, 16, 16);
}
preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/kill_mark2.png"), w / 2 + -7.5f +2 - m, h / 2 + -8 -2 + m, 0, 0, 16, 16, 16, 16);
if (killind > 0) {
preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/kill_mark1.png"), w / 2 + -7.5f - 2 + m, h / 2 + -8 - 2 + m, 0, 0, 16, 16, 16, 16);
preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/kill_mark3.png"), w / 2 + -7.5f -2 + m, h / 2 + -8 +2 - m, 0, 0, 16, 16, 16, 16);
preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/kill_mark2.png"), w / 2 + -7.5f + 2 - m, h / 2 + -8 - 2 + m, 0, 0, 16, 16, 16, 16);
preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/kill_mark4.png"), w / 2 + -7.5f +2 - m, h / 2 + -8 +2 - m, 0, 0, 16, 16, 16, 16);
}
preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/kill_mark3.png"), w / 2 + -7.5f - 2 + m, h / 2 + -8 + 2 - m, 0, 0, 16, 16, 16, 16);
RenderSystem.depthMask(true);
RenderSystem.defaultBlendFunc();
RenderSystem.enableDepthTest();
RenderSystem.disableBlend();
RenderSystem.setShaderColor(1, 1, 1, 1);
}
preciseBlit(event.getGuiGraphics(), new ResourceLocation("target:textures/screens/kill_mark4.png"), w / 2 + -7.5f + 2 - m, h / 2 + -8 + 2 - m, 0, 0, 16, 16, 16, 16);
}
private static void preciseBlit(GuiGraphics gui,ResourceLocation pAtlasLocation, float pX, float pY, float pUOffset, float pVOffset, float pWidth, float pHeight, float pTextureWidth, float pTextureHeight) {
float pX1 = pX;
float pX2 = pX + pWidth;
float pY1 = pY;
float pY2 = pY + pHeight;
float pBlitOffset = 0;
RenderSystem.depthMask(true);
RenderSystem.defaultBlendFunc();
RenderSystem.enableDepthTest();
RenderSystem.disableBlend();
RenderSystem.setShaderColor(1, 1, 1, 1);
}
float pMinU = pUOffset / pTextureWidth;
float pMaxU = (pUOffset + pWidth) / pTextureWidth;
float pMinV = pVOffset / pTextureHeight;
float pMaxV = (pVOffset + pHeight) / pTextureHeight;
private static void preciseBlit(GuiGraphics gui, ResourceLocation pAtlasLocation, float pX, float pY, float pUOffset, float pVOffset, float pWidth, float pHeight, float pTextureWidth, float pTextureHeight) {
float pX2 = pX + pWidth;
float pY2 = pY + pHeight;
float pBlitOffset = 0;
RenderSystem.setShaderTexture(0, pAtlasLocation);
RenderSystem.setShader(GameRenderer::getPositionTexShader);
Matrix4f matrix4f = gui.pose().last().pose();
BufferBuilder bufferbuilder = Tesselator.getInstance().getBuilder();
bufferbuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX);
bufferbuilder.vertex(matrix4f, pX1, pY1, pBlitOffset).uv(pMinU, pMinV).endVertex();
bufferbuilder.vertex(matrix4f, pX1, pY2, pBlitOffset).uv(pMinU, pMaxV).endVertex();
bufferbuilder.vertex(matrix4f, pX2, pY2, pBlitOffset).uv(pMaxU, pMaxV).endVertex();
bufferbuilder.vertex(matrix4f, pX2, pY1, pBlitOffset).uv(pMaxU, pMinV).endVertex();
BufferUploader.drawWithShader(bufferbuilder.end());
}
float pMinU = pUOffset / pTextureWidth;
float pMaxU = (pUOffset + pWidth) / pTextureWidth;
float pMinV = pVOffset / pTextureHeight;
float pMaxV = (pVOffset + pHeight) / pTextureHeight;
RenderSystem.setShaderTexture(0, pAtlasLocation);
RenderSystem.setShader(GameRenderer::getPositionTexShader);
Matrix4f matrix4f = gui.pose().last().pose();
BufferBuilder bufferbuilder = Tesselator.getInstance().getBuilder();
bufferbuilder.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX);
bufferbuilder.vertex(matrix4f, pX, pY, pBlitOffset).uv(pMinU, pMinV).endVertex();
bufferbuilder.vertex(matrix4f, pX, pY2, pBlitOffset).uv(pMinU, pMaxV).endVertex();
bufferbuilder.vertex(matrix4f, pX2, pY2, pBlitOffset).uv(pMaxU, pMaxV).endVertex();
bufferbuilder.vertex(matrix4f, pX2, pY, pBlitOffset).uv(pMaxU, pMinV).endVertex();
BufferUploader.drawWithShader(bufferbuilder.end());
}
}

View file

@ -1,56 +1,38 @@
package net.mcreator.target.client.screens;
import org.checkerframework.checker.units.qual.h;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.eventbus.api.EventPriority;
import net.minecraftforge.client.event.RenderGuiEvent;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraft.world.level.Level;
import net.minecraft.world.entity.player.Player;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.renderer.GameRenderer;
import net.minecraft.client.Minecraft;
import net.mcreator.target.procedures.M79uiXianShiYouXiNeiDieJiaCengProcedure;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.blaze3d.systems.RenderSystem;
import net.mcreator.target.procedures.M79uiXianShiYouXiNeiDieJiaCengProcedure;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.GameRenderer;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Player;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.event.RenderGuiEvent;
import net.minecraftforge.eventbus.api.EventPriority;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber({Dist.CLIENT})
public class M79uiOverlay {
@SubscribeEvent(priority = EventPriority.NORMAL)
public static void eventHandler(RenderGuiEvent.Pre event) {
int w = event.getWindow().getGuiScaledWidth();
int h = event.getWindow().getGuiScaledHeight();
Level world = null;
double x = 0;
double y = 0;
double z = 0;
Player entity = Minecraft.getInstance().player;
if (entity != null) {
world = entity.level();
x = entity.getX();
y = entity.getY();
z = entity.getZ();
}
RenderSystem.disableDepthTest();
RenderSystem.depthMask(false);
RenderSystem.enableBlend();
RenderSystem.setShader(GameRenderer::getPositionTexShader);
RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO);
RenderSystem.setShaderColor(1, 1, 1, 1);
if (M79uiXianShiYouXiNeiDieJiaCengProcedure.execute(entity)) {
event.getGuiGraphics().blit(new ResourceLocation("target:textures/screens/rex.png"), w / 2 + -16, h / 2 + -16, 0, 0, 32, 32, 32, 32);
}
RenderSystem.depthMask(true);
RenderSystem.defaultBlendFunc();
RenderSystem.enableDepthTest();
RenderSystem.disableBlend();
RenderSystem.setShaderColor(1, 1, 1, 1);
}
@SubscribeEvent(priority = EventPriority.NORMAL)
public static void eventHandler(RenderGuiEvent.Pre event) {
int w = event.getWindow().getGuiScaledWidth();
int h = event.getWindow().getGuiScaledHeight();
Player entity = Minecraft.getInstance().player;
RenderSystem.disableDepthTest();
RenderSystem.depthMask(false);
RenderSystem.enableBlend();
RenderSystem.setShader(GameRenderer::getPositionTexShader);
RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO);
RenderSystem.setShaderColor(1, 1, 1, 1);
if (M79uiXianShiYouXiNeiDieJiaCengProcedure.execute(entity)) {
event.getGuiGraphics().blit(new ResourceLocation("target:textures/screens/rex.png"), w / 2 + -16, h / 2 + -16, 0, 0, 32, 32, 32, 32);
}
RenderSystem.depthMask(true);
RenderSystem.defaultBlendFunc();
RenderSystem.enableDepthTest();
RenderSystem.disableBlend();
RenderSystem.setShaderColor(1, 1, 1, 1);
}
}

View file

@ -1,42 +1,31 @@
package net.mcreator.target.client.screens;
import org.checkerframework.checker.units.qual.h;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.eventbus.api.EventPriority;
import net.minecraftforge.client.event.RenderGuiEvent;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraft.world.level.Level;
import net.minecraft.world.entity.player.Player;
import net.minecraft.client.Minecraft;
import net.mcreator.target.procedures.SpyglassRangeXianShiYouXiNeiDieJiaCengProcedure;
import net.mcreator.target.procedures.EntityRangeProcedure;
import net.mcreator.target.procedures.SpyglassRangeXianShiYouXiNeiDieJiaCengProcedure;
import net.minecraft.client.Minecraft;
import net.minecraft.world.entity.player.Player;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.event.RenderGuiEvent;
import net.minecraftforge.eventbus.api.EventPriority;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber({Dist.CLIENT})
public class SpyglassRangeOverlay {
@SubscribeEvent(priority = EventPriority.NORMAL)
public static void eventHandler(RenderGuiEvent.Pre event) {
int w = event.getWindow().getGuiScaledWidth();
int h = event.getWindow().getGuiScaledHeight();
Level world = null;
double x = 0;
double y = 0;
double z = 0;
Player entity = Minecraft.getInstance().player;
if (entity != null) {
world = entity.level();
x = entity.getX();
y = entity.getY();
z = entity.getZ();
}
if (SpyglassRangeXianShiYouXiNeiDieJiaCengProcedure.execute(entity)) {
event.getGuiGraphics().drawString(Minecraft.getInstance().font,
EntityRangeProcedure.execute(entity), w / 2 + 19, h / 2 + -23, -1, false);
}
}
@SubscribeEvent(priority = EventPriority.NORMAL)
public static void eventHandler(RenderGuiEvent.Pre event) {
int w = event.getWindow().getGuiScaledWidth();
int h = event.getWindow().getGuiScaledHeight();
Player entity = Minecraft.getInstance().player;
if (SpyglassRangeXianShiYouXiNeiDieJiaCengProcedure.execute(entity)) {
event.getGuiGraphics().drawString(
Minecraft.getInstance().font,
EntityRangeProcedure.execute(entity),
w / 2 + 19,
h / 2 + -23,
-1,
false
);
}
}
}

View file

@ -1,39 +1,25 @@
package net.mcreator.target.command;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.event.RegisterCommandsEvent;
import net.minecraftforge.common.util.FakePlayerFactory;
import net.minecraft.world.level.Level;
import net.minecraft.world.entity.Entity;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.core.Direction;
import net.minecraft.commands.Commands;
import net.mcreator.target.procedures.HugeexpProcedure;
import net.minecraft.commands.Commands;
import net.minecraft.world.level.Level;
import net.minecraftforge.event.RegisterCommandsEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber
public class BigexpCommand {
@SubscribeEvent
public static void registerCommand(RegisterCommandsEvent event) {
event.getDispatcher().register(Commands.literal("target:bigexp")
@SubscribeEvent
public static void registerCommand(RegisterCommandsEvent event) {
event.getDispatcher().register(Commands.literal("target:bigexp")
.executes(arguments -> {
Level world = arguments.getSource().getUnsidedLevel();
double x = arguments.getSource().getPosition().x();
double y = arguments.getSource().getPosition().y();
double z = arguments.getSource().getPosition().z();
.executes(arguments -> {
Level world = arguments.getSource().getUnsidedLevel();
double x = arguments.getSource().getPosition().x();
double y = arguments.getSource().getPosition().y();
double z = arguments.getSource().getPosition().z();
Entity entity = arguments.getSource().getEntity();
if (entity == null && world instanceof ServerLevel _servLevel)
entity = FakePlayerFactory.getMinecraft(_servLevel);
Direction direction = Direction.DOWN;
if (entity != null)
direction = entity.getDirection();
HugeexpProcedure.execute(world, x, y, z);
return 0;
}));
}
HugeexpProcedure.execute(world, x, y, z);
return 0;
}));
}
}

View file

@ -1,39 +1,25 @@
package net.mcreator.target.command;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.event.RegisterCommandsEvent;
import net.minecraftforge.common.util.FakePlayerFactory;
import net.minecraft.world.level.Level;
import net.minecraft.world.entity.Entity;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.core.Direction;
import net.minecraft.commands.Commands;
import net.mcreator.target.procedures.MedexpProcedure;
import net.minecraft.commands.Commands;
import net.minecraft.world.level.Level;
import net.minecraftforge.event.RegisterCommandsEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber
public class MediumexpCommand {
@SubscribeEvent
public static void registerCommand(RegisterCommandsEvent event) {
event.getDispatcher().register(Commands.literal("target:mediumexp")
@SubscribeEvent
public static void registerCommand(RegisterCommandsEvent event) {
event.getDispatcher().register(Commands.literal("target:mediumexp")
.executes(arguments -> {
Level world = arguments.getSource().getUnsidedLevel();
double x = arguments.getSource().getPosition().x();
double y = arguments.getSource().getPosition().y();
double z = arguments.getSource().getPosition().z();
.executes(arguments -> {
Level world = arguments.getSource().getUnsidedLevel();
double x = arguments.getSource().getPosition().x();
double y = arguments.getSource().getPosition().y();
double z = arguments.getSource().getPosition().z();
Entity entity = arguments.getSource().getEntity();
if (entity == null && world instanceof ServerLevel _servLevel)
entity = FakePlayerFactory.getMinecraft(_servLevel);
Direction direction = Direction.DOWN;
if (entity != null)
direction = entity.getDirection();
MedexpProcedure.execute(world, x, y, z);
return 0;
}));
}
MedexpProcedure.execute(world, x, y, z);
return 0;
}));
}
}

View file

@ -1,191 +1,179 @@
package net.mcreator.target.entity;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraft.commands.CommandSource;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.phys.*;
import net.mcreator.target.headshot.BoundingBoxManager;
import net.mcreator.target.headshot.IHeadshotBox;
import net.mcreator.target.init.TargetModEntities;
import net.minecraftforge.network.PlayMessages;
import net.minecraftforge.network.NetworkHooks;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraft.world.phys.EntityHitResult;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.level.Level;
import net.minecraft.world.item.Items;
import net.minecraft.world.entity.projectile.ItemSupplier;
import net.minecraft.world.entity.projectile.AbstractArrow;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.item.ItemStack;
import net.minecraft.util.RandomSource;
import net.minecraft.sounds.SoundSource;
import net.minecraft.network.protocol.game.ClientGamePacketListener;
import net.minecraft.network.protocol.Packet;
import net.mcreator.target.network.TargetModVariables;
import net.minecraft.commands.CommandSource;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.network.protocol.Packet;
import net.minecraft.network.protocol.game.ClientGamePacketListener;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundSource;
import net.minecraft.util.RandomSource;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.projectile.AbstractArrow;
import net.minecraft.world.entity.projectile.ItemSupplier;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.EntityHitResult;
import net.minecraft.world.phys.Vec3;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.network.NetworkHooks;
import net.minecraftforge.network.PlayMessages;
import net.minecraftforge.registries.ForgeRegistries;
import java.util.Optional;
@OnlyIn(value = Dist.CLIENT, _interface = ItemSupplier.class)
public class BocekarrowEntity extends AbstractArrow implements ItemSupplier {
public static final ItemStack PROJECTILE_ITEM = new ItemStack(Items.ARROW);
public static final ItemStack PROJECTILE_ITEM = new ItemStack(Items.ARROW);
public BocekarrowEntity(PlayMessages.SpawnEntity packet, Level world) {
super(TargetModEntities.BOCEKARROW.get(), world);
}
public BocekarrowEntity(EntityType<? extends BocekarrowEntity> type, Level world) {
super(type, world);
}
public BocekarrowEntity(EntityType<? extends BocekarrowEntity> type, double x, double y, double z, Level world) {
super(type, x, y, z, world);
}
public BocekarrowEntity(EntityType<? extends BocekarrowEntity> type, LivingEntity entity, Level world) {
super(type, entity, world);
}
@Override
public Packet<ClientGamePacketListener> getAddEntityPacket() {
return NetworkHooks.getEntitySpawningPacket(this);
}
@Override
@OnlyIn(Dist.CLIENT)
public ItemStack getItem() {
return PROJECTILE_ITEM;
}
@Override
protected ItemStack getPickupItem() {
return PROJECTILE_ITEM;
}
@Override
protected void doPostHurtEffects(LivingEntity entity) {
super.doPostHurtEffects(entity);
entity.setArrowCount(entity.getArrowCount() - 1);
}
@Override
public void onHitBlock(BlockHitResult blockHitResult) {
super.onHitBlock(blockHitResult);
}
@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.syncPlayerVariables(living);
});
Entity _ent = living;
if (!_ent.level().isClientSide() && _ent.getServer() != null) {
_ent.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, _ent.position(), _ent.getRotationVector(), _ent.level() instanceof ServerLevel ? (ServerLevel) _ent.level() : null, 4,
_ent.getName().getString(), _ent.getDisplayName(), _ent.level().getServer(), _ent), "playsound target:indication voice @a ~ ~ ~ 1 1");
}
}
if (entity instanceof LivingEntity livingEntity) {
entity.invulnerableTime = 0;
}
AABB boundingBox = entity.getBoundingBox();
Vec3 startVec = this.position();
Vec3 endVec = startVec.add(this.getDeltaMovement());
Vec3 hitPos = boundingBox.clip(startVec, endVec).orElse(null);
/* Check for headshot */
boolean headshot = false;
if(entity instanceof LivingEntity)
{
IHeadshotBox<LivingEntity> headshotBox = (IHeadshotBox<LivingEntity>) BoundingBoxManager.getHeadshotBoxes(entity.getType());
if(headshotBox != null)
{
AABB box = headshotBox.getHeadshotBox((LivingEntity) entity);
if(box != null)
{
box = box.move(boundingBox.getCenter().x, boundingBox.minY, boundingBox.getCenter().z);
Optional<Vec3> headshotHitPos = box.clip(startVec, endVec);
if(!headshotHitPos.isPresent())
{
box = box.inflate( 0.2, 0.2, 0.2);
headshotHitPos = box.clip(startVec, endVec);
}
if(headshotHitPos.isPresent() && (hitPos == null || headshotHitPos.get().distanceTo(hitPos) < 0.55))
{
hitPos = headshotHitPos.get();
headshot = true;
}
if(headshot){
if(this.getOwner() instanceof LivingEntity living){
setBaseDamage(getBaseDamage() * 2);
double _setval = 25;
living.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
capability.headind = _setval;
capability.syncPlayerVariables(living);
});
Entity _ent = living;
if (!_ent.level().isClientSide() && _ent.getServer() != null) {
_ent.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, _ent.position(), _ent.getRotationVector(), _ent.level() instanceof ServerLevel ? (ServerLevel) _ent.level() : null, 4,
_ent.getName().getString(), _ent.getDisplayName(), _ent.level().getServer(), _ent), "playsound target:headshot voice @a ~ ~ ~ 1 1");
}
}
}
}
}
}
super.onHitEntity(result);
this.discard();
public BocekarrowEntity(PlayMessages.SpawnEntity packet, Level world) {
super(TargetModEntities.BOCEKARROW.get(), world);
}
@Override
public void tick() {
super.tick();
if(this.tickCount>200){
this.discard();
}
}
public BocekarrowEntity(EntityType<? extends BocekarrowEntity> type, Level world) {
super(type, world);
}
public static BocekarrowEntity shoot(Level world, LivingEntity entity, RandomSource source) {
return shoot(world, entity, source, 1f, 5, 0);
}
public BocekarrowEntity(EntityType<? extends BocekarrowEntity> type, double x, double y, double z, Level world) {
super(type, x, y, z, world);
}
public static BocekarrowEntity shoot(Level world, LivingEntity entity, RandomSource random, float power, double damage, int knockback) {
BocekarrowEntity entityarrow = new BocekarrowEntity(TargetModEntities.BOCEKARROW.get(), entity, world);
entityarrow.shoot(entity.getViewVector(1).x, entity.getViewVector(1).y, entity.getViewVector(1).z, power * 2, 0);
entityarrow.setSilent(true);
entityarrow.setCritArrow(false);
entityarrow.setBaseDamage(damage);
entityarrow.setKnockback(knockback);
world.addFreshEntity(entityarrow);
world.playSound(null, entity.getX(), entity.getY(), entity.getZ(), ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("entity.arrow.shoot")), SoundSource.PLAYERS, 1, 1f / (random.nextFloat() * 0.5f + 1) + (power / 2));
return entityarrow;
}
public BocekarrowEntity(EntityType<? extends BocekarrowEntity> type, LivingEntity entity, Level world) {
super(type, entity, world);
}
public static BocekarrowEntity shoot(LivingEntity entity, LivingEntity target) {
BocekarrowEntity entityarrow = new BocekarrowEntity(TargetModEntities.BOCEKARROW.get(), entity, entity.level());
double dx = target.getX() - entity.getX();
double dy = target.getY() + target.getEyeHeight() - 1.1;
double dz = target.getZ() - entity.getZ();
entityarrow.shoot(dx, dy - entityarrow.getY() + Math.hypot(dx, dz) * 0.2F, dz, 1f * 2, 12.0F);
entityarrow.setSilent(true);
entityarrow.setBaseDamage(5);
entityarrow.setKnockback(5);
entityarrow.setCritArrow(false);
entity.level().addFreshEntity(entityarrow);
entity.level().playSound(null, entity.getX(), entity.getY(), entity.getZ(), ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("entity.arrow.shoot")), SoundSource.PLAYERS, 1, 1f / (RandomSource.create().nextFloat() * 0.5f + 1));
return entityarrow;
}
@Override
public Packet<ClientGamePacketListener> getAddEntityPacket() {
return NetworkHooks.getEntitySpawningPacket(this);
}
@Override
@OnlyIn(Dist.CLIENT)
public ItemStack getItem() {
return PROJECTILE_ITEM;
}
@Override
protected ItemStack getPickupItem() {
return PROJECTILE_ITEM;
}
@Override
protected void doPostHurtEffects(LivingEntity entity) {
super.doPostHurtEffects(entity);
entity.setArrowCount(entity.getArrowCount() - 1);
}
@Override
public void onHitBlock(BlockHitResult blockHitResult) {
super.onHitBlock(blockHitResult);
}
@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.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");
}
}
if (entity instanceof LivingEntity livingEntity) {
entity.invulnerableTime = 0;
}
AABB boundingBox = entity.getBoundingBox();
Vec3 startVec = this.position();
Vec3 endVec = startVec.add(this.getDeltaMovement());
Vec3 hitPos = boundingBox.clip(startVec, endVec).orElse(null);
/* Check for headshot */
boolean headshot = false;
if (entity instanceof LivingEntity) {
IHeadshotBox<LivingEntity> headshotBox = (IHeadshotBox<LivingEntity>) BoundingBoxManager.getHeadshotBoxes(entity.getType());
if (headshotBox != null) {
AABB box = headshotBox.getHeadshotBox((LivingEntity) entity);
if (box != null) {
box = box.move(boundingBox.getCenter().x, boundingBox.minY, boundingBox.getCenter().z);
Optional<Vec3> headshotHitPos = box.clip(startVec, endVec);
if (!headshotHitPos.isPresent()) {
box = box.inflate(0.2, 0.2, 0.2);
headshotHitPos = box.clip(startVec, endVec);
}
if (headshotHitPos.isPresent() && (hitPos == null || headshotHitPos.get().distanceTo(hitPos) < 0.55)) {
headshot = true;
}
if (headshot) {
if (this.getOwner() instanceof LivingEntity living) {
setBaseDamage(getBaseDamage() * 2);
double _setval = 25;
living.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
capability.headind = _setval;
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:headshot voice @a ~ ~ ~ 1 1");
}
}
}
}
}
}
super.onHitEntity(result);
this.discard();
}
@Override
public void tick() {
super.tick();
if (this.tickCount > 200) {
this.discard();
}
}
public static BocekarrowEntity shoot(Level world, LivingEntity entity, RandomSource source) {
return shoot(world, entity, source, 1f, 5, 0);
}
public static BocekarrowEntity shoot(Level world, LivingEntity entity, RandomSource random, float power, double damage, int knockback) {
BocekarrowEntity entityarrow = new BocekarrowEntity(TargetModEntities.BOCEKARROW.get(), entity, world);
entityarrow.shoot(entity.getViewVector(1).x, entity.getViewVector(1).y, entity.getViewVector(1).z, power * 2, 0);
entityarrow.setSilent(true);
entityarrow.setCritArrow(false);
entityarrow.setBaseDamage(damage);
entityarrow.setKnockback(knockback);
world.addFreshEntity(entityarrow);
world.playSound(null, entity.getX(), entity.getY(), entity.getZ(), ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("entity.arrow.shoot")), SoundSource.PLAYERS, 1, 1f / (random.nextFloat() * 0.5f + 1) + (power / 2));
return entityarrow;
}
public static BocekarrowEntity shoot(LivingEntity entity, LivingEntity target) {
BocekarrowEntity entityarrow = new BocekarrowEntity(TargetModEntities.BOCEKARROW.get(), entity, entity.level());
double dx = target.getX() - entity.getX();
double dy = target.getY() + target.getEyeHeight() - 1.1;
double dz = target.getZ() - entity.getZ();
entityarrow.shoot(dx, dy - entityarrow.getY() + Math.hypot(dx, dz) * 0.2F, dz, 1f * 2, 12.0F);
entityarrow.setSilent(true);
entityarrow.setBaseDamage(5);
entityarrow.setKnockback(5);
entityarrow.setCritArrow(false);
entity.level().addFreshEntity(entityarrow);
entity.level().playSound(null, entity.getX(), entity.getY(), entity.getZ(), ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("entity.arrow.shoot")), SoundSource.PLAYERS, 1, 1f / (RandomSource.create().nextFloat() * 0.5f + 1));
return entityarrow;
}
}

View file

@ -1,309 +1,292 @@
package net.mcreator.target.entity;
import software.bernie.geckolib.util.GeckoLibUtil;
import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.core.animation.AnimationController;
import software.bernie.geckolib.core.animation.AnimatableManager;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animatable.GeoEntity;
import net.minecraftforge.network.PlayMessages;
import net.minecraftforge.network.NetworkHooks;
import net.minecraft.world.level.Level;
import net.minecraft.world.item.SpawnEggItem;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Item;
import net.minecraft.world.entity.projectile.ThrownPotion;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
import net.minecraft.world.entity.TamableAnimal;
import net.minecraft.world.entity.Pose;
import net.minecraft.world.entity.MobType;
import net.minecraft.world.entity.MobSpawnType;
import net.minecraft.world.entity.Mob;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.EntityDimensions;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.AreaEffectCloud;
import net.minecraft.world.entity.AgeableMob;
import net.minecraft.world.damagesource.DamageTypes;
import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.InteractionHand;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.network.syncher.SynchedEntityData;
import net.minecraft.network.syncher.EntityDataSerializers;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.network.protocol.game.ClientGamePacketListener;
import net.minecraft.network.protocol.Packet;
import net.minecraft.nbt.CompoundTag;
import net.mcreator.target.procedures.ClaymoreYouJiShiTiShiProcedure;
import net.mcreator.target.procedures.ClaymoreDangShiTiSiWangShiProcedure;
import net.mcreator.target.procedures.ClaymoreDangShiTiGengXinKeShiProcedure;
import net.mcreator.target.init.TargetModEntities;
import net.mcreator.target.procedures.ClaymoreDangShiTiGengXinKeShiProcedure;
import net.mcreator.target.procedures.ClaymoreDangShiTiSiWangShiProcedure;
import net.mcreator.target.procedures.ClaymoreYouJiShiTiShiProcedure;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.protocol.Packet;
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.server.level.ServerLevel;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.damagesource.DamageTypes;
import net.minecraft.world.entity.*;
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.projectile.ThrownPotion;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.SpawnEggItem;
import net.minecraft.world.level.Level;
import net.minecraftforge.network.NetworkHooks;
import net.minecraftforge.network.PlayMessages;
import software.bernie.geckolib.animatable.GeoEntity;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.core.animation.AnimatableManager;
import software.bernie.geckolib.core.animation.AnimationController;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.List;
public class ClaymoreEntity extends TamableAnimal implements GeoEntity {
public static final EntityDataAccessor<Boolean> SHOOT = SynchedEntityData.defineId(ClaymoreEntity.class, EntityDataSerializers.BOOLEAN);
public static final EntityDataAccessor<String> ANIMATION = SynchedEntityData.defineId(ClaymoreEntity.class, EntityDataSerializers.STRING);
public static final EntityDataAccessor<String> TEXTURE = SynchedEntityData.defineId(ClaymoreEntity.class, EntityDataSerializers.STRING);
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
private boolean swinging;
private boolean lastloop;
private long lastSwing;
public String animationprocedure = "empty";
public static final EntityDataAccessor<Boolean> SHOOT = SynchedEntityData.defineId(ClaymoreEntity.class, EntityDataSerializers.BOOLEAN);
public static final EntityDataAccessor<String> ANIMATION = SynchedEntityData.defineId(ClaymoreEntity.class, EntityDataSerializers.STRING);
public static final EntityDataAccessor<String> TEXTURE = SynchedEntityData.defineId(ClaymoreEntity.class, EntityDataSerializers.STRING);
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
private boolean swinging;
private boolean lastloop;
private long lastSwing;
public String animationprocedure = "empty";
public ClaymoreEntity(PlayMessages.SpawnEntity packet, Level world) {
this(TargetModEntities.CLAYMORE.get(), world);
}
public ClaymoreEntity(PlayMessages.SpawnEntity packet, Level world) {
this(TargetModEntities.CLAYMORE.get(), world);
}
public ClaymoreEntity(EntityType<ClaymoreEntity> type, Level world) {
super(type, world);
xpReward = 0;
setNoAi(false);
setPersistenceRequired();
}
public ClaymoreEntity(EntityType<ClaymoreEntity> type, Level world) {
super(type, world);
xpReward = 0;
setNoAi(false);
setPersistenceRequired();
}
@Override
protected void defineSynchedData() {
super.defineSynchedData();
this.entityData.define(SHOOT, false);
this.entityData.define(ANIMATION, "undefined");
this.entityData.define(TEXTURE, "claymore");
}
@Override
protected void defineSynchedData() {
super.defineSynchedData();
this.entityData.define(SHOOT, false);
this.entityData.define(ANIMATION, "undefined");
this.entityData.define(TEXTURE, "claymore");
}
public void setTexture(String texture) {
this.entityData.set(TEXTURE, texture);
}
public void setTexture(String texture) {
this.entityData.set(TEXTURE, texture);
}
public String getTexture() {
return this.entityData.get(TEXTURE);
}
public String getTexture() {
return this.entityData.get(TEXTURE);
}
@Override
public Packet<ClientGamePacketListener> getAddEntityPacket() {
return NetworkHooks.getEntitySpawningPacket(this);
}
@Override
public Packet<ClientGamePacketListener> getAddEntityPacket() {
return NetworkHooks.getEntitySpawningPacket(this);
}
@Override
protected void registerGoals() {
super.registerGoals();
@Override
protected void registerGoals() {
super.registerGoals();
}
}
@Override
public MobType getMobType() {
return MobType.UNDEFINED;
}
@Override
public MobType getMobType() {
return MobType.UNDEFINED;
}
@Override
public boolean removeWhenFarAway(double distanceToClosestPlayer) {
return false;
}
@Override
public boolean removeWhenFarAway(double distanceToClosestPlayer) {
return false;
}
@Override
public boolean hurt(DamageSource source, float amount) {
if (source.is(DamageTypes.IN_FIRE))
return false;
if (source.getDirectEntity() instanceof ThrownPotion || source.getDirectEntity() instanceof AreaEffectCloud)
return false;
if (source.is(DamageTypes.FALL))
return false;
if (source.is(DamageTypes.CACTUS))
return false;
if (source.is(DamageTypes.DROWN))
return false;
if (source.is(DamageTypes.LIGHTNING_BOLT))
return false;
if (source.is(DamageTypes.EXPLOSION))
return false;
if (source.is(DamageTypes.DRAGON_BREATH))
return false;
if (source.is(DamageTypes.WITHER))
return false;
if (source.is(DamageTypes.WITHER_SKULL))
return false;
return super.hurt(source, amount);
}
@Override
public boolean hurt(DamageSource source, float amount) {
if (source.is(DamageTypes.IN_FIRE))
return false;
if (source.getDirectEntity() instanceof ThrownPotion || source.getDirectEntity() instanceof AreaEffectCloud)
return false;
if (source.is(DamageTypes.FALL))
return false;
if (source.is(DamageTypes.CACTUS))
return false;
if (source.is(DamageTypes.DROWN))
return false;
if (source.is(DamageTypes.LIGHTNING_BOLT))
return false;
if (source.is(DamageTypes.EXPLOSION))
return false;
if (source.is(DamageTypes.DRAGON_BREATH))
return false;
if (source.is(DamageTypes.WITHER))
return false;
if (source.is(DamageTypes.WITHER_SKULL))
return false;
return super.hurt(source, amount);
}
@Override
public void die(DamageSource source) {
super.die(source);
ClaymoreDangShiTiSiWangShiProcedure.execute(this.level(), this.getX(), this.getY(), this.getZ(), this);
}
@Override
public void die(DamageSource source) {
super.die(source);
ClaymoreDangShiTiSiWangShiProcedure.execute(this.level(), this.getX(), this.getY(), this.getZ(), this);
}
@Override
public void addAdditionalSaveData(CompoundTag compound) {
super.addAdditionalSaveData(compound);
compound.putString("Texture", this.getTexture());
}
@Override
public void addAdditionalSaveData(CompoundTag compound) {
super.addAdditionalSaveData(compound);
compound.putString("Texture", this.getTexture());
}
@Override
public void readAdditionalSaveData(CompoundTag compound) {
super.readAdditionalSaveData(compound);
if (compound.contains("Texture"))
this.setTexture(compound.getString("Texture"));
}
@Override
public void readAdditionalSaveData(CompoundTag compound) {
super.readAdditionalSaveData(compound);
if (compound.contains("Texture"))
this.setTexture(compound.getString("Texture"));
}
@Override
public InteractionResult mobInteract(Player sourceentity, InteractionHand hand) {
ItemStack itemstack = sourceentity.getItemInHand(hand);
InteractionResult retval = InteractionResult.sidedSuccess(this.level().isClientSide());
Item item = itemstack.getItem();
if (itemstack.getItem() instanceof SpawnEggItem) {
retval = super.mobInteract(sourceentity, hand);
} else if (this.level().isClientSide()) {
retval = (this.isTame() && this.isOwnedBy(sourceentity) || this.isFood(itemstack)) ? InteractionResult.sidedSuccess(this.level().isClientSide()) : InteractionResult.PASS;
} else {
if (this.isTame()) {
if (this.isOwnedBy(sourceentity)) {
if (item.isEdible() && this.isFood(itemstack) && this.getHealth() < this.getMaxHealth()) {
this.usePlayerItem(sourceentity, hand, itemstack);
this.heal((float) item.getFoodProperties().getNutrition());
retval = InteractionResult.sidedSuccess(this.level().isClientSide());
} else if (this.isFood(itemstack) && this.getHealth() < this.getMaxHealth()) {
this.usePlayerItem(sourceentity, hand, itemstack);
this.heal(4);
retval = InteractionResult.sidedSuccess(this.level().isClientSide());
} else {
retval = super.mobInteract(sourceentity, hand);
}
}
} else if (this.isFood(itemstack)) {
this.usePlayerItem(sourceentity, hand, itemstack);
if (this.random.nextInt(3) == 0 && !net.minecraftforge.event.ForgeEventFactory.onAnimalTame(this, sourceentity)) {
this.tame(sourceentity);
this.level().broadcastEntityEvent(this, (byte) 7);
} else {
this.level().broadcastEntityEvent(this, (byte) 6);
}
this.setPersistenceRequired();
retval = InteractionResult.sidedSuccess(this.level().isClientSide());
} else {
retval = super.mobInteract(sourceentity, hand);
if (retval == InteractionResult.SUCCESS || retval == InteractionResult.CONSUME)
this.setPersistenceRequired();
}
}
double x = this.getX();
double y = this.getY();
double z = this.getZ();
Entity entity = this;
Level world = this.level();
@Override
public InteractionResult mobInteract(Player sourceentity, InteractionHand hand) {
ItemStack itemstack = sourceentity.getItemInHand(hand);
InteractionResult retval = InteractionResult.sidedSuccess(this.level().isClientSide());
Item item = itemstack.getItem();
if (itemstack.getItem() instanceof SpawnEggItem) {
retval = super.mobInteract(sourceentity, hand);
} else if (this.level().isClientSide()) {
retval = (this.isTame() && this.isOwnedBy(sourceentity) || this.isFood(itemstack)) ? InteractionResult.sidedSuccess(this.level().isClientSide()) : InteractionResult.PASS;
} else {
if (this.isTame()) {
if (this.isOwnedBy(sourceentity)) {
if (item.isEdible() && this.isFood(itemstack) && this.getHealth() < this.getMaxHealth()) {
this.usePlayerItem(sourceentity, hand, itemstack);
this.heal((float) item.getFoodProperties().getNutrition());
retval = InteractionResult.sidedSuccess(this.level().isClientSide());
} else if (this.isFood(itemstack) && this.getHealth() < this.getMaxHealth()) {
this.usePlayerItem(sourceentity, hand, itemstack);
this.heal(4);
retval = InteractionResult.sidedSuccess(this.level().isClientSide());
} else {
retval = super.mobInteract(sourceentity, hand);
}
}
} else if (this.isFood(itemstack)) {
this.usePlayerItem(sourceentity, hand, itemstack);
if (this.random.nextInt(3) == 0 && !net.minecraftforge.event.ForgeEventFactory.onAnimalTame(this, sourceentity)) {
this.tame(sourceentity);
this.level().broadcastEntityEvent(this, (byte) 7);
} else {
this.level().broadcastEntityEvent(this, (byte) 6);
}
this.setPersistenceRequired();
retval = InteractionResult.sidedSuccess(this.level().isClientSide());
} else {
retval = super.mobInteract(sourceentity, hand);
if (retval == InteractionResult.SUCCESS || retval == InteractionResult.CONSUME)
this.setPersistenceRequired();
}
}
Entity entity = this;
ClaymoreYouJiShiTiShiProcedure.execute(entity, sourceentity);
return retval;
}
ClaymoreYouJiShiTiShiProcedure.execute(entity, sourceentity);
return retval;
}
@Override
public void baseTick() {
super.baseTick();
ClaymoreDangShiTiGengXinKeShiProcedure.execute(this.level(), this.getX(), this.getY(), this.getZ(), this);
this.refreshDimensions();
}
@Override
public void baseTick() {
super.baseTick();
ClaymoreDangShiTiGengXinKeShiProcedure.execute(this.level(), this.getX(), this.getY(), this.getZ(), this);
this.refreshDimensions();
}
@Override
public EntityDimensions getDimensions(Pose p_33597_) {
return super.getDimensions(p_33597_).scale((float) 0.5);
}
@Override
public EntityDimensions getDimensions(Pose p_33597_) {
return super.getDimensions(p_33597_).scale((float) 0.5);
}
@Override
public AgeableMob getBreedOffspring(ServerLevel serverWorld, AgeableMob ageable) {
ClaymoreEntity retval = TargetModEntities.CLAYMORE.get().create(serverWorld);
retval.finalizeSpawn(serverWorld, serverWorld.getCurrentDifficultyAt(retval.blockPosition()), MobSpawnType.BREEDING, null, null);
return retval;
}
@Override
public AgeableMob getBreedOffspring(ServerLevel serverWorld, AgeableMob ageable) {
ClaymoreEntity retval = TargetModEntities.CLAYMORE.get().create(serverWorld);
retval.finalizeSpawn(serverWorld, serverWorld.getCurrentDifficultyAt(retval.blockPosition()), MobSpawnType.BREEDING, null, null);
return retval;
}
@Override
public boolean isFood(ItemStack stack) {
return List.of().contains(stack.getItem());
}
@Override
public boolean isFood(ItemStack stack) {
return false;
}
@Override
public boolean isPushable() {
return false;
}
@Override
public boolean isPushable() {
return false;
}
@Override
protected void doPush(Entity entityIn) {
}
@Override
protected void doPush(Entity entityIn) {
}
@Override
protected void pushEntities() {
}
@Override
protected void pushEntities() {
}
@Override
public void aiStep() {
super.aiStep();
this.updateSwingTime();
}
@Override
public void aiStep() {
super.aiStep();
this.updateSwingTime();
}
public static void init() {
}
public static void init() {
}
public static AttributeSupplier.Builder createAttributes() {
AttributeSupplier.Builder builder = Mob.createMobAttributes();
builder = builder.add(Attributes.MOVEMENT_SPEED, 0);
builder = builder.add(Attributes.MAX_HEALTH, 20);
builder = builder.add(Attributes.ARMOR, 0);
builder = builder.add(Attributes.ATTACK_DAMAGE, 0);
builder = builder.add(Attributes.FOLLOW_RANGE, 16);
builder = builder.add(Attributes.KNOCKBACK_RESISTANCE, 1);
return builder;
}
public static AttributeSupplier.Builder createAttributes() {
AttributeSupplier.Builder builder = Mob.createMobAttributes();
builder = builder.add(Attributes.MOVEMENT_SPEED, 0);
builder = builder.add(Attributes.MAX_HEALTH, 20);
builder = builder.add(Attributes.ARMOR, 0);
builder = builder.add(Attributes.ATTACK_DAMAGE, 0);
builder = builder.add(Attributes.FOLLOW_RANGE, 16);
builder = builder.add(Attributes.KNOCKBACK_RESISTANCE, 1);
return builder;
}
private PlayState movementPredicate(AnimationState event) {
if (this.animationprocedure.equals("empty")) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.claymore.idle"));
}
return PlayState.STOP;
}
private PlayState movementPredicate(AnimationState event) {
if (this.animationprocedure.equals("empty")) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.claymore.idle"));
}
return PlayState.STOP;
}
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) {
this.animationprocedure = "empty";
event.getController().forceAnimationReset();
}
} else if (animationprocedure.equals("empty")) {
return PlayState.STOP;
}
return PlayState.CONTINUE;
}
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) {
this.animationprocedure = "empty";
event.getController().forceAnimationReset();
}
} else if (animationprocedure.equals("empty")) {
return PlayState.STOP;
}
return PlayState.CONTINUE;
}
@Override
protected void tickDeath() {
++this.deathTime;
if (this.deathTime == 1) {
this.remove(ClaymoreEntity.RemovalReason.KILLED);
this.dropExperience();
}
}
@Override
protected void tickDeath() {
++this.deathTime;
if (this.deathTime == 1) {
this.remove(ClaymoreEntity.RemovalReason.KILLED);
this.dropExperience();
}
}
public String getSyncedAnimation() {
return this.entityData.get(ANIMATION);
}
public String getSyncedAnimation() {
return this.entityData.get(ANIMATION);
}
public void setAnimation(String animation) {
this.entityData.set(ANIMATION, animation);
}
public void setAnimation(String animation) {
this.entityData.set(ANIMATION, animation);
}
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
data.add(new AnimationController<>(this, "movement", 4, this::movementPredicate));
data.add(new AnimationController<>(this, "procedure", 4, this::procedurePredicate));
}
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
data.add(new AnimationController<>(this, "movement", 4, this::movementPredicate));
data.add(new AnimationController<>(this, "procedure", 4, this::procedurePredicate));
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
}

View file

@ -1,190 +1,180 @@
package net.mcreator.target.entity;
import net.minecraft.commands.CommandSource;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.level.block.*;
import net.minecraft.world.phys.*;
import net.mcreator.target.headshot.BoundingBoxManager;
import net.mcreator.target.headshot.IHeadshotBox;
import net.mcreator.target.init.TargetModEntities;
import net.minecraftforge.network.PlayMessages;
import net.minecraftforge.network.NetworkHooks;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraft.world.level.Level;
import net.minecraft.world.entity.projectile.ItemSupplier;
import net.minecraft.world.entity.projectile.AbstractArrow;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.item.ItemStack;
import net.minecraft.util.RandomSource;
import net.minecraft.network.protocol.game.ClientGamePacketListener;
import net.minecraft.network.protocol.Packet;
import net.mcreator.target.procedures.GunGrenadeDanSheWuJiZhongShiTiShiProcedure;
import net.mcreator.target.procedures.GunGrenadeDanSheWuJiZhongFangKuaiShiProcedure;
import net.mcreator.target.procedures.GunGrenadeDanSheWuFeiXingShiMeiKeFaShengProcedure;
import net.mcreator.target.network.TargetModVariables;
import net.mcreator.target.procedures.GunGrenadeDanSheWuFeiXingShiMeiKeFaShengProcedure;
import net.mcreator.target.procedures.GunGrenadeDanSheWuJiZhongFangKuaiShiProcedure;
import net.mcreator.target.procedures.GunGrenadeDanSheWuJiZhongShiTiShiProcedure;
import net.minecraft.commands.CommandSource;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.network.protocol.Packet;
import net.minecraft.network.protocol.game.ClientGamePacketListener;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.util.RandomSource;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.projectile.AbstractArrow;
import net.minecraft.world.entity.projectile.ItemSupplier;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.EntityHitResult;
import net.minecraft.world.phys.Vec3;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.network.NetworkHooks;
import net.minecraftforge.network.PlayMessages;
import java.util.Optional;
@OnlyIn(value = Dist.CLIENT, _interface = ItemSupplier.class)
public class GunGrenadeEntity extends AbstractArrow implements ItemSupplier {
public static final ItemStack PROJECTILE_ITEM = new ItemStack(Blocks.AIR);
public static final ItemStack PROJECTILE_ITEM = new ItemStack(Blocks.AIR);
public GunGrenadeEntity(PlayMessages.SpawnEntity packet, Level world) {
super(TargetModEntities.GUN_GRENADE.get(), world);
}
public GunGrenadeEntity(EntityType<? extends GunGrenadeEntity> type, Level world) {
super(type, world);
}
public GunGrenadeEntity(EntityType<? extends GunGrenadeEntity> type, double x, double y, double z, Level world) {
super(type, x, y, z, world);
}
public GunGrenadeEntity(EntityType<? extends GunGrenadeEntity> type, LivingEntity entity, Level world) {
super(type, entity, world);
}
@Override
public Packet<ClientGamePacketListener> getAddEntityPacket() {
return NetworkHooks.getEntitySpawningPacket(this);
}
@Override
@OnlyIn(Dist.CLIENT)
public ItemStack getItem() {
return PROJECTILE_ITEM;
}
@Override
protected ItemStack getPickupItem() {
return PROJECTILE_ITEM;
}
@Override
protected void doPostHurtEffects(LivingEntity entity) {
super.doPostHurtEffects(entity);
entity.setArrowCount(entity.getArrowCount() - 1);
}
@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.syncPlayerVariables(living);
});
Entity _ent = living;
if (!_ent.level().isClientSide() && _ent.getServer() != null) {
_ent.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, _ent.position(), _ent.getRotationVector(), _ent.level() instanceof ServerLevel ? (ServerLevel) _ent.level() : null, 4,
_ent.getName().getString(), _ent.getDisplayName(), _ent.level().getServer(), _ent), "playsound target:indication voice @a ~ ~ ~ 1 1");
}
}
GunGrenadeDanSheWuJiZhongShiTiShiProcedure.execute(this.level(), this);
if (entity instanceof LivingEntity livingEntity) {
entity.invulnerableTime = 0;
}
AABB boundingBox = entity.getBoundingBox();
Vec3 startVec = this.position();
Vec3 endVec = startVec.add(this.getDeltaMovement());
Vec3 hitPos = boundingBox.clip(startVec, endVec).orElse(null);
/* Check for headshot */
boolean headshot = false;
if(entity instanceof LivingEntity)
{
IHeadshotBox<LivingEntity> headshotBox = (IHeadshotBox<LivingEntity>) BoundingBoxManager.getHeadshotBoxes(entity.getType());
if(headshotBox != null)
{
AABB box = headshotBox.getHeadshotBox((LivingEntity) entity);
if(box != null)
{
box = box.move(boundingBox.getCenter().x, boundingBox.minY, boundingBox.getCenter().z);
Optional<Vec3> headshotHitPos = box.clip(startVec, endVec);
if(!headshotHitPos.isPresent())
{
box = box.inflate( 0.2, 0.2, 0.2);
headshotHitPos = box.clip(startVec, endVec);
}
if(headshotHitPos.isPresent() && (hitPos == null || headshotHitPos.get().distanceTo(hitPos) < 0.55))
{
hitPos = headshotHitPos.get();
headshot = true;
}
if(headshot){
if(this.getOwner() instanceof LivingEntity living){
setBaseDamage(getBaseDamage() * 2);
double _setval = 25;
living.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
capability.headind = _setval;
capability.syncPlayerVariables(living);
});
Entity _ent = living;
if (!_ent.level().isClientSide() && _ent.getServer() != null) {
_ent.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, _ent.position(), _ent.getRotationVector(), _ent.level() instanceof ServerLevel ? (ServerLevel) _ent.level() : null, 4,
_ent.getName().getString(), _ent.getDisplayName(), _ent.level().getServer(), _ent), "playsound target:headshot voice @a ~ ~ ~ 1 1");
}
}
}
}
}
}
super.onHitEntity(result);
this.discard();
public GunGrenadeEntity(PlayMessages.SpawnEntity packet, Level world) {
super(TargetModEntities.GUN_GRENADE.get(), world);
}
@Override
public void onHitBlock(BlockHitResult blockHitResult) {
super.onHitBlock(blockHitResult);
GunGrenadeDanSheWuJiZhongFangKuaiShiProcedure.execute(this.level(), this);
}
public GunGrenadeEntity(EntityType<? extends GunGrenadeEntity> type, Level world) {
super(type, world);
}
@Override
public void tick() {
super.tick();
GunGrenadeDanSheWuFeiXingShiMeiKeFaShengProcedure.execute(this);
if(this.tickCount>200){
this.discard();
}
}
public GunGrenadeEntity(EntityType<? extends GunGrenadeEntity> type, double x, double y, double z, Level world) {
super(type, x, y, z, world);
}
public static GunGrenadeEntity shoot(Level world, LivingEntity entity, RandomSource source) {
return shoot(world, entity, source, 1f, 5, 5);
}
public GunGrenadeEntity(EntityType<? extends GunGrenadeEntity> type, LivingEntity entity, Level world) {
super(type, entity, world);
}
public static GunGrenadeEntity shoot(Level world, LivingEntity entity, RandomSource random, float power, double damage, int knockback) {
GunGrenadeEntity entityarrow = new GunGrenadeEntity(TargetModEntities.GUN_GRENADE.get(), entity, world);
entityarrow.shoot(entity.getViewVector(1).x, entity.getViewVector(1).y, entity.getViewVector(1).z, power * 2, 0);
entityarrow.setSilent(true);
entityarrow.setCritArrow(false);
entityarrow.setBaseDamage(damage);
entityarrow.setKnockback(knockback);
world.addFreshEntity(entityarrow);
return entityarrow;
}
@Override
public Packet<ClientGamePacketListener> getAddEntityPacket() {
return NetworkHooks.getEntitySpawningPacket(this);
}
public static GunGrenadeEntity shoot(LivingEntity entity, LivingEntity target) {
GunGrenadeEntity entityarrow = new GunGrenadeEntity(TargetModEntities.GUN_GRENADE.get(), entity, entity.level());
double dx = target.getX() - entity.getX();
double dy = target.getY() + target.getEyeHeight() - 1.1;
double dz = target.getZ() - entity.getZ();
entityarrow.shoot(dx, dy - entityarrow.getY() + Math.hypot(dx, dz) * 0.2F, dz, 1f * 2, 12.0F);
entityarrow.setSilent(true);
entityarrow.setBaseDamage(5);
entityarrow.setKnockback(5);
entityarrow.setCritArrow(false);
entity.level().addFreshEntity(entityarrow);
return entityarrow;
}
@Override
@OnlyIn(Dist.CLIENT)
public ItemStack getItem() {
return PROJECTILE_ITEM;
}
@Override
protected ItemStack getPickupItem() {
return PROJECTILE_ITEM;
}
@Override
protected void doPostHurtEffects(LivingEntity entity) {
super.doPostHurtEffects(entity);
entity.setArrowCount(entity.getArrowCount() - 1);
}
@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.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");
}
}
GunGrenadeDanSheWuJiZhongShiTiShiProcedure.execute(this.level(), this);
if (entity instanceof LivingEntity) {
entity.invulnerableTime = 0;
}
AABB boundingBox = entity.getBoundingBox();
Vec3 startVec = this.position();
Vec3 endVec = startVec.add(this.getDeltaMovement());
Vec3 hitPos = boundingBox.clip(startVec, endVec).orElse(null);
/* Check for headshot */
boolean headshot = false;
if (entity instanceof LivingEntity) {
IHeadshotBox<LivingEntity> headshotBox = (IHeadshotBox<LivingEntity>) BoundingBoxManager.getHeadshotBoxes(entity.getType());
if (headshotBox != null) {
AABB box = headshotBox.getHeadshotBox((LivingEntity) entity);
if (box != null) {
box = box.move(boundingBox.getCenter().x, boundingBox.minY, boundingBox.getCenter().z);
Optional<Vec3> headshotHitPos = box.clip(startVec, endVec);
if (!headshotHitPos.isPresent()) {
box = box.inflate(0.2, 0.2, 0.2);
headshotHitPos = box.clip(startVec, endVec);
}
if (headshotHitPos.isPresent() && (hitPos == null || headshotHitPos.get().distanceTo(hitPos) < 0.55)) {
headshot = true;
}
if (headshot) {
if (this.getOwner() instanceof LivingEntity living) {
setBaseDamage(getBaseDamage() * 2);
double _setval = 25;
living.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
capability.headind = _setval;
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:headshot voice @a ~ ~ ~ 1 1");
}
}
}
}
}
}
super.onHitEntity(result);
this.discard();
}
@Override
public void onHitBlock(BlockHitResult blockHitResult) {
super.onHitBlock(blockHitResult);
GunGrenadeDanSheWuJiZhongFangKuaiShiProcedure.execute(this.level(), this);
}
@Override
public void tick() {
super.tick();
GunGrenadeDanSheWuFeiXingShiMeiKeFaShengProcedure.execute(this);
if (this.tickCount > 200) {
this.discard();
}
}
public static GunGrenadeEntity shoot(Level world, LivingEntity entity, RandomSource source) {
return shoot(world, entity, source, 1f, 5, 5);
}
public static GunGrenadeEntity shoot(Level world, LivingEntity entity, RandomSource random, float power, double damage, int knockback) {
GunGrenadeEntity entityarrow = new GunGrenadeEntity(TargetModEntities.GUN_GRENADE.get(), entity, world);
entityarrow.shoot(entity.getViewVector(1).x, entity.getViewVector(1).y, entity.getViewVector(1).z, power * 2, 0);
entityarrow.setSilent(true);
entityarrow.setCritArrow(false);
entityarrow.setBaseDamage(damage);
entityarrow.setKnockback(knockback);
world.addFreshEntity(entityarrow);
return entityarrow;
}
public static GunGrenadeEntity shoot(LivingEntity entity, LivingEntity target) {
GunGrenadeEntity entityarrow = new GunGrenadeEntity(TargetModEntities.GUN_GRENADE.get(), entity, entity.level());
double dx = target.getX() - entity.getX();
double dy = target.getY() + target.getEyeHeight() - 1.1;
double dz = target.getZ() - entity.getZ();
entityarrow.shoot(dx, dy - entityarrow.getY() + Math.hypot(dx, dz) * 0.2F, dz, 1f * 2, 12.0F);
entityarrow.setSilent(true);
entityarrow.setBaseDamage(5);
entityarrow.setKnockback(5);
entityarrow.setCritArrow(false);
entity.level().addFreshEntity(entityarrow);
return entityarrow;
}
}

View file

@ -1,277 +1,264 @@
package net.mcreator.target.entity;
import software.bernie.geckolib.util.GeckoLibUtil;
import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.core.animation.AnimationController;
import software.bernie.geckolib.core.animation.AnimatableManager;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animatable.GeoEntity;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.network.PlayMessages;
import net.minecraftforge.network.NetworkHooks;
import net.minecraft.world.level.ServerLevelAccessor;
import net.minecraft.world.level.Level;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.entity.projectile.ThrownPotion;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
import net.minecraft.world.entity.SpawnGroupData;
import net.minecraft.world.entity.Pose;
import net.minecraft.world.entity.PathfinderMob;
import net.minecraft.world.entity.MobType;
import net.minecraft.world.entity.MobSpawnType;
import net.minecraft.world.entity.Mob;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.EntityDimensions;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.AreaEffectCloud;
import net.minecraft.world.damagesource.DamageTypes;
import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.DifficultyInstance;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.network.syncher.SynchedEntityData;
import net.minecraft.network.syncher.EntityDataSerializers;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.network.protocol.game.ClientGamePacketListener;
import net.minecraft.network.protocol.Packet;
import net.minecraft.nbt.CompoundTag;
import net.mcreator.target.procedures.MortarYouJiShiTiShiProcedure;
import net.mcreator.target.procedures.MortarShiTiChuShiShengChengShiProcedure;
import net.mcreator.target.procedures.MortarDangXiaoShiShiJianDaoShiProcedure;
import net.mcreator.target.init.TargetModEntities;
import net.mcreator.target.procedures.MortarDangXiaoShiShiJianDaoShiProcedure;
import net.mcreator.target.procedures.MortarShiTiChuShiShengChengShiProcedure;
import net.mcreator.target.procedures.MortarYouJiShiTiShiProcedure;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.protocol.Packet;
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.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.DifficultyInstance;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.damagesource.DamageTypes;
import net.minecraft.world.entity.*;
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.projectile.ThrownPotion;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.ServerLevelAccessor;
import net.minecraftforge.network.NetworkHooks;
import net.minecraftforge.network.PlayMessages;
import net.minecraftforge.registries.ForgeRegistries;
import software.bernie.geckolib.animatable.GeoEntity;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.core.animation.AnimatableManager;
import software.bernie.geckolib.core.animation.AnimationController;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.util.GeckoLibUtil;
import javax.annotation.Nullable;
public class MortarEntity extends PathfinderMob implements GeoEntity {
public static final EntityDataAccessor<Boolean> SHOOT = SynchedEntityData.defineId(MortarEntity.class, EntityDataSerializers.BOOLEAN);
public static final EntityDataAccessor<String> ANIMATION = SynchedEntityData.defineId(MortarEntity.class, EntityDataSerializers.STRING);
public static final EntityDataAccessor<String> TEXTURE = SynchedEntityData.defineId(MortarEntity.class, EntityDataSerializers.STRING);
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
private boolean swinging;
private boolean lastloop;
private long lastSwing;
public String animationprocedure = "empty";
public static final EntityDataAccessor<Boolean> SHOOT = SynchedEntityData.defineId(MortarEntity.class, EntityDataSerializers.BOOLEAN);
public static final EntityDataAccessor<String> ANIMATION = SynchedEntityData.defineId(MortarEntity.class, EntityDataSerializers.STRING);
public static final EntityDataAccessor<String> TEXTURE = SynchedEntityData.defineId(MortarEntity.class, EntityDataSerializers.STRING);
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
private boolean swinging;
private boolean lastloop;
private long lastSwing;
public String animationprocedure = "empty";
public MortarEntity(PlayMessages.SpawnEntity packet, Level world) {
this(TargetModEntities.MORTAR.get(), world);
}
public MortarEntity(PlayMessages.SpawnEntity packet, Level world) {
this(TargetModEntities.MORTAR.get(), world);
}
public MortarEntity(EntityType<MortarEntity> type, Level world) {
super(type, world);
xpReward = 0;
setNoAi(true);
setPersistenceRequired();
}
public MortarEntity(EntityType<MortarEntity> type, Level world) {
super(type, world);
xpReward = 0;
setNoAi(true);
setPersistenceRequired();
}
@Override
protected void defineSynchedData() {
super.defineSynchedData();
this.entityData.define(SHOOT, false);
this.entityData.define(ANIMATION, "undefined");
this.entityData.define(TEXTURE, "mortar");
}
@Override
protected void defineSynchedData() {
super.defineSynchedData();
this.entityData.define(SHOOT, false);
this.entityData.define(ANIMATION, "undefined");
this.entityData.define(TEXTURE, "mortar");
}
public void setTexture(String texture) {
this.entityData.set(TEXTURE, texture);
}
public void setTexture(String texture) {
this.entityData.set(TEXTURE, texture);
}
public String getTexture() {
return this.entityData.get(TEXTURE);
}
public String getTexture() {
return this.entityData.get(TEXTURE);
}
@Override
protected float getStandingEyeHeight(Pose poseIn, EntityDimensions sizeIn) {
return 0.2F;
}
@Override
protected float getStandingEyeHeight(Pose poseIn, EntityDimensions sizeIn) {
return 0.2F;
}
@Override
public Packet<ClientGamePacketListener> getAddEntityPacket() {
return NetworkHooks.getEntitySpawningPacket(this);
}
@Override
public Packet<ClientGamePacketListener> getAddEntityPacket() {
return NetworkHooks.getEntitySpawningPacket(this);
}
@Override
public MobType getMobType() {
return MobType.UNDEFINED;
}
@Override
public MobType getMobType() {
return MobType.UNDEFINED;
}
@Override
public boolean removeWhenFarAway(double distanceToClosestPlayer) {
return false;
}
@Override
public boolean removeWhenFarAway(double distanceToClosestPlayer) {
return false;
}
@Override
public SoundEvent getHurtSound(DamageSource ds) {
return ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("target:hit"));
}
@Override
public SoundEvent getHurtSound(DamageSource ds) {
return ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("target:hit"));
}
@Override
public SoundEvent getDeathSound() {
return ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("target:hit"));
}
@Override
public SoundEvent getDeathSound() {
return ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("target:hit"));
}
@Override
public boolean hurt(DamageSource source, float amount) {
if (source.is(DamageTypes.IN_FIRE))
return false;
if (source.getDirectEntity() instanceof ThrownPotion || source.getDirectEntity() instanceof AreaEffectCloud)
return false;
if (source.is(DamageTypes.FALL))
return false;
if (source.is(DamageTypes.CACTUS))
return false;
if (source.is(DamageTypes.DROWN))
return false;
if (source.is(DamageTypes.LIGHTNING_BOLT))
return false;
if (source.is(DamageTypes.FALLING_ANVIL))
return false;
if (source.is(DamageTypes.DRAGON_BREATH))
return false;
if (source.is(DamageTypes.WITHER))
return false;
if (source.is(DamageTypes.WITHER_SKULL))
return false;
return super.hurt(source, amount);
}
@Override
public boolean hurt(DamageSource source, float amount) {
if (source.is(DamageTypes.IN_FIRE))
return false;
if (source.getDirectEntity() instanceof ThrownPotion || source.getDirectEntity() instanceof AreaEffectCloud)
return false;
if (source.is(DamageTypes.FALL))
return false;
if (source.is(DamageTypes.CACTUS))
return false;
if (source.is(DamageTypes.DROWN))
return false;
if (source.is(DamageTypes.LIGHTNING_BOLT))
return false;
if (source.is(DamageTypes.FALLING_ANVIL))
return false;
if (source.is(DamageTypes.DRAGON_BREATH))
return false;
if (source.is(DamageTypes.WITHER))
return false;
if (source.is(DamageTypes.WITHER_SKULL))
return false;
return super.hurt(source, amount);
}
@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);
MortarShiTiChuShiShengChengShiProcedure.execute(this);
return retval;
}
@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);
MortarShiTiChuShiShengChengShiProcedure.execute(this);
return retval;
}
@Override
public void addAdditionalSaveData(CompoundTag compound) {
super.addAdditionalSaveData(compound);
compound.putString("Texture", this.getTexture());
}
@Override
public void addAdditionalSaveData(CompoundTag compound) {
super.addAdditionalSaveData(compound);
compound.putString("Texture", this.getTexture());
}
@Override
public void readAdditionalSaveData(CompoundTag compound) {
super.readAdditionalSaveData(compound);
if (compound.contains("Texture"))
this.setTexture(compound.getString("Texture"));
}
@Override
public void readAdditionalSaveData(CompoundTag compound) {
super.readAdditionalSaveData(compound);
if (compound.contains("Texture"))
this.setTexture(compound.getString("Texture"));
}
@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();
@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();
MortarYouJiShiTiShiProcedure.execute(world, x, y, z, entity, sourceentity);
return retval;
}
MortarYouJiShiTiShiProcedure.execute(world, x, y, z, entity, sourceentity);
return retval;
}
@Override
public void baseTick() {
super.baseTick();
this.refreshDimensions();
}
@Override
public void baseTick() {
super.baseTick();
this.refreshDimensions();
}
@Override
public EntityDimensions getDimensions(Pose p_33597_) {
return super.getDimensions(p_33597_).scale((float) 1);
}
@Override
public EntityDimensions getDimensions(Pose p_33597_) {
return super.getDimensions(p_33597_).scale((float) 1);
}
@Override
public boolean isPushable() {
return false;
}
@Override
public boolean isPushable() {
return false;
}
@Override
protected void doPush(Entity entityIn) {
}
@Override
protected void doPush(Entity entityIn) {
}
@Override
protected void pushEntities() {
}
@Override
protected void pushEntities() {
}
@Override
public void aiStep() {
super.aiStep();
this.updateSwingTime();
}
@Override
public void aiStep() {
super.aiStep();
this.updateSwingTime();
}
public static void init() {
}
public static void init() {
}
public static AttributeSupplier.Builder createAttributes() {
AttributeSupplier.Builder builder = Mob.createMobAttributes();
builder = builder.add(Attributes.MOVEMENT_SPEED, 0);
builder = builder.add(Attributes.MAX_HEALTH, 10);
builder = builder.add(Attributes.ARMOR, 0);
builder = builder.add(Attributes.ATTACK_DAMAGE, 0);
builder = builder.add(Attributes.FOLLOW_RANGE, 16);
builder = builder.add(Attributes.KNOCKBACK_RESISTANCE, 1);
return builder;
}
public static AttributeSupplier.Builder createAttributes() {
AttributeSupplier.Builder builder = Mob.createMobAttributes();
builder = builder.add(Attributes.MOVEMENT_SPEED, 0);
builder = builder.add(Attributes.MAX_HEALTH, 10);
builder = builder.add(Attributes.ARMOR, 0);
builder = builder.add(Attributes.ATTACK_DAMAGE, 0);
builder = builder.add(Attributes.FOLLOW_RANGE, 16);
builder = builder.add(Attributes.KNOCKBACK_RESISTANCE, 1);
return builder;
}
private PlayState movementPredicate(AnimationState event) {
if (this.animationprocedure.equals("empty")) {
if (this.isShiftKeyDown()) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.mortar.fire"));
}
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.mortar.idle"));
}
return PlayState.STOP;
}
private PlayState movementPredicate(AnimationState event) {
if (this.animationprocedure.equals("empty")) {
if (this.isShiftKeyDown()) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.mortar.fire"));
}
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.mortar.idle"));
}
return PlayState.STOP;
}
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) {
this.animationprocedure = "empty";
event.getController().forceAnimationReset();
}
} else if (animationprocedure.equals("empty")) {
return PlayState.STOP;
}
return PlayState.CONTINUE;
}
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) {
this.animationprocedure = "empty";
event.getController().forceAnimationReset();
}
} else if (animationprocedure.equals("empty")) {
return PlayState.STOP;
}
return PlayState.CONTINUE;
}
@Override
protected void tickDeath() {
++this.deathTime;
if (this.deathTime == 5) {
this.remove(MortarEntity.RemovalReason.KILLED);
this.dropExperience();
MortarDangXiaoShiShiJianDaoShiProcedure.execute(this.level(), this.getX(), this.getY(), this.getZ());
}
}
@Override
protected void tickDeath() {
++this.deathTime;
if (this.deathTime == 5) {
this.remove(MortarEntity.RemovalReason.KILLED);
this.dropExperience();
MortarDangXiaoShiShiJianDaoShiProcedure.execute(this.level(), this.getX(), this.getY(), this.getZ());
}
}
public String getSyncedAnimation() {
return this.entityData.get(ANIMATION);
}
public String getSyncedAnimation() {
return this.entityData.get(ANIMATION);
}
public void setAnimation(String animation) {
this.entityData.set(ANIMATION, animation);
}
public void setAnimation(String animation) {
this.entityData.set(ANIMATION, animation);
}
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
data.add(new AnimationController<>(this, "movement", 0, this::movementPredicate));
data.add(new AnimationController<>(this, "procedure", 0, this::procedurePredicate));
}
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
data.add(new AnimationController<>(this, "movement", 0, this::movementPredicate));
data.add(new AnimationController<>(this, "procedure", 0, this::procedurePredicate));
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
}

View file

@ -1,121 +1,118 @@
package net.mcreator.target.entity;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.network.PlayMessages;
import net.minecraftforge.network.NetworkHooks;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraft.world.phys.EntityHitResult;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.Level;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.entity.projectile.ItemSupplier;
import net.minecraft.world.entity.projectile.AbstractArrow;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.EntityType;
import net.minecraft.util.RandomSource;
import net.minecraft.sounds.SoundSource;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.network.protocol.game.ClientGamePacketListener;
import net.minecraft.network.protocol.Packet;
import net.mcreator.target.procedures.MortarShellDanSheWuJiZhongShiTiShiProcedure;
import net.mcreator.target.procedures.MortarShellDanSheWuFeiXingShiMeiKeFaShengProcedure;
import net.mcreator.target.init.TargetModEntities;
import net.mcreator.target.procedures.MortarShellDanSheWuFeiXingShiMeiKeFaShengProcedure;
import net.mcreator.target.procedures.MortarShellDanSheWuJiZhongShiTiShiProcedure;
import net.minecraft.network.protocol.Packet;
import net.minecraft.network.protocol.game.ClientGamePacketListener;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundSource;
import net.minecraft.util.RandomSource;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.projectile.AbstractArrow;
import net.minecraft.world.entity.projectile.ItemSupplier;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.EntityHitResult;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.network.NetworkHooks;
import net.minecraftforge.network.PlayMessages;
import net.minecraftforge.registries.ForgeRegistries;
@OnlyIn(value = Dist.CLIENT, _interface = ItemSupplier.class)
public class MortarShellEntity extends AbstractArrow implements ItemSupplier {
public static final ItemStack PROJECTILE_ITEM = new ItemStack(Blocks.AIR);
public static final ItemStack PROJECTILE_ITEM = new ItemStack(Blocks.AIR);
public MortarShellEntity(PlayMessages.SpawnEntity packet, Level world) {
super(TargetModEntities.MORTAR_SHELL.get(), world);
}
public MortarShellEntity(EntityType<? extends MortarShellEntity> type, Level world) {
super(type, world);
}
public MortarShellEntity(EntityType<? extends MortarShellEntity> type, double x, double y, double z, Level world) {
super(type, x, y, z, world);
}
public MortarShellEntity(EntityType<? extends MortarShellEntity> type, LivingEntity entity, Level world) {
super(type, entity, world);
}
@Override
public Packet<ClientGamePacketListener> getAddEntityPacket() {
return NetworkHooks.getEntitySpawningPacket(this);
}
@Override
@OnlyIn(Dist.CLIENT)
public ItemStack getItem() {
return PROJECTILE_ITEM;
}
@Override
protected ItemStack getPickupItem() {
return PROJECTILE_ITEM;
}
@Override
protected void doPostHurtEffects(LivingEntity entity) {
super.doPostHurtEffects(entity);
entity.setArrowCount(entity.getArrowCount() - 1);
}
@Override
public void onHitEntity(EntityHitResult entityHitResult) {
super.onHitEntity(entityHitResult);
MortarShellDanSheWuJiZhongShiTiShiProcedure.execute(this.level(), this);
public MortarShellEntity(PlayMessages.SpawnEntity packet, Level world) {
super(TargetModEntities.MORTAR_SHELL.get(), world);
}
@Override
public void onHitBlock(BlockHitResult blockHitResult) {
super.onHitBlock(blockHitResult);
MortarShellDanSheWuJiZhongShiTiShiProcedure.execute(this.level(), this);
}
public MortarShellEntity(EntityType<? extends MortarShellEntity> type, Level world) {
super(type, world);
}
@Override
public void tick() {
super.tick();
MortarShellDanSheWuFeiXingShiMeiKeFaShengProcedure.execute(this);
if (this.inGround)
this.discard();
}
public MortarShellEntity(EntityType<? extends MortarShellEntity> type, double x, double y, double z, Level world) {
super(type, x, y, z, world);
}
public static MortarShellEntity shoot(Level world, LivingEntity entity, RandomSource source) {
return shoot(world, entity, source, 1f, 5, 5);
}
public MortarShellEntity(EntityType<? extends MortarShellEntity> type, LivingEntity entity, Level world) {
super(type, entity, world);
}
public static MortarShellEntity shoot(Level world, LivingEntity entity, RandomSource random, float power, double damage, int knockback) {
MortarShellEntity entityarrow = new MortarShellEntity(TargetModEntities.MORTAR_SHELL.get(), entity, world);
entityarrow.shoot(entity.getViewVector(1).x, entity.getViewVector(1).y, entity.getViewVector(1).z, power * 2, 0);
entityarrow.setSilent(true);
entityarrow.setCritArrow(false);
entityarrow.setBaseDamage(damage);
entityarrow.setKnockback(knockback);
world.addFreshEntity(entityarrow);
world.playSound(null, entity.getX(), entity.getY(), entity.getZ(), ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("entity.arrow.shoot")), SoundSource.PLAYERS, 1, 1f / (random.nextFloat() * 0.5f + 1) + (power / 2));
return entityarrow;
}
@Override
public Packet<ClientGamePacketListener> getAddEntityPacket() {
return NetworkHooks.getEntitySpawningPacket(this);
}
public static MortarShellEntity shoot(LivingEntity entity, LivingEntity target) {
MortarShellEntity entityarrow = new MortarShellEntity(TargetModEntities.MORTAR_SHELL.get(), entity, entity.level());
double dx = target.getX() - entity.getX();
double dy = target.getY() + target.getEyeHeight() - 1.1;
double dz = target.getZ() - entity.getZ();
entityarrow.shoot(dx, dy - entityarrow.getY() + Math.hypot(dx, dz) * 0.2F, dz, 1f * 2, 12.0F);
entityarrow.setSilent(true);
entityarrow.setBaseDamage(5);
entityarrow.setKnockback(5);
entityarrow.setCritArrow(false);
entity.level().addFreshEntity(entityarrow);
entity.level().playSound(null, entity.getX(), entity.getY(), entity.getZ(), ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("entity.arrow.shoot")), SoundSource.PLAYERS, 1, 1f / (RandomSource.create().nextFloat() * 0.5f + 1));
return entityarrow;
}
@Override
@OnlyIn(Dist.CLIENT)
public ItemStack getItem() {
return PROJECTILE_ITEM;
}
@Override
protected ItemStack getPickupItem() {
return PROJECTILE_ITEM;
}
@Override
protected void doPostHurtEffects(LivingEntity entity) {
super.doPostHurtEffects(entity);
entity.setArrowCount(entity.getArrowCount() - 1);
}
@Override
public void onHitEntity(EntityHitResult entityHitResult) {
super.onHitEntity(entityHitResult);
MortarShellDanSheWuJiZhongShiTiShiProcedure.execute(this.level(), this);
}
@Override
public void onHitBlock(BlockHitResult blockHitResult) {
super.onHitBlock(blockHitResult);
MortarShellDanSheWuJiZhongShiTiShiProcedure.execute(this.level(), this);
}
@Override
public void tick() {
super.tick();
MortarShellDanSheWuFeiXingShiMeiKeFaShengProcedure.execute(this);
if (this.inGround)
this.discard();
}
public static MortarShellEntity shoot(Level world, LivingEntity entity, RandomSource source) {
return shoot(world, entity, source, 1f, 5, 5);
}
public static MortarShellEntity shoot(Level world, LivingEntity entity, RandomSource random, float power, double damage, int knockback) {
MortarShellEntity entityarrow = new MortarShellEntity(TargetModEntities.MORTAR_SHELL.get(), entity, world);
entityarrow.shoot(entity.getViewVector(1).x, entity.getViewVector(1).y, entity.getViewVector(1).z, power * 2, 0);
entityarrow.setSilent(true);
entityarrow.setCritArrow(false);
entityarrow.setBaseDamage(damage);
entityarrow.setKnockback(knockback);
world.addFreshEntity(entityarrow);
world.playSound(null, entity.getX(), entity.getY(), entity.getZ(), ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("entity.arrow.shoot")), SoundSource.PLAYERS, 1, 1f / (random.nextFloat() * 0.5f + 1) + (power / 2));
return entityarrow;
}
public static MortarShellEntity shoot(LivingEntity entity, LivingEntity target) {
MortarShellEntity entityarrow = new MortarShellEntity(TargetModEntities.MORTAR_SHELL.get(), entity, entity.level());
double dx = target.getX() - entity.getX();
double dy = target.getY() + target.getEyeHeight() - 1.1;
double dz = target.getZ() - entity.getZ();
entityarrow.shoot(dx, dy - entityarrow.getY() + Math.hypot(dx, dz) * 0.2F, dz, 1f * 2, 12.0F);
entityarrow.setSilent(true);
entityarrow.setBaseDamage(5);
entityarrow.setKnockback(5);
entityarrow.setCritArrow(false);
entity.level().addFreshEntity(entityarrow);
entity.level().playSound(null, entity.getX(), entity.getY(), entity.getZ(), ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("entity.arrow.shoot")), SoundSource.PLAYERS, 1, 1f / (RandomSource.create().nextFloat() * 0.5f + 1));
return entityarrow;
}
}

View file

@ -1,45 +1,36 @@
package net.mcreator.target.entity;
import net.minecraft.advancements.CriteriaTriggers;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.stats.Stats;
import net.minecraft.util.Mth;
import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.item.enchantment.EnchantmentHelper;
import net.minecraft.world.level.ClipContext;
import net.minecraft.world.level.block.*;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.material.FluidState;
import net.minecraft.world.phys.EntityHitResult;
import net.minecraft.world.level.Level;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.projectile.ThrowableItemProjectile;
import net.minecraft.world.item.Item;
import net.minecraft.world.phys.*;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.commands.CommandSource;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.entity.player.Player;
import net.mcreator.target.headshot.BoundingBoxManager;
import net.mcreator.target.headshot.IHeadshotBox;
import net.mcreator.target.init.TargetCustomModEntities;
import net.mcreator.target.init.TargetModItems;
import net.mcreator.target.procedures.ProjectileHitEntity;
import net.mcreator.target.procedures.ProjectileHeadshotEntity;
import net.minecraft.world.phys.shapes.VoxelShape;
import net.minecraftforge.common.MinecraftForge;
import net.mcreator.target.procedures.ProjectileHitEntity;
import net.mcreator.target.util.math.ExtendedEntityRayTraceResult;
import net.minecraft.commands.CommandSource;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.network.chat.Component;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.util.Mth;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.projectile.ThrowableItemProjectile;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.ClipContext;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.LeavesBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.material.FluidState;
import net.minecraft.world.phys.*;
import net.minecraft.world.phys.shapes.VoxelShape;
import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.function.BiFunction;
@ -73,25 +64,27 @@ public class ProjectileEntity extends ThrowableItemProjectile {
super(TargetCustomModEntities.PROJECTILE.get(), p_i1775_2_, p_i1775_4_, p_i1775_6_, p_i1775_1_);
}
@Override
protected void onHitEntity(EntityHitResult result) {
super.onHitEntity(result);
}
@Nullable
protected EntityResult findEntityOnPath(Vec3 startVec, Vec3 endVec)
{
protected EntityResult findEntityOnPath(Vec3 startVec, Vec3 endVec) {
Vec3 hitVec = null;
Entity hitEntity = null;
boolean headshot = false;
List<Entity> entities = this.level().getEntities(this, this.getBoundingBox().expandTowards(this.getDeltaMovement()).inflate(1.0), PROJECTILE_TARGETS);
double closestDistance = Double.MAX_VALUE;
for(Entity entity : entities)
{
if(!entity.equals(this.shooter))
{
for (Entity entity : entities) {
if (!entity.equals(this.shooter)) {
EntityResult result = this.getHitResult(entity, startVec, endVec);
if(result == null)
if (result == null)
continue;
Vec3 hitPos = result.getHitPos();
double distanceToHit = startVec.distanceTo(hitPos);
if(distanceToHit < closestDistance)
{
if (distanceToHit < closestDistance) {
hitVec = hitPos;
hitEntity = entity;
closestDistance = distanceToHit;
@ -103,16 +96,13 @@ public class ProjectileEntity extends ThrowableItemProjectile {
}
@Nullable
protected List<EntityResult> findEntitiesOnPath(Vec3 startVec, Vec3 endVec)
{
protected List<EntityResult> findEntitiesOnPath(Vec3 startVec, Vec3 endVec) {
List<EntityResult> hitEntities = new ArrayList<>();
List<Entity> entities = this.level().getEntities(this, this.getBoundingBox().expandTowards(this.getDeltaMovement()).inflate(1.0), PROJECTILE_TARGETS);
for(Entity entity : entities)
{
if(!entity.equals(this.shooter))
{
for (Entity entity : entities) {
if (!entity.equals(this.shooter)) {
EntityResult result = this.getHitResult(entity, startVec, endVec);
if(result == null)
if (result == null)
continue;
hitEntities.add(result);
}
@ -122,12 +112,12 @@ public class ProjectileEntity extends ThrowableItemProjectile {
@Nullable
@SuppressWarnings("unchecked")
private EntityResult getHitResult(Entity entity, Vec3 startVec, Vec3 endVec)
{
private EntityResult getHitResult(Entity entity, Vec3 startVec, Vec3 endVec) {
double expandHeight = entity instanceof Player && !entity.isCrouching() ? 0.0625 : 0.0;
AABB boundingBox = entity.getBoundingBox();
if(entity instanceof ServerPlayer && this.shooter != null)
{
// 延迟补偿
if (entity instanceof ServerPlayer && this.shooter != null) {
int ping = (int) Math.floor((((ServerPlayer) this.shooter).latency / 1000.0) * 20.0 + 3.5);
boundingBox = BoundingBoxManager.getBoundingBox((Player) entity, ping);
}
@ -135,11 +125,9 @@ public class ProjectileEntity extends ThrowableItemProjectile {
Vec3 hitPos = boundingBox.clip(startVec, endVec).orElse(null);
Vec3 grownHitPos = boundingBox.inflate(0.2, 0, 0.2).clip(startVec, endVec).orElse(null);
if(hitPos == null && grownHitPos != null)
{
HitResult raytraceresult = rayTraceBlocks(this.level(), new ClipContext(startVec, grownHitPos, ClipContext.Block.COLLIDER, ClipContext.Fluid.NONE, this), IGNORE_LEAVES);
if(raytraceresult.getType() == HitResult.Type.BLOCK)
{
if (hitPos == null && grownHitPos != null) {
HitResult result = rayTraceBlocks(this.level(), new ClipContext(startVec, grownHitPos, ClipContext.Block.COLLIDER, ClipContext.Fluid.NONE, this), IGNORE_LEAVES);
if (result.getType() == HitResult.Type.BLOCK) {
return null;
}
hitPos = grownHitPos;
@ -147,23 +135,18 @@ public class ProjectileEntity extends ThrowableItemProjectile {
/* Check for headshot */
boolean headshot = false;
if(entity instanceof LivingEntity)
{
if (entity instanceof LivingEntity) {
IHeadshotBox<LivingEntity> headshotBox = (IHeadshotBox<LivingEntity>) BoundingBoxManager.getHeadshotBoxes(entity.getType());
if(headshotBox != null)
{
if (headshotBox != null) {
AABB box = headshotBox.getHeadshotBox((LivingEntity) entity);
if(box != null)
{
if (box != null) {
box = box.move(boundingBox.getCenter().x, boundingBox.minY, boundingBox.getCenter().z);
Optional<Vec3> headshotHitPos = box.clip(startVec, endVec);
if(!headshotHitPos.isPresent())
{
if (!headshotHitPos.isPresent()) {
box = box.inflate(0.2, 0.2, 0.2);
headshotHitPos = box.clip(startVec, endVec);
}
if(headshotHitPos.isPresent() && (hitPos == null || headshotHitPos.get().distanceTo(hitPos) < 0.55))
{
if (headshotHitPos.isPresent() && (hitPos == null || headshotHitPos.get().distanceTo(hitPos) < 0.55)) {
hitPos = headshotHitPos.get();
headshot = true;
}
@ -171,8 +154,7 @@ public class ProjectileEntity extends ThrowableItemProjectile {
}
}
if(hitPos == null)
{
if (hitPos == null) {
return null;
}
@ -180,70 +162,42 @@ public class ProjectileEntity extends ThrowableItemProjectile {
}
@Override
public void tick()
{
public void tick() {
super.tick();
this.updateHeading();
this.onProjectileTick();
if(!this.level().isClientSide())
{
if (!this.level().isClientSide()) {
Vec3 startVec = this.position();
Vec3 endVec = startVec.add(this.getDeltaMovement());
HitResult result = rayTraceBlocks(this.level(), new ClipContext(startVec, endVec, ClipContext.Block.COLLIDER, ClipContext.Fluid.NONE, this), IGNORE_LEAVES);
if(result.getType() != HitResult.Type.MISS)
{
if (result.getType() != HitResult.Type.MISS) {
endVec = result.getLocation();
}
List<EntityResult> hitEntities = null;
int level = 0;
if(level == 0)
{
EntityResult entityResult = this.findEntityOnPath(startVec, endVec);
if(entityResult != null)
{
hitEntities = Collections.singletonList(entityResult);
}
}
else
{
hitEntities = this.findEntitiesOnPath(startVec, endVec);
}
EntityResult entityResult = this.findEntityOnPath(startVec, endVec);
if(hitEntities != null && hitEntities.size() > 0)
{
for(EntityResult entityResult : hitEntities)
{
result = new ExtendedEntityRayTraceResult(entityResult);
if(((EntityHitResult) result).getEntity() instanceof Player)
{
Player player = (Player) ((EntityHitResult) result).getEntity();
if(this.shooter instanceof Player && !((Player) this.shooter).canHarmPlayer(player))
{
result = null;
}
}
if(result != null)
{
this.onHit(result, startVec, endVec);
if (entityResult != null) {
result = new ExtendedEntityRayTraceResult(entityResult);
if (((EntityHitResult) result).getEntity() instanceof Player player) {
if (this.shooter instanceof Player && !((Player) this.shooter).canHarmPlayer(player)) {
result = null;
}
}
}
else
{
if (result != null) {
this.onHit(result, startVec, endVec);
}
} else {
this.onHit(result, startVec, endVec);
}
}
if(this.tickCount>200){
if (this.tickCount > 200) {
this.discard();
}
}
protected void onProjectileTick()
{
protected void onProjectileTick() {
}
@Override
@ -264,40 +218,29 @@ public class ProjectileEntity extends ThrowableItemProjectile {
this.discard();
}
private void onHit(HitResult result, Vec3 startVec, Vec3 endVec)
{
if(result instanceof ExtendedEntityRayTraceResult entityHitResult)
{
private void onHit(HitResult result, Vec3 startVec, Vec3 endVec) {
if (result instanceof ExtendedEntityRayTraceResult entityHitResult) {
Entity entity = entityHitResult.getEntity();
if(entity.getId() == this.shooterId)
{
if (entity.getId() == this.shooterId) {
return;
}
if(this.shooter instanceof Player player)
{
if(entity.hasIndirectPassenger(player))
{
if (this.shooter instanceof Player player) {
if (entity.hasIndirectPassenger(player)) {
return;
}
}
this.onHitEntity(entity, result.getLocation(), startVec, endVec, entityHitResult.isHeadshot());
entity.invulnerableTime = 0;
}
}
protected void onHitEntity(Entity entity, Vec3 hitVec, Vec3 startVec, Vec3 endVec, boolean headshot)
{
if(headshot){
ProjectileHeadshotEntity.execute(this.level(), entity, this, this.shooter);
protected void onHitEntity(Entity entity, Vec3 hitVec, Vec3 startVec, Vec3 endVec, boolean headshot) {
if (headshot) {
ProjectileHeadshotEntity.execute(this.level(), entity, this, this.shooter);
}
ProjectileHitEntity.execute(this.level(), entity, this, this.shooter);
ProjectileHitEntity.execute(this.level(), entity, this, this.shooter);
}
@Override
@ -313,11 +256,10 @@ public class ProjectileEntity extends ThrowableItemProjectile {
return this.damage;
}
private static BlockHitResult rayTraceBlocks(Level world, ClipContext context, Predicate<BlockState> ignorePredicate)
{
private static BlockHitResult rayTraceBlocks(Level world, ClipContext context, Predicate<BlockState> ignorePredicate) {
return performRayTrace(context, (rayTraceContext, blockPos) -> {
BlockState blockState = world.getBlockState(blockPos);
if(ignorePredicate.test(blockState)) return null;
if (ignorePredicate.test(blockState)) return null;
FluidState fluidState = world.getFluidState(blockPos);
Vec3 startVec = rayTraceContext.getFrom();
Vec3 endVec = rayTraceContext.getTo();
@ -334,16 +276,12 @@ public class ProjectileEntity extends ThrowableItemProjectile {
});
}
private static <T> T performRayTrace(ClipContext context, BiFunction<ClipContext, BlockPos, T> hitFunction, Function<ClipContext, T> p_217300_2_)
{
private static <T> T performRayTrace(ClipContext context, BiFunction<ClipContext, BlockPos, T> hitFunction, Function<ClipContext, T> p_217300_2_) {
Vec3 startVec = context.getFrom();
Vec3 endVec = context.getTo();
if(startVec.equals(endVec))
{
if (startVec.equals(endVec)) {
return p_217300_2_.apply(context);
}
else
{
} else {
double startX = Mth.lerp(-0.0000001, endVec.x, startVec.x);
double startY = Mth.lerp(-0.0000001, endVec.y, startVec.y);
double startZ = Mth.lerp(-0.0000001, endVec.z, startVec.z);
@ -355,8 +293,7 @@ public class ProjectileEntity extends ThrowableItemProjectile {
int blockZ = Mth.floor(endZ);
BlockPos.MutableBlockPos mutablePos = new BlockPos.MutableBlockPos(blockX, blockY, blockZ);
T t = hitFunction.apply(context, mutablePos);
if(t != null)
{
if (t != null) {
return t;
}
@ -373,35 +310,25 @@ public class ProjectileEntity extends ThrowableItemProjectile {
double d13 = d10 * (signY > 0 ? 1.0D - Mth.frac(endY) : Mth.frac(endY));
double d14 = d11 * (signZ > 0 ? 1.0D - Mth.frac(endZ) : Mth.frac(endZ));
while(d12 <= 1.0D || d13 <= 1.0D || d14 <= 1.0D)
{
if(d12 < d13)
{
if(d12 < d14)
{
while (d12 <= 1.0D || d13 <= 1.0D || d14 <= 1.0D) {
if (d12 < d13) {
if (d12 < d14) {
blockX += signX;
d12 += d9;
}
else
{
} else {
blockZ += signZ;
d14 += d11;
}
}
else if(d13 < d14)
{
} else if (d13 < d14) {
blockY += signY;
d13 += d10;
}
else
{
} else {
blockZ += signZ;
d14 += d11;
}
T t1 = hitFunction.apply(context, mutablePos.set(blockX, blockY, blockZ));
if(t1 != null)
{
if (t1 != null) {
return t1;
}
}
@ -410,17 +337,15 @@ public class ProjectileEntity extends ThrowableItemProjectile {
}
}
public LivingEntity getShooter()
{
public LivingEntity getShooter() {
return this.shooter;
}
public int getShooterId()
{
public int getShooterId() {
return this.shooterId;
}
public void updateHeading()
{
public void updateHeading() {
double horizontalDistance = this.getDeltaMovement().horizontalDistance();
this.setYRot((float) (Mth.atan2(this.getDeltaMovement().x(), this.getDeltaMovement().z()) * (180D / Math.PI)));
this.setXRot((float) (Mth.atan2(this.getDeltaMovement().y(), horizontalDistance) * (180D / Math.PI)));
@ -428,14 +353,12 @@ public class ProjectileEntity extends ThrowableItemProjectile {
this.xRotO = this.getXRot();
}
public static class EntityResult
{
private Entity entity;
private Vec3 hitVec;
private boolean headshot;
public static class EntityResult {
private final Entity entity;
private final Vec3 hitVec;
private final boolean headshot;
public EntityResult(Entity entity, Vec3 hitVec, boolean headshot)
{
public EntityResult(Entity entity, Vec3 hitVec, boolean headshot) {
this.entity = entity;
this.hitVec = hitVec;
this.headshot = headshot;
@ -444,24 +367,21 @@ public class ProjectileEntity extends ThrowableItemProjectile {
/**
* Gets the entity that was hit by the projectile
*/
public Entity getEntity()
{
public Entity getEntity() {
return this.entity;
}
/**
* Gets the position the projectile hit
*/
public Vec3 getHitPos()
{
public Vec3 getHitPos() {
return this.hitVec;
}
/**
* Gets if this was a headshot
*/
public boolean isHeadshot()
{
public boolean isHeadshot() {
return this.headshot;
}
}

View file

@ -1,190 +1,180 @@
package net.mcreator.target.entity;
import net.minecraft.commands.CommandSource;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.level.block.*;
import net.minecraft.world.phys.*;
import net.mcreator.target.headshot.BoundingBoxManager;
import net.mcreator.target.headshot.IHeadshotBox;
import net.mcreator.target.init.TargetModEntities;
import net.minecraftforge.network.PlayMessages;
import net.minecraftforge.network.NetworkHooks;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraft.world.level.Level;
import net.minecraft.world.entity.projectile.ItemSupplier;
import net.minecraft.world.entity.projectile.AbstractArrow;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.item.ItemStack;
import net.minecraft.util.RandomSource;
import net.minecraft.network.protocol.game.ClientGamePacketListener;
import net.minecraft.network.protocol.Packet;
import net.mcreator.target.procedures.RpgRocketDanSheWuJiZhongFangKuaiShiProcedure;
import net.mcreator.target.procedures.RpgRocketDanSheWuFeiXingShiMeiKeFaShengProcedure;
import net.mcreator.target.procedures.RocketHitProcedure;
import net.mcreator.target.network.TargetModVariables;
import net.mcreator.target.procedures.RocketHitProcedure;
import net.mcreator.target.procedures.RpgRocketDanSheWuFeiXingShiMeiKeFaShengProcedure;
import net.mcreator.target.procedures.RpgRocketDanSheWuJiZhongFangKuaiShiProcedure;
import net.minecraft.commands.CommandSource;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.network.protocol.Packet;
import net.minecraft.network.protocol.game.ClientGamePacketListener;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.util.RandomSource;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.projectile.AbstractArrow;
import net.minecraft.world.entity.projectile.ItemSupplier;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.EntityHitResult;
import net.minecraft.world.phys.Vec3;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.network.NetworkHooks;
import net.minecraftforge.network.PlayMessages;
import java.util.Optional;
@OnlyIn(value = Dist.CLIENT, _interface = ItemSupplier.class)
public class RpgRocketEntity extends AbstractArrow implements ItemSupplier {
public static final ItemStack PROJECTILE_ITEM = new ItemStack(Blocks.AIR);
public static final ItemStack PROJECTILE_ITEM = new ItemStack(Blocks.AIR);
public RpgRocketEntity(PlayMessages.SpawnEntity packet, Level world) {
super(TargetModEntities.RPG_ROCKET.get(), world);
}
public RpgRocketEntity(EntityType<? extends RpgRocketEntity> type, Level world) {
super(type, world);
}
public RpgRocketEntity(EntityType<? extends RpgRocketEntity> type, double x, double y, double z, Level world) {
super(type, x, y, z, world);
}
public RpgRocketEntity(EntityType<? extends RpgRocketEntity> type, LivingEntity entity, Level world) {
super(type, entity, world);
}
@Override
public Packet<ClientGamePacketListener> getAddEntityPacket() {
return NetworkHooks.getEntitySpawningPacket(this);
}
@Override
@OnlyIn(Dist.CLIENT)
public ItemStack getItem() {
return PROJECTILE_ITEM;
}
@Override
protected ItemStack getPickupItem() {
return PROJECTILE_ITEM;
}
@Override
protected void doPostHurtEffects(LivingEntity entity) {
super.doPostHurtEffects(entity);
entity.setArrowCount(entity.getArrowCount() - 1);
}
@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.syncPlayerVariables(living);
});
Entity _ent = living;
if (!_ent.level().isClientSide() && _ent.getServer() != null) {
_ent.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, _ent.position(), _ent.getRotationVector(), _ent.level() instanceof ServerLevel ? (ServerLevel) _ent.level() : null, 4,
_ent.getName().getString(), _ent.getDisplayName(), _ent.level().getServer(), _ent), "playsound target:indication voice @a ~ ~ ~ 1 1");
}
}
RocketHitProcedure.execute(this.level(), this);
if (entity instanceof LivingEntity livingEntity) {
entity.invulnerableTime = 0;
}
AABB boundingBox = entity.getBoundingBox();
Vec3 startVec = this.position();
Vec3 endVec = startVec.add(this.getDeltaMovement());
Vec3 hitPos = boundingBox.clip(startVec, endVec).orElse(null);
/* Check for headshot */
boolean headshot = false;
if(entity instanceof LivingEntity)
{
IHeadshotBox<LivingEntity> headshotBox = (IHeadshotBox<LivingEntity>) BoundingBoxManager.getHeadshotBoxes(entity.getType());
if(headshotBox != null)
{
AABB box = headshotBox.getHeadshotBox((LivingEntity) entity);
if(box != null)
{
box = box.move(boundingBox.getCenter().x, boundingBox.minY, boundingBox.getCenter().z);
Optional<Vec3> headshotHitPos = box.clip(startVec, endVec);
if(!headshotHitPos.isPresent())
{
box = box.inflate( 0.2, 0.2, 0.2);
headshotHitPos = box.clip(startVec, endVec);
}
if(headshotHitPos.isPresent() && (hitPos == null || headshotHitPos.get().distanceTo(hitPos) < 0.55))
{
hitPos = headshotHitPos.get();
headshot = true;
}
if(headshot){
if(this.getOwner() instanceof LivingEntity living){
setBaseDamage(getBaseDamage() * 5);
double _setval = 25;
living.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
capability.headind = _setval;
capability.syncPlayerVariables(living);
});
Entity _ent = living;
if (!_ent.level().isClientSide() && _ent.getServer() != null) {
_ent.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, _ent.position(), _ent.getRotationVector(), _ent.level() instanceof ServerLevel ? (ServerLevel) _ent.level() : null, 4,
_ent.getName().getString(), _ent.getDisplayName(), _ent.level().getServer(), _ent), "playsound target:headshot voice @a ~ ~ ~ 1 1");
}
}
}
}
}
}
super.onHitEntity(result);
this.discard();
public RpgRocketEntity(PlayMessages.SpawnEntity packet, Level world) {
super(TargetModEntities.RPG_ROCKET.get(), world);
}
@Override
public void onHitBlock(BlockHitResult blockHitResult) {
super.onHitBlock(blockHitResult);
RpgRocketDanSheWuJiZhongFangKuaiShiProcedure.execute(this.level(), this);
}
public RpgRocketEntity(EntityType<? extends RpgRocketEntity> type, Level world) {
super(type, world);
}
@Override
public void tick() {
super.tick();
RpgRocketDanSheWuFeiXingShiMeiKeFaShengProcedure.execute(this);
if(this.tickCount>100){
this.discard();
}
}
public RpgRocketEntity(EntityType<? extends RpgRocketEntity> type, double x, double y, double z, Level world) {
super(type, x, y, z, world);
}
public static RpgRocketEntity shoot(Level world, LivingEntity entity, RandomSource source) {
return shoot(world, entity, source, 1f, 5, 5);
}
public RpgRocketEntity(EntityType<? extends RpgRocketEntity> type, LivingEntity entity, Level world) {
super(type, entity, world);
}
public static RpgRocketEntity shoot(Level world, LivingEntity entity, RandomSource random, float power, double damage, int knockback) {
RpgRocketEntity entityarrow = new RpgRocketEntity(TargetModEntities.RPG_ROCKET.get(), entity, world);
entityarrow.shoot(entity.getViewVector(1).x, entity.getViewVector(1).y, entity.getViewVector(1).z, power * 2, 0);
entityarrow.setSilent(true);
entityarrow.setCritArrow(false);
entityarrow.setBaseDamage(damage);
entityarrow.setKnockback(knockback);
world.addFreshEntity(entityarrow);
return entityarrow;
}
@Override
public Packet<ClientGamePacketListener> getAddEntityPacket() {
return NetworkHooks.getEntitySpawningPacket(this);
}
public static RpgRocketEntity shoot(LivingEntity entity, LivingEntity target) {
RpgRocketEntity entityarrow = new RpgRocketEntity(TargetModEntities.RPG_ROCKET.get(), entity, entity.level());
double dx = target.getX() - entity.getX();
double dy = target.getY() + target.getEyeHeight() - 1.1;
double dz = target.getZ() - entity.getZ();
entityarrow.shoot(dx, dy - entityarrow.getY() + Math.hypot(dx, dz) * 0.2F, dz, 1f * 2, 12.0F);
entityarrow.setSilent(true);
entityarrow.setBaseDamage(5);
entityarrow.setKnockback(5);
entityarrow.setCritArrow(false);
entity.level().addFreshEntity(entityarrow);
return entityarrow;
}
@Override
@OnlyIn(Dist.CLIENT)
public ItemStack getItem() {
return PROJECTILE_ITEM;
}
@Override
protected ItemStack getPickupItem() {
return PROJECTILE_ITEM;
}
@Override
protected void doPostHurtEffects(LivingEntity entity) {
super.doPostHurtEffects(entity);
entity.setArrowCount(entity.getArrowCount() - 1);
}
@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.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");
}
}
RocketHitProcedure.execute(this.level(), this);
if (entity instanceof LivingEntity) {
entity.invulnerableTime = 0;
}
AABB boundingBox = entity.getBoundingBox();
Vec3 startVec = this.position();
Vec3 endVec = startVec.add(this.getDeltaMovement());
Vec3 hitPos = boundingBox.clip(startVec, endVec).orElse(null);
/* Check for headshot */
boolean headshot = false;
if (entity instanceof LivingEntity) {
IHeadshotBox<LivingEntity> headshotBox = (IHeadshotBox<LivingEntity>) BoundingBoxManager.getHeadshotBoxes(entity.getType());
if (headshotBox != null) {
AABB box = headshotBox.getHeadshotBox((LivingEntity) entity);
if (box != null) {
box = box.move(boundingBox.getCenter().x, boundingBox.minY, boundingBox.getCenter().z);
Optional<Vec3> headshotHitPos = box.clip(startVec, endVec);
if (!headshotHitPos.isPresent()) {
box = box.inflate(0.2, 0.2, 0.2);
headshotHitPos = box.clip(startVec, endVec);
}
if (headshotHitPos.isPresent() && (hitPos == null || headshotHitPos.get().distanceTo(hitPos) < 0.55)) {
headshot = true;
}
if (headshot) {
if (this.getOwner() instanceof LivingEntity living) {
setBaseDamage(getBaseDamage() * 5);
double _setval = 25;
living.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
capability.headind = _setval;
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:headshot voice @a ~ ~ ~ 1 1");
}
}
}
}
}
}
super.onHitEntity(result);
this.discard();
}
@Override
public void onHitBlock(BlockHitResult blockHitResult) {
super.onHitBlock(blockHitResult);
RpgRocketDanSheWuJiZhongFangKuaiShiProcedure.execute(this.level(), this);
}
@Override
public void tick() {
super.tick();
RpgRocketDanSheWuFeiXingShiMeiKeFaShengProcedure.execute(this);
if (this.tickCount > 100) {
this.discard();
}
}
public static RpgRocketEntity shoot(Level world, LivingEntity entity, RandomSource source) {
return shoot(world, entity, source, 1f, 5, 5);
}
public static RpgRocketEntity shoot(Level world, LivingEntity entity, RandomSource random, float power, double damage, int knockback) {
RpgRocketEntity entityarrow = new RpgRocketEntity(TargetModEntities.RPG_ROCKET.get(), entity, world);
entityarrow.shoot(entity.getViewVector(1).x, entity.getViewVector(1).y, entity.getViewVector(1).z, power * 2, 0);
entityarrow.setSilent(true);
entityarrow.setCritArrow(false);
entityarrow.setBaseDamage(damage);
entityarrow.setKnockback(knockback);
world.addFreshEntity(entityarrow);
return entityarrow;
}
public static RpgRocketEntity shoot(LivingEntity entity, LivingEntity target) {
RpgRocketEntity entityarrow = new RpgRocketEntity(TargetModEntities.RPG_ROCKET.get(), entity, entity.level());
double dx = target.getX() - entity.getX();
double dy = target.getY() + target.getEyeHeight() - 1.1;
double dz = target.getZ() - entity.getZ();
entityarrow.shoot(dx, dy - entityarrow.getY() + Math.hypot(dx, dz) * 0.2F, dz, 1f * 2, 12.0F);
entityarrow.setSilent(true);
entityarrow.setBaseDamage(5);
entityarrow.setKnockback(5);
entityarrow.setCritArrow(false);
entity.level().addFreshEntity(entityarrow);
return entityarrow;
}
}

View file

@ -1,249 +1,239 @@
package net.mcreator.target.entity;
import software.bernie.geckolib.util.GeckoLibUtil;
import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.core.animation.AnimationController;
import software.bernie.geckolib.core.animation.AnimatableManager;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animatable.GeoEntity;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.network.PlayMessages;
import net.minecraftforge.network.NetworkHooks;
import net.minecraftforge.common.DungeonHooks;
import net.minecraft.world.level.levelgen.Heightmap;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.Level;
import net.minecraft.world.item.Items;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.monster.Spider;
import net.minecraft.world.entity.monster.Monster;
import net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal;
import net.minecraft.world.entity.ai.goal.target.HurtByTargetGoal;
import net.minecraft.world.entity.ai.goal.RandomStrollGoal;
import net.minecraft.world.entity.ai.goal.RandomLookAroundGoal;
import net.minecraft.world.entity.ai.goal.MeleeAttackGoal;
import net.minecraft.world.entity.ai.goal.FloatGoal;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
import net.minecraft.world.entity.SpawnPlacements;
import net.minecraft.world.entity.Pose;
import net.minecraft.world.entity.MobType;
import net.minecraft.world.entity.Mob;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.EntityDimensions;
import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.Difficulty;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.network.syncher.SynchedEntityData;
import net.minecraft.network.syncher.EntityDataSerializers;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.network.protocol.game.ClientGamePacketListener;
import net.minecraft.network.protocol.Packet;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.core.BlockPos;
import net.mcreator.target.procedures.SenpaiDangShiTiGengXinKeShiProcedure;
import net.mcreator.target.init.TargetModEntities;
import net.mcreator.target.procedures.SenpaiDangShiTiGengXinKeShiProcedure;
import net.minecraft.core.BlockPos;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.protocol.Packet;
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.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.Difficulty;
import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.entity.*;
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.ai.goal.FloatGoal;
import net.minecraft.world.entity.ai.goal.MeleeAttackGoal;
import net.minecraft.world.entity.ai.goal.RandomLookAroundGoal;
import net.minecraft.world.entity.ai.goal.RandomStrollGoal;
import net.minecraft.world.entity.ai.goal.target.HurtByTargetGoal;
import net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal;
import net.minecraft.world.entity.monster.Monster;
import net.minecraft.world.entity.monster.Spider;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.levelgen.Heightmap;
import net.minecraftforge.common.DungeonHooks;
import net.minecraftforge.network.NetworkHooks;
import net.minecraftforge.network.PlayMessages;
import net.minecraftforge.registries.ForgeRegistries;
import software.bernie.geckolib.animatable.GeoEntity;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.core.animation.AnimatableManager;
import software.bernie.geckolib.core.animation.AnimationController;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.util.GeckoLibUtil;
public class SenpaiEntity extends Spider implements GeoEntity {
public static final EntityDataAccessor<Boolean> SHOOT = SynchedEntityData.defineId(SenpaiEntity.class, EntityDataSerializers.BOOLEAN);
public static final EntityDataAccessor<String> ANIMATION = SynchedEntityData.defineId(SenpaiEntity.class, EntityDataSerializers.STRING);
public static final EntityDataAccessor<String> TEXTURE = SynchedEntityData.defineId(SenpaiEntity.class, EntityDataSerializers.STRING);
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
private boolean swinging;
private boolean lastloop;
private long lastSwing;
public String animationprocedure = "empty";
public static final EntityDataAccessor<Boolean> SHOOT = SynchedEntityData.defineId(SenpaiEntity.class, EntityDataSerializers.BOOLEAN);
public static final EntityDataAccessor<String> ANIMATION = SynchedEntityData.defineId(SenpaiEntity.class, EntityDataSerializers.STRING);
public static final EntityDataAccessor<String> TEXTURE = SynchedEntityData.defineId(SenpaiEntity.class, EntityDataSerializers.STRING);
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
private boolean swinging;
private boolean lastloop;
private long lastSwing;
public String animationprocedure = "empty";
public SenpaiEntity(PlayMessages.SpawnEntity packet, Level world) {
this(TargetModEntities.SENPAI.get(), world);
}
public SenpaiEntity(PlayMessages.SpawnEntity packet, Level world) {
this(TargetModEntities.SENPAI.get(), world);
}
public SenpaiEntity(EntityType<SenpaiEntity> type, Level world) {
super(type, world);
xpReward = 20;
setNoAi(false);
}
public SenpaiEntity(EntityType<SenpaiEntity> type, Level world) {
super(type, world);
xpReward = 20;
setNoAi(false);
}
@Override
protected void defineSynchedData() {
super.defineSynchedData();
this.entityData.define(SHOOT, false);
this.entityData.define(ANIMATION, "undefined");
this.entityData.define(TEXTURE, "senpai");
}
@Override
protected void defineSynchedData() {
super.defineSynchedData();
this.entityData.define(SHOOT, false);
this.entityData.define(ANIMATION, "undefined");
this.entityData.define(TEXTURE, "senpai");
}
public void setTexture(String texture) {
this.entityData.set(TEXTURE, texture);
}
public void setTexture(String texture) {
this.entityData.set(TEXTURE, texture);
}
public String getTexture() {
return this.entityData.get(TEXTURE);
}
public String getTexture() {
return this.entityData.get(TEXTURE);
}
@Override
public Packet<ClientGamePacketListener> getAddEntityPacket() {
return NetworkHooks.getEntitySpawningPacket(this);
}
@Override
public Packet<ClientGamePacketListener> getAddEntityPacket() {
return NetworkHooks.getEntitySpawningPacket(this);
}
@Override
protected void registerGoals() {
super.registerGoals();
this.goalSelector.addGoal(1, new MeleeAttackGoal(this, 1.6, false) {
@Override
protected double getAttackReachSqr(LivingEntity entity) {
return this.mob.getBbWidth() * this.mob.getBbWidth() + entity.getBbWidth();
}
});
this.targetSelector.addGoal(2, new HurtByTargetGoal(this).setAlertOthers());
this.goalSelector.addGoal(3, new RandomLookAroundGoal(this));
this.goalSelector.addGoal(4, new FloatGoal(this));
this.goalSelector.addGoal(5, new RandomStrollGoal(this, 0.8));
this.targetSelector.addGoal(6, new NearestAttackableTargetGoal(this, Player.class, false, false));
}
@Override
protected void registerGoals() {
super.registerGoals();
this.goalSelector.addGoal(1, new MeleeAttackGoal(this, 1.6, false) {
@Override
protected double getAttackReachSqr(LivingEntity entity) {
return this.mob.getBbWidth() * this.mob.getBbWidth() + entity.getBbWidth();
}
});
this.targetSelector.addGoal(2, new HurtByTargetGoal(this).setAlertOthers());
this.goalSelector.addGoal(3, new RandomLookAroundGoal(this));
this.goalSelector.addGoal(4, new FloatGoal(this));
this.goalSelector.addGoal(5, new RandomStrollGoal(this, 0.8));
this.targetSelector.addGoal(6, new NearestAttackableTargetGoal(this, Player.class, false, false));
}
@Override
public MobType getMobType() {
return MobType.ILLAGER;
}
@Override
public MobType getMobType() {
return MobType.ILLAGER;
}
protected void dropCustomDeathLoot(DamageSource source, int looting, boolean recentlyHitIn) {
super.dropCustomDeathLoot(source, looting, recentlyHitIn);
this.spawnAtLocation(new ItemStack(Items.GOLDEN_APPLE));
}
protected void dropCustomDeathLoot(DamageSource source, int looting, boolean recentlyHitIn) {
super.dropCustomDeathLoot(source, looting, recentlyHitIn);
this.spawnAtLocation(new ItemStack(Items.GOLDEN_APPLE));
}
@Override
public SoundEvent getAmbientSound() {
return ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("target:idle"));
}
@Override
public SoundEvent getAmbientSound() {
return ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("target:idle"));
}
@Override
public void playStepSound(BlockPos pos, BlockState blockIn) {
this.playSound(ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("target:step")), 0.15f, 1);
}
@Override
public void playStepSound(BlockPos pos, BlockState blockIn) {
this.playSound(ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("target:step")), 0.15f, 1);
}
@Override
public SoundEvent getHurtSound(DamageSource ds) {
return ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("target:ouch"));
}
@Override
public SoundEvent getHurtSound(DamageSource ds) {
return ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("target:ouch"));
}
@Override
public SoundEvent getDeathSound() {
return ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("target:growl"));
}
@Override
public SoundEvent getDeathSound() {
return ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("target:growl"));
}
@Override
public void addAdditionalSaveData(CompoundTag compound) {
super.addAdditionalSaveData(compound);
compound.putString("Texture", this.getTexture());
}
@Override
public void addAdditionalSaveData(CompoundTag compound) {
super.addAdditionalSaveData(compound);
compound.putString("Texture", this.getTexture());
}
@Override
public void readAdditionalSaveData(CompoundTag compound) {
super.readAdditionalSaveData(compound);
if (compound.contains("Texture"))
this.setTexture(compound.getString("Texture"));
}
@Override
public void readAdditionalSaveData(CompoundTag compound) {
super.readAdditionalSaveData(compound);
if (compound.contains("Texture"))
this.setTexture(compound.getString("Texture"));
}
@Override
public void baseTick() {
super.baseTick();
SenpaiDangShiTiGengXinKeShiProcedure.execute(this.level(), this.getX(), this.getY(), this.getZ(), this);
this.refreshDimensions();
}
@Override
public void baseTick() {
super.baseTick();
SenpaiDangShiTiGengXinKeShiProcedure.execute(this.level(), this.getX(), this.getY(), this.getZ(), this);
this.refreshDimensions();
}
@Override
public EntityDimensions getDimensions(Pose p_33597_) {
return super.getDimensions(p_33597_).scale((float) 1);
}
@Override
public EntityDimensions getDimensions(Pose p_33597_) {
return super.getDimensions(p_33597_).scale((float) 1);
}
@Override
public void aiStep() {
super.aiStep();
this.updateSwingTime();
}
@Override
public void aiStep() {
super.aiStep();
this.updateSwingTime();
}
public static void init() {
SpawnPlacements.register(TargetModEntities.SENPAI.get(), SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES,
(entityType, world, reason, pos, random) -> (world.getDifficulty() != Difficulty.PEACEFUL && Monster.isDarkEnoughToSpawn(world, pos, random) && Mob.checkMobSpawnRules(entityType, world, reason, pos, random)));
DungeonHooks.addDungeonMob(TargetModEntities.SENPAI.get(), 180);
}
public static void init() {
SpawnPlacements.register(TargetModEntities.SENPAI.get(), SpawnPlacements.Type.ON_GROUND, Heightmap.Types.MOTION_BLOCKING_NO_LEAVES,
(entityType, world, reason, pos, random) -> (world.getDifficulty() != Difficulty.PEACEFUL && Monster.isDarkEnoughToSpawn(world, pos, random) && Mob.checkMobSpawnRules(entityType, world, reason, pos, random)));
DungeonHooks.addDungeonMob(TargetModEntities.SENPAI.get(), 180);
}
public static AttributeSupplier.Builder createAttributes() {
AttributeSupplier.Builder builder = Mob.createMobAttributes();
builder = builder.add(Attributes.MOVEMENT_SPEED, 0.25);
builder = builder.add(Attributes.MAX_HEALTH, 51);
builder = builder.add(Attributes.ARMOR, 0);
builder = builder.add(Attributes.ATTACK_DAMAGE, 5);
builder = builder.add(Attributes.FOLLOW_RANGE, 1024);
builder = builder.add(Attributes.KNOCKBACK_RESISTANCE, 0.5);
return builder;
}
public static AttributeSupplier.Builder createAttributes() {
AttributeSupplier.Builder builder = Mob.createMobAttributes();
builder = builder.add(Attributes.MOVEMENT_SPEED, 0.25);
builder = builder.add(Attributes.MAX_HEALTH, 51);
builder = builder.add(Attributes.ARMOR, 0);
builder = builder.add(Attributes.ATTACK_DAMAGE, 5);
builder = builder.add(Attributes.FOLLOW_RANGE, 1024);
builder = builder.add(Attributes.KNOCKBACK_RESISTANCE, 0.5);
return builder;
}
private PlayState movementPredicate(AnimationState event) {
if (this.animationprocedure.equals("empty")) {
if ((event.isMoving() || !(event.getLimbSwingAmount() > -0.15F && event.getLimbSwingAmount() < 0.15F))
private PlayState movementPredicate(AnimationState event) {
if (this.animationprocedure.equals("empty")) {
if ((event.isMoving() || !(event.getLimbSwingAmount() > -0.15F && event.getLimbSwingAmount() < 0.15F))
&& !this.isAggressive()) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.senpai.walk"));
}
if (this.isDeadOrDying()) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.senpai.die"));
}
if (this.isAggressive() && event.isMoving()) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.senpai.run"));
}
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.senpai.idle"));
}
return PlayState.STOP;
}
&& !this.isAggressive()) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.senpai.walk"));
}
if (this.isDeadOrDying()) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.senpai.die"));
}
if (this.isAggressive() && event.isMoving()) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.senpai.run"));
}
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.senpai.idle"));
}
return PlayState.STOP;
}
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) {
this.animationprocedure = "empty";
event.getController().forceAnimationReset();
}
} else if (animationprocedure.equals("empty")) {
return PlayState.STOP;
}
return PlayState.CONTINUE;
}
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) {
this.animationprocedure = "empty";
event.getController().forceAnimationReset();
}
} else if (animationprocedure.equals("empty")) {
return PlayState.STOP;
}
return PlayState.CONTINUE;
}
@Override
protected void tickDeath() {
++this.deathTime;
if (this.deathTime == 540) {
this.remove(SenpaiEntity.RemovalReason.KILLED);
this.dropExperience();
}
}
@Override
protected void tickDeath() {
++this.deathTime;
if (this.deathTime == 540) {
this.remove(SenpaiEntity.RemovalReason.KILLED);
this.dropExperience();
}
}
public String getSyncedAnimation() {
return this.entityData.get(ANIMATION);
}
public String getSyncedAnimation() {
return this.entityData.get(ANIMATION);
}
public void setAnimation(String animation) {
this.entityData.set(ANIMATION, animation);
}
public void setAnimation(String animation) {
this.entityData.set(ANIMATION, animation);
}
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
data.add(new AnimationController<>(this, "movement", 4, this::movementPredicate));
data.add(new AnimationController<>(this, "procedure", 4, this::procedurePredicate));
}
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
data.add(new AnimationController<>(this, "movement", 4, this::movementPredicate));
data.add(new AnimationController<>(this, "procedure", 4, this::procedurePredicate));
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
}

View file

@ -1,292 +1,275 @@
package net.mcreator.target.entity;
import software.bernie.geckolib.util.GeckoLibUtil;
import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.core.animation.AnimationController;
import software.bernie.geckolib.core.animation.AnimatableManager;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animatable.GeoEntity;
import net.minecraftforge.network.PlayMessages;
import net.minecraftforge.network.NetworkHooks;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.ServerLevelAccessor;
import net.minecraft.world.level.Level;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.entity.projectile.ThrownPotion;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.ai.navigation.PathNavigation;
import net.minecraft.world.entity.ai.navigation.FlyingPathNavigation;
import net.minecraft.world.entity.ai.control.FlyingMoveControl;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
import net.minecraft.world.entity.SpawnGroupData;
import net.minecraft.world.entity.Pose;
import net.minecraft.world.entity.PathfinderMob;
import net.minecraft.world.entity.MobType;
import net.minecraft.world.entity.MobSpawnType;
import net.minecraft.world.entity.Mob;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.EntityDimensions;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.AreaEffectCloud;
import net.minecraft.world.damagesource.DamageTypes;
import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.DifficultyInstance;
import net.minecraft.network.syncher.SynchedEntityData;
import net.minecraft.network.syncher.EntityDataSerializers;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.network.protocol.game.ClientGamePacketListener;
import net.minecraft.network.protocol.Packet;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.core.BlockPos;
import net.mcreator.target.procedures.Target1ShiTiChuShiShengChengShiProcedure;
import net.mcreator.target.procedures.Target1DangYouJiShiTiShiProcedure;
import net.mcreator.target.procedures.Target1DangShiTiShouShangShiProcedure;
import net.mcreator.target.procedures.Target1DangShiTiGengXinKeShiProcedure;
import net.mcreator.target.procedures.BazipengzhuangProcedure;
import net.mcreator.target.init.TargetModEntities;
import net.mcreator.target.procedures.*;
import net.minecraft.core.BlockPos;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.protocol.Packet;
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.world.DifficultyInstance;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.damagesource.DamageTypes;
import net.minecraft.world.entity.*;
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.ai.control.FlyingMoveControl;
import net.minecraft.world.entity.ai.navigation.FlyingPathNavigation;
import net.minecraft.world.entity.ai.navigation.PathNavigation;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.projectile.ThrownPotion;
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.minecraftforge.network.NetworkHooks;
import net.minecraftforge.network.PlayMessages;
import software.bernie.geckolib.animatable.GeoEntity;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.core.animation.AnimatableManager;
import software.bernie.geckolib.core.animation.AnimationController;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.util.GeckoLibUtil;
import javax.annotation.Nullable;
public class Target1Entity extends PathfinderMob implements GeoEntity {
public static final EntityDataAccessor<Boolean> SHOOT = SynchedEntityData.defineId(Target1Entity.class, EntityDataSerializers.BOOLEAN);
public static final EntityDataAccessor<String> ANIMATION = SynchedEntityData.defineId(Target1Entity.class, EntityDataSerializers.STRING);
public static final EntityDataAccessor<String> 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 static final EntityDataAccessor<Boolean> SHOOT = SynchedEntityData.defineId(Target1Entity.class, EntityDataSerializers.BOOLEAN);
public static final EntityDataAccessor<String> ANIMATION = SynchedEntityData.defineId(Target1Entity.class, EntityDataSerializers.STRING);
public static final EntityDataAccessor<String> 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) {
this(TargetModEntities.TARGET_1.get(), world);
}
public Target1Entity(PlayMessages.SpawnEntity packet, Level world) {
this(TargetModEntities.TARGET_1.get(), world);
}
public Target1Entity(EntityType<Target1Entity> type, Level world) {
super(type, world);
xpReward = 0;
setNoAi(true);
setPersistenceRequired();
this.moveControl = new FlyingMoveControl(this, 10, true);
}
public Target1Entity(EntityType<Target1Entity> type, Level world) {
super(type, world);
xpReward = 0;
setNoAi(true);
setPersistenceRequired();
this.moveControl = new FlyingMoveControl(this, 10, true);
}
@Override
protected void defineSynchedData() {
super.defineSynchedData();
this.entityData.define(SHOOT, false);
this.entityData.define(ANIMATION, "undefined");
this.entityData.define(TEXTURE, "target");
}
@Override
protected void defineSynchedData() {
super.defineSynchedData();
this.entityData.define(SHOOT, false);
this.entityData.define(ANIMATION, "undefined");
this.entityData.define(TEXTURE, "target");
}
public void setTexture(String texture) {
this.entityData.set(TEXTURE, texture);
}
public void setTexture(String texture) {
this.entityData.set(TEXTURE, texture);
}
public String getTexture() {
return this.entityData.get(TEXTURE);
}
public String getTexture() {
return this.entityData.get(TEXTURE);
}
@Override
public Packet<ClientGamePacketListener> getAddEntityPacket() {
return NetworkHooks.getEntitySpawningPacket(this);
}
@Override
public Packet<ClientGamePacketListener> getAddEntityPacket() {
return NetworkHooks.getEntitySpawningPacket(this);
}
@Override
protected PathNavigation createNavigation(Level world) {
return new FlyingPathNavigation(this, world);
}
@Override
protected PathNavigation createNavigation(Level world) {
return new FlyingPathNavigation(this, world);
}
@Override
public MobType getMobType() {
return MobType.UNDEFINED;
}
@Override
public MobType getMobType() {
return MobType.UNDEFINED;
}
@Override
public boolean removeWhenFarAway(double distanceToClosestPlayer) {
return false;
}
@Override
public boolean removeWhenFarAway(double distanceToClosestPlayer) {
return false;
}
@Override
public boolean causeFallDamage(float l, float d, DamageSource source) {
return false;
}
@Override
public boolean causeFallDamage(float l, float d, DamageSource source) {
return false;
}
@Override
public boolean hurt(DamageSource source, float amount) {
Target1DangShiTiShouShangShiProcedure.execute(this.level(), this.getX(), this.getY(), this.getZ());
if (source.is(DamageTypes.IN_FIRE))
return false;
if (source.getDirectEntity() instanceof ThrownPotion || source.getDirectEntity() instanceof AreaEffectCloud)
return false;
if (source.is(DamageTypes.FALL))
return false;
if (source.is(DamageTypes.CACTUS))
return false;
if (source.is(DamageTypes.DROWN))
return false;
if (source.is(DamageTypes.LIGHTNING_BOLT))
return false;
if (source.is(DamageTypes.FALLING_ANVIL))
return false;
if (source.is(DamageTypes.DRAGON_BREATH))
return false;
if (source.is(DamageTypes.WITHER))
return false;
if (source.is(DamageTypes.WITHER_SKULL))
return false;
return super.hurt(source, amount);
}
@Override
public boolean hurt(DamageSource source, float amount) {
Target1DangShiTiShouShangShiProcedure.execute(this.level(), this.getX(), this.getY(), this.getZ());
if (source.is(DamageTypes.IN_FIRE))
return false;
if (source.getDirectEntity() instanceof ThrownPotion || source.getDirectEntity() instanceof AreaEffectCloud)
return false;
if (source.is(DamageTypes.FALL))
return false;
if (source.is(DamageTypes.CACTUS))
return false;
if (source.is(DamageTypes.DROWN))
return false;
if (source.is(DamageTypes.LIGHTNING_BOLT))
return false;
if (source.is(DamageTypes.FALLING_ANVIL))
return false;
if (source.is(DamageTypes.DRAGON_BREATH))
return false;
if (source.is(DamageTypes.WITHER))
return false;
if (source.is(DamageTypes.WITHER_SKULL))
return false;
return super.hurt(source, amount);
}
@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;
}
@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;
}
@Override
public void addAdditionalSaveData(CompoundTag compound) {
super.addAdditionalSaveData(compound);
compound.putString("Texture", this.getTexture());
}
@Override
public void addAdditionalSaveData(CompoundTag compound) {
super.addAdditionalSaveData(compound);
compound.putString("Texture", this.getTexture());
}
@Override
public void readAdditionalSaveData(CompoundTag compound) {
super.readAdditionalSaveData(compound);
if (compound.contains("Texture"))
this.setTexture(compound.getString("Texture"));
}
@Override
public void readAdditionalSaveData(CompoundTag compound) {
super.readAdditionalSaveData(compound);
if (compound.contains("Texture"))
this.setTexture(compound.getString("Texture"));
}
@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();
@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();
Target1DangYouJiShiTiShiProcedure.execute(y, entity, sourceentity);
return retval;
}
Target1DangYouJiShiTiShiProcedure.execute(y, entity, sourceentity);
return retval;
}
@Override
public void baseTick() {
super.baseTick();
Target1DangShiTiGengXinKeShiProcedure.execute(this);
this.refreshDimensions();
}
@Override
public void baseTick() {
super.baseTick();
Target1DangShiTiGengXinKeShiProcedure.execute(this);
this.refreshDimensions();
}
@Override
public EntityDimensions getDimensions(Pose p_33597_) {
Entity entity = this;
@Override
public EntityDimensions getDimensions(Pose p_33597_) {
Entity entity = this;
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));
}
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));
}
@Override
public boolean isPushable() {
return false;
}
@Override
public boolean isPushable() {
return false;
}
@Override
protected void doPush(Entity entityIn) {
}
@Override
protected void doPush(Entity entityIn) {
}
@Override
protected void pushEntities() {
}
@Override
protected void pushEntities() {
}
@Override
protected void checkFallDamage(double y, boolean onGroundIn, BlockState state, BlockPos pos) {
}
@Override
protected void checkFallDamage(double y, boolean onGroundIn, BlockState state, BlockPos pos) {
}
@Override
public void setNoGravity(boolean ignored) {
super.setNoGravity(true);
}
@Override
public void setNoGravity(boolean ignored) {
super.setNoGravity(true);
}
@Override
public void aiStep() {
super.aiStep();
this.updateSwingTime();
this.setNoGravity(true);
}
@Override
public void aiStep() {
super.aiStep();
this.updateSwingTime();
this.setNoGravity(true);
}
public static void init() {
}
public static void init() {
}
public static AttributeSupplier.Builder createAttributes() {
AttributeSupplier.Builder builder = Mob.createMobAttributes();
builder = builder.add(Attributes.MOVEMENT_SPEED, 0);
builder = builder.add(Attributes.MAX_HEALTH, 40);
builder = builder.add(Attributes.ARMOR, 0);
builder = builder.add(Attributes.ATTACK_DAMAGE, 0);
builder = builder.add(Attributes.FOLLOW_RANGE, 16);
builder = builder.add(Attributes.KNOCKBACK_RESISTANCE, 10);
builder = builder.add(Attributes.FLYING_SPEED, 0);
return builder;
}
public static AttributeSupplier.Builder createAttributes() {
AttributeSupplier.Builder builder = Mob.createMobAttributes();
builder = builder.add(Attributes.MOVEMENT_SPEED, 0);
builder = builder.add(Attributes.MAX_HEALTH, 40);
builder = builder.add(Attributes.ARMOR, 0);
builder = builder.add(Attributes.ATTACK_DAMAGE, 0);
builder = builder.add(Attributes.FOLLOW_RANGE, 16);
builder = builder.add(Attributes.KNOCKBACK_RESISTANCE, 10);
builder = builder.add(Attributes.FLYING_SPEED, 0);
return builder;
}
private PlayState movementPredicate(AnimationState event) {
if (this.animationprocedure.equals("empty")) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.target.idle"));
}
return PlayState.STOP;
}
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) {
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) {
this.animationprocedure = "empty";
event.getController().forceAnimationReset();
}
} else if (animationprocedure.equals("empty")) {
return PlayState.STOP;
}
return PlayState.CONTINUE;
}
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) {
this.animationprocedure = "empty";
event.getController().forceAnimationReset();
}
} else if (animationprocedure.equals("empty")) {
return PlayState.STOP;
}
return PlayState.CONTINUE;
}
@Override
protected void tickDeath() {
++this.deathTime;
if (this.deathTime == 100) {
this.remove(Target1Entity.RemovalReason.KILLED);
this.dropExperience();
}
}
@Override
protected void tickDeath() {
++this.deathTime;
if (this.deathTime == 100) {
this.remove(Target1Entity.RemovalReason.KILLED);
this.dropExperience();
}
}
public String getSyncedAnimation() {
return this.entityData.get(ANIMATION);
}
public String getSyncedAnimation() {
return this.entityData.get(ANIMATION);
}
public void setAnimation(String animation) {
this.entityData.set(ANIMATION, animation);
}
public void setAnimation(String animation) {
this.entityData.set(ANIMATION, animation);
}
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
data.add(new AnimationController<>(this, "movement", 0, this::movementPredicate));
data.add(new AnimationController<>(this, "procedure", 0, this::procedurePredicate));
}
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
data.add(new AnimationController<>(this, "movement", 0, this::movementPredicate));
data.add(new AnimationController<>(this, "procedure", 0, this::procedurePredicate));
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
}

View file

@ -1,265 +1,254 @@
package net.mcreator.target.entity;
import software.bernie.geckolib.util.GeckoLibUtil;
import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.core.animation.AnimationController;
import software.bernie.geckolib.core.animation.AnimatableManager;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animatable.GeoEntity;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.network.PlayMessages;
import net.minecraftforge.network.NetworkHooks;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.Level;
import net.minecraft.world.entity.projectile.ThrownPotion;
import net.minecraft.world.entity.ai.navigation.PathNavigation;
import net.minecraft.world.entity.ai.navigation.FlyingPathNavigation;
import net.minecraft.world.entity.ai.control.FlyingMoveControl;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
import net.minecraft.world.entity.Pose;
import net.minecraft.world.entity.PathfinderMob;
import net.minecraft.world.entity.MobType;
import net.minecraft.world.entity.Mob;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.EntityDimensions;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.AreaEffectCloud;
import net.minecraft.world.damagesource.DamageTypes;
import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.network.syncher.SynchedEntityData;
import net.minecraft.network.syncher.EntityDataSerializers;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.network.protocol.game.ClientGamePacketListener;
import net.minecraft.network.protocol.Packet;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.core.BlockPos;
import net.mcreator.target.init.TargetModEntities;
import net.minecraft.core.BlockPos;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.protocol.Packet;
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.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.damagesource.DamageTypes;
import net.minecraft.world.entity.*;
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.ai.control.FlyingMoveControl;
import net.minecraft.world.entity.ai.navigation.FlyingPathNavigation;
import net.minecraft.world.entity.ai.navigation.PathNavigation;
import net.minecraft.world.entity.projectile.ThrownPotion;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraftforge.network.NetworkHooks;
import net.minecraftforge.network.PlayMessages;
import net.minecraftforge.registries.ForgeRegistries;
import software.bernie.geckolib.animatable.GeoEntity;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.core.animation.AnimatableManager;
import software.bernie.geckolib.core.animation.AnimationController;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.util.GeckoLibUtil;
public class TargetEntity extends PathfinderMob implements GeoEntity {
public static final EntityDataAccessor<Boolean> SHOOT = SynchedEntityData.defineId(TargetEntity.class, EntityDataSerializers.BOOLEAN);
public static final EntityDataAccessor<String> ANIMATION = SynchedEntityData.defineId(TargetEntity.class, EntityDataSerializers.STRING);
public static final EntityDataAccessor<String> TEXTURE = SynchedEntityData.defineId(TargetEntity.class, EntityDataSerializers.STRING);
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
private boolean swinging;
private boolean lastloop;
private long lastSwing;
public String animationprocedure = "empty";
public static final EntityDataAccessor<Boolean> SHOOT = SynchedEntityData.defineId(TargetEntity.class, EntityDataSerializers.BOOLEAN);
public static final EntityDataAccessor<String> ANIMATION = SynchedEntityData.defineId(TargetEntity.class, EntityDataSerializers.STRING);
public static final EntityDataAccessor<String> TEXTURE = SynchedEntityData.defineId(TargetEntity.class, EntityDataSerializers.STRING);
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
private boolean swinging;
private boolean lastloop;
private long lastSwing;
public String animationprocedure = "empty";
public TargetEntity(PlayMessages.SpawnEntity packet, Level world) {
this(TargetModEntities.TARGET.get(), world);
}
public TargetEntity(PlayMessages.SpawnEntity packet, Level world) {
this(TargetModEntities.TARGET.get(), world);
}
public TargetEntity(EntityType<TargetEntity> type, Level world) {
super(type, world);
xpReward = 0;
setNoAi(true);
setPersistenceRequired();
this.moveControl = new FlyingMoveControl(this, 10, true);
}
public TargetEntity(EntityType<TargetEntity> type, Level world) {
super(type, world);
xpReward = 0;
setNoAi(true);
setPersistenceRequired();
this.moveControl = new FlyingMoveControl(this, 10, true);
}
@Override
protected void defineSynchedData() {
super.defineSynchedData();
this.entityData.define(SHOOT, false);
this.entityData.define(ANIMATION, "undefined");
this.entityData.define(TEXTURE, "target");
}
@Override
protected void defineSynchedData() {
super.defineSynchedData();
this.entityData.define(SHOOT, false);
this.entityData.define(ANIMATION, "undefined");
this.entityData.define(TEXTURE, "target");
}
public void setTexture(String texture) {
this.entityData.set(TEXTURE, texture);
}
public void setTexture(String texture) {
this.entityData.set(TEXTURE, texture);
}
public String getTexture() {
return this.entityData.get(TEXTURE);
}
public String getTexture() {
return this.entityData.get(TEXTURE);
}
@Override
public Packet<ClientGamePacketListener> getAddEntityPacket() {
return NetworkHooks.getEntitySpawningPacket(this);
}
@Override
public Packet<ClientGamePacketListener> getAddEntityPacket() {
return NetworkHooks.getEntitySpawningPacket(this);
}
@Override
protected PathNavigation createNavigation(Level world) {
return new FlyingPathNavigation(this, world);
}
@Override
protected PathNavigation createNavigation(Level world) {
return new FlyingPathNavigation(this, world);
}
@Override
public MobType getMobType() {
return MobType.UNDEFINED;
}
@Override
public MobType getMobType() {
return MobType.UNDEFINED;
}
@Override
public boolean removeWhenFarAway(double distanceToClosestPlayer) {
return false;
}
@Override
public boolean removeWhenFarAway(double distanceToClosestPlayer) {
return false;
}
@Override
public SoundEvent getHurtSound(DamageSource ds) {
return ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("target:hit"));
}
@Override
public SoundEvent getHurtSound(DamageSource ds) {
return ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("target:hit"));
}
@Override
public SoundEvent getDeathSound() {
return ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("target:hit"));
}
@Override
public SoundEvent getDeathSound() {
return ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("target:hit"));
}
@Override
public boolean causeFallDamage(float l, float d, DamageSource source) {
return false;
}
@Override
public boolean causeFallDamage(float l, float d, DamageSource source) {
return false;
}
@Override
public boolean hurt(DamageSource source, float amount) {
if (source.is(DamageTypes.IN_FIRE))
return false;
if (source.getDirectEntity() instanceof ThrownPotion || source.getDirectEntity() instanceof AreaEffectCloud)
return false;
if (source.is(DamageTypes.FALL))
return false;
if (source.is(DamageTypes.CACTUS))
return false;
if (source.is(DamageTypes.DROWN))
return false;
if (source.is(DamageTypes.LIGHTNING_BOLT))
return false;
if (source.is(DamageTypes.EXPLOSION))
return false;
if (source.is(DamageTypes.FALLING_ANVIL))
return false;
if (source.is(DamageTypes.DRAGON_BREATH))
return false;
if (source.is(DamageTypes.WITHER))
return false;
if (source.is(DamageTypes.WITHER_SKULL))
return false;
return super.hurt(source, amount);
}
@Override
public boolean hurt(DamageSource source, float amount) {
if (source.is(DamageTypes.IN_FIRE))
return false;
if (source.getDirectEntity() instanceof ThrownPotion || source.getDirectEntity() instanceof AreaEffectCloud)
return false;
if (source.is(DamageTypes.FALL))
return false;
if (source.is(DamageTypes.CACTUS))
return false;
if (source.is(DamageTypes.DROWN))
return false;
if (source.is(DamageTypes.LIGHTNING_BOLT))
return false;
if (source.is(DamageTypes.EXPLOSION))
return false;
if (source.is(DamageTypes.FALLING_ANVIL))
return false;
if (source.is(DamageTypes.DRAGON_BREATH))
return false;
if (source.is(DamageTypes.WITHER))
return false;
if (source.is(DamageTypes.WITHER_SKULL))
return false;
return super.hurt(source, amount);
}
@Override
public void addAdditionalSaveData(CompoundTag compound) {
super.addAdditionalSaveData(compound);
compound.putString("Texture", this.getTexture());
}
@Override
public void addAdditionalSaveData(CompoundTag compound) {
super.addAdditionalSaveData(compound);
compound.putString("Texture", this.getTexture());
}
@Override
public void readAdditionalSaveData(CompoundTag compound) {
super.readAdditionalSaveData(compound);
if (compound.contains("Texture"))
this.setTexture(compound.getString("Texture"));
}
@Override
public void readAdditionalSaveData(CompoundTag compound) {
super.readAdditionalSaveData(compound);
if (compound.contains("Texture"))
this.setTexture(compound.getString("Texture"));
}
@Override
public void baseTick() {
super.baseTick();
this.refreshDimensions();
}
@Override
public void baseTick() {
super.baseTick();
this.refreshDimensions();
}
@Override
public EntityDimensions getDimensions(Pose p_33597_) {
return super.getDimensions(p_33597_).scale((float) 1);
}
@Override
public EntityDimensions getDimensions(Pose p_33597_) {
return super.getDimensions(p_33597_).scale((float) 1);
}
@Override
public boolean isPushable() {
return false;
}
@Override
public boolean isPushable() {
return false;
}
@Override
protected void doPush(Entity entityIn) {
}
@Override
protected void doPush(Entity entityIn) {
}
@Override
protected void pushEntities() {
}
@Override
protected void pushEntities() {
}
@Override
protected void checkFallDamage(double y, boolean onGroundIn, BlockState state, BlockPos pos) {
}
@Override
protected void checkFallDamage(double y, boolean onGroundIn, BlockState state, BlockPos pos) {
}
@Override
public void setNoGravity(boolean ignored) {
super.setNoGravity(true);
}
@Override
public void setNoGravity(boolean ignored) {
super.setNoGravity(true);
}
@Override
public void aiStep() {
super.aiStep();
this.updateSwingTime();
this.setNoGravity(true);
}
@Override
public void aiStep() {
super.aiStep();
this.updateSwingTime();
this.setNoGravity(true);
}
public static void init() {
}
public static void init() {
}
public static AttributeSupplier.Builder createAttributes() {
AttributeSupplier.Builder builder = Mob.createMobAttributes();
builder = builder.add(Attributes.MOVEMENT_SPEED, 0);
builder = builder.add(Attributes.MAX_HEALTH, 5);
builder = builder.add(Attributes.ARMOR, 0);
builder = builder.add(Attributes.ATTACK_DAMAGE, 0);
builder = builder.add(Attributes.FOLLOW_RANGE, 16);
builder = builder.add(Attributes.KNOCKBACK_RESISTANCE, 10);
builder = builder.add(Attributes.FLYING_SPEED, 0);
return builder;
}
public static AttributeSupplier.Builder createAttributes() {
AttributeSupplier.Builder builder = Mob.createMobAttributes();
builder = builder.add(Attributes.MOVEMENT_SPEED, 0);
builder = builder.add(Attributes.MAX_HEALTH, 5);
builder = builder.add(Attributes.ARMOR, 0);
builder = builder.add(Attributes.ATTACK_DAMAGE, 0);
builder = builder.add(Attributes.FOLLOW_RANGE, 16);
builder = builder.add(Attributes.KNOCKBACK_RESISTANCE, 10);
builder = builder.add(Attributes.FLYING_SPEED, 0);
return builder;
}
private PlayState movementPredicate(AnimationState event) {
if (this.animationprocedure.equals("empty")) {
if (this.isDeadOrDying()) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.target2.down"));
}
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.target2.idle"));
}
return PlayState.STOP;
}
private PlayState movementPredicate(AnimationState event) {
if (this.animationprocedure.equals("empty")) {
if (this.isDeadOrDying()) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.target2.down"));
}
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.target2.idle"));
}
return PlayState.STOP;
}
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) {
this.animationprocedure = "empty";
event.getController().forceAnimationReset();
}
} else if (animationprocedure.equals("empty")) {
return PlayState.STOP;
}
return PlayState.CONTINUE;
}
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) {
this.animationprocedure = "empty";
event.getController().forceAnimationReset();
}
} else if (animationprocedure.equals("empty")) {
return PlayState.STOP;
}
return PlayState.CONTINUE;
}
@Override
protected void tickDeath() {
++this.deathTime;
if (this.deathTime == 20) {
this.remove(TargetEntity.RemovalReason.KILLED);
this.dropExperience();
}
}
@Override
protected void tickDeath() {
++this.deathTime;
if (this.deathTime == 20) {
this.remove(TargetEntity.RemovalReason.KILLED);
this.dropExperience();
}
}
public String getSyncedAnimation() {
return this.entityData.get(ANIMATION);
}
public String getSyncedAnimation() {
return this.entityData.get(ANIMATION);
}
public void setAnimation(String animation) {
this.entityData.set(ANIMATION, animation);
}
public void setAnimation(String animation) {
this.entityData.set(ANIMATION, animation);
}
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
data.add(new AnimationController<>(this, "movement", 0, this::movementPredicate));
data.add(new AnimationController<>(this, "procedure", 0, this::procedurePredicate));
}
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
data.add(new AnimationController<>(this, "movement", 0, this::movementPredicate));
data.add(new AnimationController<>(this, "procedure", 0, this::procedurePredicate));
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
}

View file

@ -1,185 +1,172 @@
package net.mcreator.target.entity;
import net.minecraft.commands.CommandSource;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.level.block.*;
import net.minecraft.world.phys.*;
import net.mcreator.target.headshot.BoundingBoxManager;
import net.mcreator.target.headshot.IHeadshotBox;
import net.mcreator.target.init.TargetModEntities;
import net.minecraftforge.network.PlayMessages;
import net.minecraftforge.network.NetworkHooks;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraft.world.phys.EntityHitResult;
import net.minecraft.world.level.Level;
import net.minecraft.world.entity.projectile.ItemSupplier;
import net.minecraft.world.entity.projectile.AbstractArrow;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.item.ItemStack;
import net.minecraft.util.RandomSource;
import net.minecraft.network.protocol.game.ClientGamePacketListener;
import net.minecraft.network.protocol.Packet;
import net.mcreator.target.procedures.TaserBulletTouZhiWuFeiXingKeProcedure;
import net.mcreator.target.procedures.TaserBulletDangTouZhiWuJiZhongShiTiShiProcedure;
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;
import net.minecraft.network.protocol.game.ClientGamePacketListener;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.util.RandomSource;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.projectile.AbstractArrow;
import net.minecraft.world.entity.projectile.ItemSupplier;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.EntityHitResult;
import net.minecraft.world.phys.Vec3;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.network.NetworkHooks;
import net.minecraftforge.network.PlayMessages;
import java.util.Optional;
@OnlyIn(value = Dist.CLIENT, _interface = ItemSupplier.class)
public class TaserBulletProjectileEntity extends AbstractArrow implements ItemSupplier {
public static final ItemStack PROJECTILE_ITEM = new ItemStack(Blocks.AIR);
public static final ItemStack PROJECTILE_ITEM = new ItemStack(Blocks.AIR);
public TaserBulletProjectileEntity(PlayMessages.SpawnEntity packet, Level world) {
super(TargetModEntities.TASER_BULLET_PROJECTILE.get(), world);
}
public TaserBulletProjectileEntity(PlayMessages.SpawnEntity packet, Level world) {
super(TargetModEntities.TASER_BULLET_PROJECTILE.get(), world);
}
public TaserBulletProjectileEntity(EntityType<? extends TaserBulletProjectileEntity> type, Level world) {
super(type, world);
}
public TaserBulletProjectileEntity(EntityType<? extends TaserBulletProjectileEntity> type, Level world) {
super(type, world);
}
public TaserBulletProjectileEntity(EntityType<? extends TaserBulletProjectileEntity> type, double x, double y, double z, Level world) {
super(type, x, y, z, world);
}
public TaserBulletProjectileEntity(EntityType<? extends TaserBulletProjectileEntity> type, double x, double y, double z, Level world) {
super(type, x, y, z, world);
}
public TaserBulletProjectileEntity(EntityType<? extends TaserBulletProjectileEntity> type, LivingEntity entity, Level world) {
super(type, entity, world);
}
public TaserBulletProjectileEntity(EntityType<? extends TaserBulletProjectileEntity> type, LivingEntity entity, Level world) {
super(type, entity, world);
}
@Override
public Packet<ClientGamePacketListener> getAddEntityPacket() {
return NetworkHooks.getEntitySpawningPacket(this);
}
@Override
public Packet<ClientGamePacketListener> getAddEntityPacket() {
return NetworkHooks.getEntitySpawningPacket(this);
}
@Override
@OnlyIn(Dist.CLIENT)
public ItemStack getItem() {
return PROJECTILE_ITEM;
}
@Override
@OnlyIn(Dist.CLIENT)
public ItemStack getItem() {
return PROJECTILE_ITEM;
}
@Override
protected ItemStack getPickupItem() {
return PROJECTILE_ITEM;
}
@Override
protected ItemStack getPickupItem() {
return PROJECTILE_ITEM;
}
@Override
protected void doPostHurtEffects(LivingEntity entity) {
super.doPostHurtEffects(entity);
entity.setArrowCount(entity.getArrowCount() - 1);
}
@Override
protected void doPostHurtEffects(LivingEntity entity) {
super.doPostHurtEffects(entity);
entity.setArrowCount(entity.getArrowCount() - 1);
}
@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.syncPlayerVariables(living);
});
Entity _ent = living;
if (!_ent.level().isClientSide() && _ent.getServer() != null) {
_ent.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, _ent.position(), _ent.getRotationVector(), _ent.level() instanceof ServerLevel ? (ServerLevel) _ent.level() : null, 4,
_ent.getName().getString(), _ent.getDisplayName(), _ent.level().getServer(), _ent), "playsound target:indication voice @a ~ ~ ~ 1 1");
}
}
if (entity instanceof LivingEntity livingEntity) {
entity.invulnerableTime = 0;
@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.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");
}
}
AABB boundingBox = entity.getBoundingBox();
Vec3 startVec = this.position();
Vec3 endVec = startVec.add(this.getDeltaMovement());
Vec3 hitPos = boundingBox.clip(startVec, endVec).orElse(null);
/* Check for headshot */
boolean headshot = false;
if(entity instanceof LivingEntity)
{
IHeadshotBox<LivingEntity> headshotBox = (IHeadshotBox<LivingEntity>) BoundingBoxManager.getHeadshotBoxes(entity.getType());
if(headshotBox != null)
{
AABB box = headshotBox.getHeadshotBox((LivingEntity) entity);
if(box != null)
{
box = box.move(boundingBox.getCenter().x, boundingBox.minY, boundingBox.getCenter().z);
Optional<Vec3> headshotHitPos = box.clip(startVec, endVec);
if(!headshotHitPos.isPresent())
{
box = box.inflate( 0.2, 0.2, 0.2);
headshotHitPos = box.clip(startVec, endVec);
}
if(headshotHitPos.isPresent() && (hitPos == null || headshotHitPos.get().distanceTo(hitPos) < 0.55))
{
hitPos = headshotHitPos.get();
headshot = true;
}
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.syncPlayerVariables(living);
});
Entity _ent = living;
if (!_ent.level().isClientSide() && _ent.getServer() != null) {
_ent.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, _ent.position(), _ent.getRotationVector(), _ent.level() instanceof ServerLevel ? (ServerLevel) _ent.level() : null, 4,
_ent.getName().getString(), _ent.getDisplayName(), _ent.level().getServer(), _ent), "playsound target:headshot voice @a ~ ~ ~ 1 1");
}
}
}
}
}
}
super.onHitEntity(result);
TaserBulletDangTouZhiWuJiZhongShiTiShiProcedure.execute(result.getEntity(), this, this.getOwner());
this.discard();
if (entity instanceof LivingEntity) {
entity.invulnerableTime = 0;
}
AABB boundingBox = entity.getBoundingBox();
Vec3 startVec = this.position();
Vec3 endVec = startVec.add(this.getDeltaMovement());
Vec3 hitPos = boundingBox.clip(startVec, endVec).orElse(null);
/* Check for headshot */
boolean headshot = false;
if (entity instanceof LivingEntity) {
IHeadshotBox<LivingEntity> headshotBox = (IHeadshotBox<LivingEntity>) BoundingBoxManager.getHeadshotBoxes(entity.getType());
if (headshotBox != null) {
AABB box = headshotBox.getHeadshotBox((LivingEntity) entity);
if (box != null) {
box = box.move(boundingBox.getCenter().x, boundingBox.minY, boundingBox.getCenter().z);
Optional<Vec3> headshotHitPos = box.clip(startVec, endVec);
if (headshotHitPos.isEmpty()) {
box = box.inflate(0.2, 0.2, 0.2);
headshotHitPos = box.clip(startVec, endVec);
}
if (headshotHitPos.isPresent() && (hitPos == null || headshotHitPos.get().distanceTo(hitPos) < 0.55)) {
headshot = true;
}
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.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:headshot voice @a ~ ~ ~ 1 1");
}
}
}
}
}
}
super.onHitEntity(result);
TaserBulletDangTouZhiWuJiZhongShiTiShiProcedure.execute(result.getEntity(), this, this.getOwner());
this.discard();
}
@Override
public void tick() {
super.tick();
TaserBulletTouZhiWuFeiXingKeProcedure.execute(this);
if(this.tickCount>200){
this.discard();
}
}
@Override
public void tick() {
super.tick();
TaserBulletTouZhiWuFeiXingKeProcedure.execute(this);
if (this.tickCount > 200) {
this.discard();
}
}
public static TaserBulletProjectileEntity shoot(Level world, LivingEntity entity, RandomSource source) {
return shoot(world, entity, source, 1f, 5, 5);
}
public static TaserBulletProjectileEntity shoot(Level world, LivingEntity entity, RandomSource source) {
return shoot(world, entity, source, 1f, 5, 5);
}
public static TaserBulletProjectileEntity shoot(Level world, LivingEntity entity, RandomSource random, float power, double damage, int knockback) {
TaserBulletProjectileEntity entityarrow = new TaserBulletProjectileEntity(TargetModEntities.TASER_BULLET_PROJECTILE.get(), entity, world);
entityarrow.shoot(entity.getViewVector(1).x, entity.getViewVector(1).y, entity.getViewVector(1).z, power * 2, 0);
entityarrow.setSilent(true);
entityarrow.setCritArrow(false);
entityarrow.setBaseDamage(damage);
entityarrow.setKnockback(knockback);
world.addFreshEntity(entityarrow);
return entityarrow;
}
public static TaserBulletProjectileEntity shoot(Level world, LivingEntity entity, RandomSource random, float power, double damage, int knockback) {
TaserBulletProjectileEntity entityarrow = new TaserBulletProjectileEntity(TargetModEntities.TASER_BULLET_PROJECTILE.get(), entity, world);
entityarrow.shoot(entity.getViewVector(1).x, entity.getViewVector(1).y, entity.getViewVector(1).z, power * 2, 0);
entityarrow.setSilent(true);
entityarrow.setCritArrow(false);
entityarrow.setBaseDamage(damage);
entityarrow.setKnockback(knockback);
world.addFreshEntity(entityarrow);
return entityarrow;
}
public static TaserBulletProjectileEntity shoot(LivingEntity entity, LivingEntity target) {
TaserBulletProjectileEntity entityarrow = new TaserBulletProjectileEntity(TargetModEntities.TASER_BULLET_PROJECTILE.get(), entity, entity.level());
double dx = target.getX() - entity.getX();
double dy = target.getY() + target.getEyeHeight() - 1.1;
double dz = target.getZ() - entity.getZ();
entityarrow.shoot(dx, dy - entityarrow.getY() + Math.hypot(dx, dz) * 0.2F, dz, 1f * 2, 12.0F);
entityarrow.setSilent(true);
entityarrow.setBaseDamage(5);
entityarrow.setKnockback(5);
entityarrow.setCritArrow(false);
entity.level().addFreshEntity(entityarrow);
return entityarrow;
}
public static TaserBulletProjectileEntity shoot(LivingEntity entity, LivingEntity target) {
TaserBulletProjectileEntity entityarrow = new TaserBulletProjectileEntity(TargetModEntities.TASER_BULLET_PROJECTILE.get(), entity, entity.level());
double dx = target.getX() - entity.getX();
double dy = target.getY() + target.getEyeHeight() - 1.1;
double dz = target.getZ() - entity.getZ();
entityarrow.shoot(dx, dy - entityarrow.getY() + Math.hypot(dx, dz) * 0.2F, dz, 1f * 2, 12.0F);
entityarrow.setSilent(true);
entityarrow.setBaseDamage(5);
entityarrow.setKnockback(5);
entityarrow.setCritArrow(false);
entity.level().addFreshEntity(entityarrow);
return entityarrow;
}
}

View file

@ -1,29 +1,26 @@
package net.mcreator.target.entity.layer;
import software.bernie.geckolib.renderer.layer.GeoRenderLayer;
import software.bernie.geckolib.renderer.GeoRenderer;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.MultiBufferSource;
import net.mcreator.target.entity.TargetEntity;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.target.entity.TargetEntity;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.renderer.GeoRenderer;
import software.bernie.geckolib.renderer.layer.GeoRenderLayer;
public class TargetLayer extends GeoRenderLayer<TargetEntity> {
private static final ResourceLocation LAYER = new ResourceLocation("target", "textures/entities/target_e.png");
private static final ResourceLocation LAYER = new ResourceLocation("target", "textures/entities/target_e.png");
public TargetLayer(GeoRenderer<TargetEntity> entityRenderer) {
super(entityRenderer);
}
public TargetLayer(GeoRenderer<TargetEntity> entityRenderer) {
super(entityRenderer);
}
@Override
public void render(PoseStack poseStack, TargetEntity animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) {
RenderType glowRenderType = RenderType.eyes(LAYER);
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 1, 1, 1, 1);
}
@Override
public void render(PoseStack poseStack, TargetEntity animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) {
RenderType glowRenderType = RenderType.eyes(LAYER);
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 1, 1, 1, 1);
}
}

View file

@ -1,25 +1,23 @@
package net.mcreator.target.entity.model;
import net.mcreator.target.entity.ClaymoreEntity;
import net.minecraft.resources.ResourceLocation;
import software.bernie.geckolib.model.GeoModel;
import net.minecraft.resources.ResourceLocation;
import net.mcreator.target.entity.ClaymoreEntity;
public class ClaymoreModel extends GeoModel<ClaymoreEntity> {
@Override
public ResourceLocation getAnimationResource(ClaymoreEntity entity) {
return new ResourceLocation("target", "animations/claymore.animation.json");
}
@Override
public ResourceLocation getAnimationResource(ClaymoreEntity entity) {
return new ResourceLocation("target", "animations/claymore.animation.json");
}
@Override
public ResourceLocation getModelResource(ClaymoreEntity entity) {
return new ResourceLocation("target", "geo/claymore.geo.json");
}
@Override
public ResourceLocation getModelResource(ClaymoreEntity entity) {
return new ResourceLocation("target", "geo/claymore.geo.json");
}
@Override
public ResourceLocation getTextureResource(ClaymoreEntity entity) {
return new ResourceLocation("target", "textures/entities/" + entity.getTexture() + ".png");
}
@Override
public ResourceLocation getTextureResource(ClaymoreEntity entity) {
return new ResourceLocation("target", "textures/entities/" + entity.getTexture() + ".png");
}
}

View file

@ -1,41 +1,39 @@
package net.mcreator.target.entity.model;
import software.bernie.geckolib.model.data.EntityModelData;
import software.bernie.geckolib.model.GeoModel;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.core.animatable.model.CoreGeoBone;
import software.bernie.geckolib.constant.DataTickets;
import net.minecraft.util.Mth;
import net.minecraft.resources.ResourceLocation;
import net.mcreator.target.entity.MortarEntity;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth;
import software.bernie.geckolib.constant.DataTickets;
import software.bernie.geckolib.core.animatable.model.CoreGeoBone;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.model.GeoModel;
import software.bernie.geckolib.model.data.EntityModelData;
public class MortarModel extends GeoModel<MortarEntity> {
@Override
public ResourceLocation getAnimationResource(MortarEntity entity) {
return new ResourceLocation("target", "animations/mortar.animation.json");
}
@Override
public ResourceLocation getAnimationResource(MortarEntity entity) {
return new ResourceLocation("target", "animations/mortar.animation.json");
}
@Override
public ResourceLocation getModelResource(MortarEntity entity) {
return new ResourceLocation("target", "geo/mortar.geo.json");
}
@Override
public ResourceLocation getModelResource(MortarEntity entity) {
return new ResourceLocation("target", "geo/mortar.geo.json");
}
@Override
public ResourceLocation getTextureResource(MortarEntity entity) {
return new ResourceLocation("target", "textures/entities/" + entity.getTexture() + ".png");
}
@Override
public ResourceLocation getTextureResource(MortarEntity entity) {
return new ResourceLocation("target", "textures/entities/" + entity.getTexture() + ".png");
}
@Override
public void setCustomAnimations(MortarEntity animatable, long instanceId, AnimationState animationState) {
CoreGeoBone head = getAnimationProcessor().getBone("paoguan");
CoreGeoBone jiaojia = getAnimationProcessor().getBone("jiaojia");
if (head != null) {
EntityModelData entityData = (EntityModelData) animationState.getData(DataTickets.ENTITY_MODEL_DATA);
head.setRotX((entityData.headPitch()) * Mth.DEG_TO_RAD);
jiaojia.setRotX(-2 * ((entityData.headPitch() - (10 - entityData.headPitch() * 0.1f)) * Mth.DEG_TO_RAD));
}
@Override
public void setCustomAnimations(MortarEntity animatable, long instanceId, AnimationState animationState) {
CoreGeoBone head = getAnimationProcessor().getBone("paoguan");
CoreGeoBone jiaojia = getAnimationProcessor().getBone("jiaojia");
if (head != null) {
EntityModelData entityData = (EntityModelData) animationState.getData(DataTickets.ENTITY_MODEL_DATA);
head.setRotX((entityData.headPitch()) * Mth.DEG_TO_RAD);
jiaojia.setRotX(-2 * ((entityData.headPitch() - (10 - entityData.headPitch() * 0.1f)) * Mth.DEG_TO_RAD));
}
}
}
}

View file

@ -1,40 +1,38 @@
package net.mcreator.target.entity.model;
import software.bernie.geckolib.model.data.EntityModelData;
import software.bernie.geckolib.model.GeoModel;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.core.animatable.model.CoreGeoBone;
import software.bernie.geckolib.constant.DataTickets;
import net.minecraft.util.Mth;
import net.minecraft.resources.ResourceLocation;
import net.mcreator.target.entity.SenpaiEntity;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth;
import software.bernie.geckolib.constant.DataTickets;
import software.bernie.geckolib.core.animatable.model.CoreGeoBone;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.model.GeoModel;
import software.bernie.geckolib.model.data.EntityModelData;
public class SenpaiModel extends GeoModel<SenpaiEntity> {
@Override
public ResourceLocation getAnimationResource(SenpaiEntity entity) {
return new ResourceLocation("target", "animations/senpai.animation.json");
}
@Override
public ResourceLocation getAnimationResource(SenpaiEntity entity) {
return new ResourceLocation("target", "animations/senpai.animation.json");
}
@Override
public ResourceLocation getModelResource(SenpaiEntity entity) {
return new ResourceLocation("target", "geo/senpai.geo.json");
}
@Override
public ResourceLocation getModelResource(SenpaiEntity entity) {
return new ResourceLocation("target", "geo/senpai.geo.json");
}
@Override
public ResourceLocation getTextureResource(SenpaiEntity entity) {
return new ResourceLocation("target", "textures/entities/" + entity.getTexture() + ".png");
}
@Override
public ResourceLocation getTextureResource(SenpaiEntity entity) {
return new ResourceLocation("target", "textures/entities/" + entity.getTexture() + ".png");
}
@Override
public void setCustomAnimations(SenpaiEntity animatable, long instanceId, AnimationState animationState) {
CoreGeoBone head = getAnimationProcessor().getBone("head");
if (head != null) {
EntityModelData entityData = (EntityModelData) animationState.getData(DataTickets.ENTITY_MODEL_DATA);
head.setRotX(entityData.headPitch() * Mth.DEG_TO_RAD);
head.setRotY(entityData.netHeadYaw() * Mth.DEG_TO_RAD);
}
@Override
public void setCustomAnimations(SenpaiEntity animatable, long instanceId, AnimationState animationState) {
CoreGeoBone head = getAnimationProcessor().getBone("head");
if (head != null) {
EntityModelData entityData = (EntityModelData) animationState.getData(DataTickets.ENTITY_MODEL_DATA);
head.setRotX(entityData.headPitch() * Mth.DEG_TO_RAD);
head.setRotY(entityData.netHeadYaw() * Mth.DEG_TO_RAD);
}
}
}
}

View file

@ -1,36 +1,34 @@
package net.mcreator.target.entity.model;
import software.bernie.geckolib.model.data.EntityModelData;
import software.bernie.geckolib.model.GeoModel;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.core.animatable.model.CoreGeoBone;
import software.bernie.geckolib.constant.DataTickets;
import net.minecraft.util.Mth;
import net.minecraft.resources.ResourceLocation;
import net.mcreator.target.entity.Target1Entity;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth;
import software.bernie.geckolib.constant.DataTickets;
import software.bernie.geckolib.core.animatable.model.CoreGeoBone;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.model.GeoModel;
import software.bernie.geckolib.model.data.EntityModelData;
public class Target1Model extends GeoModel<Target1Entity> {
@Override
public ResourceLocation getAnimationResource(Target1Entity entity) {
return new ResourceLocation("target", "animations/target.animation.json");
}
@Override
public ResourceLocation getAnimationResource(Target1Entity entity) {
return new ResourceLocation("target", "animations/target.animation.json");
}
@Override
public ResourceLocation getModelResource(Target1Entity entity) {
return new ResourceLocation("target", "geo/target.geo.json");
}
@Override
public ResourceLocation getModelResource(Target1Entity entity) {
return new ResourceLocation("target", "geo/target.geo.json");
}
@Override
public ResourceLocation getTextureResource(Target1Entity entity) {
return new ResourceLocation("target", "textures/entities/" + entity.getTexture() + ".png");
}
@Override
public ResourceLocation getTextureResource(Target1Entity entity) {
return new ResourceLocation("target", "textures/entities/" + entity.getTexture() + ".png");
}
@Override
public void setCustomAnimations(Target1Entity animatable, long instanceId, AnimationState animationState) {
CoreGeoBone head = getAnimationProcessor().getBone("ba");
EntityModelData entityData = (EntityModelData) animationState.getData(DataTickets.ENTITY_MODEL_DATA);
head.setRotX(entityData.headPitch() * Mth.DEG_TO_RAD);
}
@Override
public void setCustomAnimations(Target1Entity animatable, long instanceId, AnimationState animationState) {
CoreGeoBone head = getAnimationProcessor().getBone("ba");
EntityModelData entityData = (EntityModelData) animationState.getData(DataTickets.ENTITY_MODEL_DATA);
head.setRotX(entityData.headPitch() * Mth.DEG_TO_RAD);
}
}

View file

@ -1,25 +1,23 @@
package net.mcreator.target.entity.model;
import net.mcreator.target.entity.TargetEntity;
import net.minecraft.resources.ResourceLocation;
import software.bernie.geckolib.model.GeoModel;
import net.minecraft.resources.ResourceLocation;
import net.mcreator.target.entity.TargetEntity;
public class TargetModel extends GeoModel<TargetEntity> {
@Override
public ResourceLocation getAnimationResource(TargetEntity entity) {
return new ResourceLocation("target", "animations/target2.animation.json");
}
@Override
public ResourceLocation getAnimationResource(TargetEntity entity) {
return new ResourceLocation("target", "animations/target2.animation.json");
}
@Override
public ResourceLocation getModelResource(TargetEntity entity) {
return new ResourceLocation("target", "geo/target2.geo.json");
}
@Override
public ResourceLocation getModelResource(TargetEntity entity) {
return new ResourceLocation("target", "geo/target2.geo.json");
}
@Override
public ResourceLocation getTextureResource(TargetEntity entity) {
return new ResourceLocation("target", "textures/entities/" + entity.getTexture() + ".png");
}
@Override
public ResourceLocation getTextureResource(TargetEntity entity) {
return new ResourceLocation("target", "textures/entities/" + entity.getTexture() + ".png");
}
}

View file

@ -8,21 +8,18 @@ import javax.annotation.Nullable;
/**
* Author: MrCrayfish
*/
public class BasicHeadshotBox<T extends LivingEntity> implements IHeadshotBox<T>
{
public class BasicHeadshotBox<T extends LivingEntity> implements IHeadshotBox<T> {
protected double headWidth;
protected double headHeight;
protected double headYOffset;
public BasicHeadshotBox(double headSize, double headYOffset)
{
public BasicHeadshotBox(double headSize, double headYOffset) {
this.headWidth = headSize;
this.headHeight = headSize;
this.headYOffset = headYOffset;
}
public BasicHeadshotBox(double headWidth, double headHeight, double headYOffset)
{
public BasicHeadshotBox(double headWidth, double headHeight, double headYOffset) {
this.headWidth = headWidth;
this.headHeight = headHeight;
this.headYOffset = headYOffset;
@ -30,8 +27,7 @@ public class BasicHeadshotBox<T extends LivingEntity> implements IHeadshotBox<T>
@Nullable
@Override
public AABB getHeadshotBox(T entity)
{
public AABB getHeadshotBox(T entity) {
double halfWidth = this.headWidth / 2.0;
AABB headBox = new AABB(-halfWidth * 0.0625, 0, -halfWidth * 0.0625, halfWidth * 0.0625, this.headHeight * 0.0625, halfWidth * 0.0625);
headBox = headBox.move(0, this.headYOffset * 0.0625, 0);

View file

@ -1,5 +1,7 @@
package net.mcreator.target.headshot;
//import com.mrcrayfish.guns.Config;
import net.mcreator.target.init.TargetModEntities;
import net.minecraft.util.Mth;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EntityType;
@ -11,9 +13,6 @@ import net.minecraftforge.event.TickEvent;
import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.LogicalSide;
import net.mcreator.target.entity.Target1Entity;
import net.mcreator.target.entity.SenpaiEntity;
import net.mcreator.target.init.TargetModEntities;
import javax.annotation.Nullable;
import java.util.HashMap;
@ -26,30 +25,25 @@ import java.util.WeakHashMap;
/**
* Author: MrCrayfish
*/
public class BoundingBoxManager
{
private static Map<EntityType<?>, IHeadshotBox<?>> headshotBoxes = new HashMap<>();
private static WeakHashMap<Player, LinkedList<AABB>> playerBoxes = new WeakHashMap<>();
public class BoundingBoxManager {
private static final Map<EntityType<?>, IHeadshotBox<?>> headshotBoxes = new HashMap<>();
private static final WeakHashMap<Player, LinkedList<AABB>> playerBoxes = new WeakHashMap<>();
static
{
static {
/* Player */
registerHeadshotBox(EntityType.PLAYER, (entity) -> {
AABB headBox = new AABB(-4 * 0.0625, 0, -4 * 0.0625, 4 * 0.0625, 8 * 0.0625, 4 * 0.0625);
double scale = 30.0 / 32.0;
if(entity.getBbHeight() <= 1)
{
if (entity.getBbHeight() <= 1) {
headBox = headBox.move(0, 3 * 0.0625, 0);
Vec3 pos = Vec3.directionFromRotation(entity.getXRot(), entity.yBodyRot).normalize().scale(0.8);
headBox = headBox.move(pos);
}
else
{
} else {
headBox = headBox.move(0, entity.isShiftKeyDown() ? 20 * 0.0625 : 24 * 0.0625, 0);
}
return new AABB(headBox.minX * scale, headBox.minY * scale, headBox.minZ * scale, headBox.maxX * scale, headBox.maxY * scale, headBox.maxZ * scale);
});
registerHeadshotBox(TargetModEntities.SENPAI.get(), new BasicHeadshotBox<>(8.0, 22.0));
registerHeadshotBox(TargetModEntities.SENPAI.get(), new BasicHeadshotBox<>(8.0, 22.0));
registerHeadshotBox(TargetModEntities.TARGET_1.get(), new BasicHeadshotBox<>(14.0, 20.0));
registerHeadshotBox(EntityType.ZOMBIE, new ChildHeadshotBox<>(8.0, 26.0, 0.75, 0.5));
registerHeadshotBox(EntityType.ZOMBIFIED_PIGLIN, new ChildHeadshotBox<>(8.0, 26.0, 0.75, 0.5));
@ -96,50 +90,41 @@ public class BoundingBoxManager
* @param headshotBox a {@link IHeadshotBox} get
* @param <T> a type that extends {@link LivingEntity}
*/
public static <T extends LivingEntity> void registerHeadshotBox(EntityType<T> type, IHeadshotBox<T> headshotBox)
{
public static <T extends LivingEntity> void registerHeadshotBox(EntityType<T> type, IHeadshotBox<T> headshotBox) {
headshotBoxes.putIfAbsent(type, headshotBox);
}
@Nullable
@SuppressWarnings("unchecked")
public static <T extends Entity> IHeadshotBox<T> getHeadshotBoxes(EntityType<T> type)
{
public static <T extends Entity> IHeadshotBox<T> getHeadshotBoxes(EntityType<T> type) {
return (IHeadshotBox<T>) headshotBoxes.get(type);
}
@SubscribeEvent(receiveCanceled = true)
public void onPlayerTick(TickEvent.PlayerTickEvent event)
{
public void onPlayerTick(TickEvent.PlayerTickEvent event) {
// if(!Config.COMMON.gameplay.improvedHitboxes.get())
// return;
if(event.side == LogicalSide.SERVER && event.phase == TickEvent.Phase.END)
{
if(event.player.isSpectator())
{
if (event.side == LogicalSide.SERVER && event.phase == TickEvent.Phase.END) {
if (event.player.isSpectator()) {
playerBoxes.remove(event.player);
return;
}
LinkedList<AABB> boxes = playerBoxes.computeIfAbsent(event.player, player -> new LinkedList<>());
boxes.addFirst(event.player.getBoundingBox());
if(boxes.size() > 20)
{
if (boxes.size() > 20) {
boxes.removeLast();
}
}
}
@SubscribeEvent(receiveCanceled = true)
public void onPlayerLoggedOut(PlayerEvent.PlayerLoggedOutEvent event)
{
public void onPlayerLoggedOut(PlayerEvent.PlayerLoggedOutEvent event) {
playerBoxes.remove(event.getEntity());
}
public static AABB getBoundingBox(Player entity, int ping)
{
if(playerBoxes.containsKey(entity))
{
public static AABB getBoundingBox(Player entity, int ping) {
if (playerBoxes.containsKey(entity)) {
LinkedList<AABB> boxes = playerBoxes.get(entity);
int index = Mth.clamp(ping, 0, boxes.size() - 1);
return boxes.get(index);

View file

@ -8,20 +8,17 @@ import javax.annotation.Nullable;
/**
* Author: MrCrayfish
*/
public class ChildHeadshotBox<T extends LivingEntity> extends BasicHeadshotBox<T>
{
private double childHeadScale;
private double headYOffsetScale;
public class ChildHeadshotBox<T extends LivingEntity> extends BasicHeadshotBox<T> {
private final double childHeadScale;
private final double headYOffsetScale;
public ChildHeadshotBox(double headSize, double headYOffset, double childHeadScale, double headYOffsetScale)
{
public ChildHeadshotBox(double headSize, double headYOffset, double childHeadScale, double headYOffsetScale) {
super(headSize, headYOffset);
this.childHeadScale = childHeadScale;
this.headYOffsetScale = headYOffsetScale;
}
public ChildHeadshotBox(double headWidth, double headHeight, double headYOffset, double childHeadScale, double headYOffsetScale)
{
public ChildHeadshotBox(double headWidth, double headHeight, double headYOffset, double childHeadScale, double headYOffsetScale) {
super(headWidth, headHeight, headYOffset);
this.childHeadScale = childHeadScale;
this.headYOffsetScale = headYOffsetScale;
@ -29,11 +26,9 @@ public class ChildHeadshotBox<T extends LivingEntity> extends BasicHeadshotBox<T
@Nullable
@Override
public AABB getHeadshotBox(T entity)
{
public AABB getHeadshotBox(T entity) {
AABB headBox = super.getHeadshotBox(entity);
if(headBox != null && entity.isBaby())
{
if (headBox != null && entity.isBaby()) {
return new AABB(headBox.minX * this.childHeadScale, headBox.minY * this.headYOffsetScale, headBox.minZ * this.childHeadScale, headBox.maxX * this.childHeadScale, headBox.maxY * (this.headYOffsetScale + 0.065), headBox.maxZ * this.childHeadScale);
}
return headBox;

View file

@ -13,8 +13,7 @@ import javax.annotation.Nullable;
* <p>
* Author: MrCrayfish
*/
public interface IHeadshotBox<T extends Entity>
{
public interface IHeadshotBox<T extends Entity> {
/**
* Gets a bounding box of the given entity's head in the world. This method can either return an
* axis aligned box or null for no hit box.

View file

@ -8,23 +8,19 @@ import javax.annotation.Nullable;
/**
* Author: MrCrayfish
*/
public class NoChildHeadshotBox<T extends LivingEntity> extends BasicHeadshotBox<T>
{
public NoChildHeadshotBox(double headSize, double headYOffset)
{
public class NoChildHeadshotBox<T extends LivingEntity> extends BasicHeadshotBox<T> {
public NoChildHeadshotBox(double headSize, double headYOffset) {
super(headSize, headYOffset);
}
public NoChildHeadshotBox(double headWidth, double headHeight, double headYOffset)
{
public NoChildHeadshotBox(double headWidth, double headHeight, double headYOffset) {
super(headWidth, headHeight, headYOffset);
}
@Nullable
@Override
public AABB getHeadshotBox(T entity)
{
if(entity.isBaby()) return null;
public AABB getHeadshotBox(T entity) {
if (entity.isBaby()) return null;
return super.getHeadshotBox(entity);
}
}

View file

@ -8,23 +8,19 @@ import javax.annotation.Nullable;
/**
* Author: MrCrayfish
*/
public class NoChildRotatedHeadshotBox<T extends LivingEntity> extends RotatedHeadshotBox<T>
{
public NoChildRotatedHeadshotBox(double headSize, double headYOffset, double headZOffset, boolean rotatePitch, boolean rotateYaw)
{
public class NoChildRotatedHeadshotBox<T extends LivingEntity> extends RotatedHeadshotBox<T> {
public NoChildRotatedHeadshotBox(double headSize, double headYOffset, double headZOffset, boolean rotatePitch, boolean rotateYaw) {
super(headSize, headYOffset, headZOffset, rotatePitch, rotateYaw);
}
public NoChildRotatedHeadshotBox(double headWidth, double headHeight, double headYOffset, double headZOffset, boolean rotatePitch, boolean rotateYaw)
{
public NoChildRotatedHeadshotBox(double headWidth, double headHeight, double headYOffset, double headZOffset, boolean rotatePitch, boolean rotateYaw) {
super(headWidth, headHeight, headYOffset, headZOffset, rotatePitch, rotateYaw);
}
@Nullable
@Override
public AABB getHeadshotBox(T entity)
{
if(entity.isBaby()) return null;
public AABB getHeadshotBox(T entity) {
if (entity.isBaby()) return null;
return super.getHeadshotBox(entity);
}
}

View file

@ -9,22 +9,19 @@ import javax.annotation.Nullable;
/**
* Author: MrCrayfish
*/
public class RotatedHeadshotBox<T extends LivingEntity> extends BasicHeadshotBox<T>
{
public class RotatedHeadshotBox<T extends LivingEntity> extends BasicHeadshotBox<T> {
protected double headZOffset;
protected boolean rotatePitch;
protected boolean rotateYaw;
public RotatedHeadshotBox(double headSize, double headYOffset, double headZOffset, boolean rotatePitch, boolean rotateYaw)
{
public RotatedHeadshotBox(double headSize, double headYOffset, double headZOffset, boolean rotatePitch, boolean rotateYaw) {
super(headSize, headSize, headYOffset);
this.headZOffset = headZOffset;
this.rotatePitch = rotatePitch;
this.rotateYaw = rotateYaw;
}
public RotatedHeadshotBox(double headWidth, double headHeight, double headYOffset, double headZOffset, boolean rotatePitch, boolean rotateYaw)
{
public RotatedHeadshotBox(double headWidth, double headHeight, double headYOffset, double headZOffset, boolean rotatePitch, boolean rotateYaw) {
super(headWidth, headHeight, headYOffset);
this.headZOffset = headZOffset;
this.rotatePitch = rotatePitch;
@ -33,11 +30,9 @@ public class RotatedHeadshotBox<T extends LivingEntity> extends BasicHeadshotBox
@Nullable
@Override
public AABB getHeadshotBox(T entity)
{
public AABB getHeadshotBox(T entity) {
AABB headBox = super.getHeadshotBox(entity);
if(headBox != null)
{
if (headBox != null) {
headBox = headBox.move(Vec3.directionFromRotation(this.rotatePitch ? entity.getXRot() : 0.0F, this.rotateYaw ? entity.yBodyRot : 0.0F).normalize().scale(this.headZOffset * 0.0625));
return headBox;
}

View file

@ -1,55 +1,50 @@
package net.mcreator.target.init;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.mcreator.target.entity.*;
import net.minecraftforge.event.entity.living.LivingEvent;
import net.mcreator.target.entity.TargetEntity;
import net.mcreator.target.entity.Target1Entity;
import net.mcreator.target.entity.SenpaiEntity;
import net.mcreator.target.entity.MortarEntity;
import net.mcreator.target.entity.ClaymoreEntity;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber
public class EntityAnimationFactory {
@SubscribeEvent
public static void onEntityTick(LivingEvent.LivingTickEvent event) {
if (event != null && event.getEntity() != null) {
if (event.getEntity() instanceof Target1Entity syncable) {
String animation = syncable.getSyncedAnimation();
if (!animation.equals("undefined")) {
syncable.setAnimation("undefined");
syncable.animationprocedure = animation;
}
}
if (event.getEntity() instanceof MortarEntity syncable) {
String animation = syncable.getSyncedAnimation();
if (!animation.equals("undefined")) {
syncable.setAnimation("undefined");
syncable.animationprocedure = animation;
}
}
if (event.getEntity() instanceof SenpaiEntity syncable) {
String animation = syncable.getSyncedAnimation();
if (!animation.equals("undefined")) {
syncable.setAnimation("undefined");
syncable.animationprocedure = animation;
}
}
if (event.getEntity() instanceof ClaymoreEntity syncable) {
String animation = syncable.getSyncedAnimation();
if (!animation.equals("undefined")) {
syncable.setAnimation("undefined");
syncable.animationprocedure = animation;
}
}
if (event.getEntity() instanceof TargetEntity syncable) {
String animation = syncable.getSyncedAnimation();
if (!animation.equals("undefined")) {
syncable.setAnimation("undefined");
syncable.animationprocedure = animation;
}
}
}
}
@SubscribeEvent
public static void onEntityTick(LivingEvent.LivingTickEvent event) {
if (event != null && event.getEntity() != null) {
if (event.getEntity() instanceof Target1Entity syncable) {
String animation = syncable.getSyncedAnimation();
if (!animation.equals("undefined")) {
syncable.setAnimation("undefined");
syncable.animationprocedure = animation;
}
}
if (event.getEntity() instanceof MortarEntity syncable) {
String animation = syncable.getSyncedAnimation();
if (!animation.equals("undefined")) {
syncable.setAnimation("undefined");
syncable.animationprocedure = animation;
}
}
if (event.getEntity() instanceof SenpaiEntity syncable) {
String animation = syncable.getSyncedAnimation();
if (!animation.equals("undefined")) {
syncable.setAnimation("undefined");
syncable.animationprocedure = animation;
}
}
if (event.getEntity() instanceof ClaymoreEntity syncable) {
String animation = syncable.getSyncedAnimation();
if (!animation.equals("undefined")) {
syncable.setAnimation("undefined");
syncable.animationprocedure = animation;
}
}
if (event.getEntity() instanceof TargetEntity syncable) {
String animation = syncable.getSyncedAnimation();
if (!animation.equals("undefined")) {
syncable.setAnimation("undefined");
syncable.animationprocedure = animation;
}
}
}
}
}

View file

@ -1,330 +1,300 @@
package net.mcreator.target.init;
import software.bernie.geckolib.animatable.GeoItem;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.event.TickEvent;
import net.minecraft.world.item.ArmorItem;
import net.minecraft.client.renderer.ItemInHandRenderer;
import net.mcreator.target.item.*;
import net.minecraft.client.Minecraft;
import net.mcreator.target.item.VectorItem;
import net.mcreator.target.item.TracheliumItem;
import net.mcreator.target.item.TaserItem;
import net.mcreator.target.item.SvdItem;
import net.mcreator.target.item.SksItem;
import net.mcreator.target.item.SentinelItem;
import net.mcreator.target.item.RpkItem;
import net.mcreator.target.item.RpgItem;
import net.mcreator.target.item.RocketItem;
import net.mcreator.target.item.Mk14Item;
import net.mcreator.target.item.MinigunItem;
import net.mcreator.target.item.MarlinItem;
import net.mcreator.target.item.M98bItem;
import net.mcreator.target.item.M870Item;
import net.mcreator.target.item.M79Item;
import net.mcreator.target.item.M60Item;
import net.mcreator.target.item.M4Item;
import net.mcreator.target.item.LightSaberItem;
import net.mcreator.target.item.KraberItem;
import net.mcreator.target.item.HuntingRifleItem;
import net.mcreator.target.item.Hk416Item;
import net.mcreator.target.item.DevotionItem;
import net.mcreator.target.item.BocekItem;
import net.mcreator.target.item.AbekiriItem;
import net.mcreator.target.item.Aa12Item;
import net.mcreator.target.item.AK47Item;
import net.minecraft.client.renderer.ItemInHandRenderer;
import net.minecraft.world.item.ArmorItem;
import net.minecraftforge.event.TickEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import software.bernie.geckolib.animatable.GeoItem;
@Mod.EventBusSubscriber
public class ItemAnimationFactory {
public static void disableUseAnim() {
try {
ItemInHandRenderer renderer = Minecraft.getInstance().gameRenderer.itemInHandRenderer;
if (renderer != null) {
renderer.mainHandHeight = 1F;
renderer.oMainHandHeight = 1F;
renderer.offHandHeight = 1F;
renderer.oOffHandHeight = 1F;
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void disableUseAnim() {
try {
ItemInHandRenderer renderer = Minecraft.getInstance().gameRenderer.itemInHandRenderer;
renderer.mainHandHeight = 1F;
renderer.oMainHandHeight = 1F;
renderer.offHandHeight = 1F;
renderer.oOffHandHeight = 1F;
} catch (Exception e) {
e.printStackTrace();
}
}
@SubscribeEvent
public static void animatedItems(TickEvent.PlayerTickEvent event) {
String animation = "";
if (event.phase == TickEvent.Phase.START && (event.player.getMainHandItem().getItem() instanceof GeoItem || event.player.getOffhandItem().getItem() instanceof GeoItem)) {
if (!event.player.getMainHandItem().getOrCreateTag().getString("geckoAnim").equals("") && !(event.player.getMainHandItem().getItem() instanceof ArmorItem)) {
animation = event.player.getMainHandItem().getOrCreateTag().getString("geckoAnim");
event.player.getMainHandItem().getOrCreateTag().putString("geckoAnim", "");
if (event.player.getMainHandItem().getItem() instanceof TaserItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof AbekiriItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof TracheliumItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof VectorItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof AK47Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof SksItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof M4Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof Hk416Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof Mk14Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof MarlinItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof SvdItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof M98bItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof SentinelItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof HuntingRifleItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof KraberItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof M870Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof Aa12Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof DevotionItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof RpkItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof M60Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof MinigunItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof M79Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof RpgItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof BocekItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof LightSaberItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof RocketItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
}
if (!event.player.getOffhandItem().getOrCreateTag().getString("geckoAnim").equals("") && !(event.player.getOffhandItem().getItem() instanceof ArmorItem)) {
animation = event.player.getOffhandItem().getOrCreateTag().getString("geckoAnim");
event.player.getOffhandItem().getOrCreateTag().putString("geckoAnim", "");
if (event.player.getOffhandItem().getItem() instanceof TaserItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof AbekiriItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof TracheliumItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof VectorItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof AK47Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof SksItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof M4Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof Hk416Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof Mk14Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof MarlinItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof SvdItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof M98bItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof SentinelItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof HuntingRifleItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof KraberItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof M870Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof Aa12Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof DevotionItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof RpkItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof M60Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof MinigunItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof M79Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof RpgItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof BocekItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof LightSaberItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof RocketItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
}
}
}
@SubscribeEvent
public static void animatedItems(TickEvent.PlayerTickEvent event) {
String animation = "";
if (event.phase == TickEvent.Phase.START && (event.player.getMainHandItem().getItem() instanceof GeoItem || event.player.getOffhandItem().getItem() instanceof GeoItem)) {
if (!event.player.getMainHandItem().getOrCreateTag().getString("geckoAnim").isEmpty() && !(event.player.getMainHandItem().getItem() instanceof ArmorItem)) {
animation = event.player.getMainHandItem().getOrCreateTag().getString("geckoAnim");
event.player.getMainHandItem().getOrCreateTag().putString("geckoAnim", "");
if (event.player.getMainHandItem().getItem() instanceof TaserItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof AbekiriItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof TracheliumItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof VectorItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof AK47Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof SksItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof M4Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof Hk416Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof Mk14Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof MarlinItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof SvdItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof M98bItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof SentinelItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof HuntingRifleItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof KraberItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof M870Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof Aa12Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof DevotionItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof RpkItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof M60Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof MinigunItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof M79Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof RpgItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof BocekItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof LightSaberItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getMainHandItem().getItem() instanceof RocketItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
}
if (!event.player.getOffhandItem().getOrCreateTag().getString("geckoAnim").equals("") && !(event.player.getOffhandItem().getItem() instanceof ArmorItem)) {
animation = event.player.getOffhandItem().getOrCreateTag().getString("geckoAnim");
event.player.getOffhandItem().getOrCreateTag().putString("geckoAnim", "");
if (event.player.getOffhandItem().getItem() instanceof TaserItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof AbekiriItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof TracheliumItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof VectorItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof AK47Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof SksItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof M4Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof Hk416Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof Mk14Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof MarlinItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof SvdItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof M98bItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof SentinelItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof HuntingRifleItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof KraberItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof M870Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof Aa12Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof DevotionItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof RpkItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof M60Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof MinigunItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof M79Item animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof RpgItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof BocekItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof LightSaberItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
if (event.player.getOffhandItem().getItem() instanceof RocketItem animatable)
if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation;
disableUseAnim();
}
}
}
}
}

View file

@ -4,23 +4,20 @@
*/
package net.mcreator.target.init;
import net.minecraftforge.registries.RegistryObject;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.fml.common.Mod;
import net.minecraft.world.entity.MobCategory;
import net.minecraft.world.entity.EntityType;
import net.mcreator.target.entity.ProjectileEntity;
import net.mcreator.target.TargetMod;
import net.mcreator.target.entity.ProjectileEntity;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.MobCategory;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
public class TargetCustomModEntities {
public static final DeferredRegister<EntityType<?>> ENTITY_TYPES = DeferredRegister.create(ForgeRegistries.ENTITY_TYPES, TargetMod.MODID);
public static final DeferredRegister<EntityType<?>> ENTITY_TYPES = DeferredRegister.create(ForgeRegistries.ENTITY_TYPES, TargetMod.MODID);
public static final RegistryObject<EntityType<ProjectileEntity>> PROJECTILE =
public static final RegistryObject<EntityType<ProjectileEntity>> PROJECTILE =
ENTITY_TYPES.register("projectile",
() -> EntityType.Builder.<ProjectileEntity>of(ProjectileEntity::new, MobCategory.MISC).setTrackingRange(0).sized(0.5f, 0.5f).build("projectile"));

View file

@ -1,19 +1,17 @@
package net.mcreator.target.init;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.client.event.EntityRenderersEvent;
import net.minecraftforge.api.distmarker.Dist;
import net.mcreator.target.client.renderer.ProjectileRenderer;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.event.EntityRenderersEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
public class TargetCustomModEntityRenderers {
@SubscribeEvent
public static void registerEntityRenderers(EntityRenderersEvent.RegisterRenderers event) {
@SubscribeEvent
public static void registerEntityRenderers(EntityRenderersEvent.RegisterRenderers event) {
event.registerEntityRenderer(TargetCustomModEntities.PROJECTILE.get(), ProjectileRenderer::new);
event.registerEntityRenderer(TargetCustomModEntities.PROJECTILE.get(), ProjectileRenderer::new);
}
}
}

View file

@ -3,37 +3,35 @@
*/
package net.mcreator.target.init;
import net.minecraftforge.registries.RegistryObject;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.fml.event.lifecycle.FMLConstructModEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.event.entity.EntityAttributeModificationEvent;
import net.minecraft.world.entity.ai.attributes.RangedAttribute;
import net.minecraft.world.entity.ai.attributes.Attribute;
import net.minecraft.world.entity.EntityType;
import net.mcreator.target.TargetMod;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.ai.attributes.Attribute;
import net.minecraft.world.entity.ai.attributes.RangedAttribute;
import net.minecraftforge.event.entity.EntityAttributeModificationEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLConstructModEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
public class TargetModAttributes {
public static final DeferredRegister<Attribute> ATTRIBUTES = DeferredRegister.create(ForgeRegistries.ATTRIBUTES, TargetMod.MODID);
public static final RegistryObject<Attribute> MOTARPITCH = ATTRIBUTES.register("motar_pitch", () -> (new RangedAttribute("attribute." + TargetMod.MODID + ".motar_pitch", 70, 20, 90)).setSyncable(true));
public static final RegistryObject<Attribute> SPREAD = ATTRIBUTES.register("spread", () -> (new RangedAttribute("attribute." + TargetMod.MODID + ".spread", 0, 0, 1024)).setSyncable(true));
public static final DeferredRegister<Attribute> ATTRIBUTES = DeferredRegister.create(ForgeRegistries.ATTRIBUTES, TargetMod.MODID);
public static final RegistryObject<Attribute> MOTARPITCH = ATTRIBUTES.register("motar_pitch", () -> (new RangedAttribute("attribute." + TargetMod.MODID + ".motar_pitch", 70, 20, 90)).setSyncable(true));
public static final RegistryObject<Attribute> SPREAD = ATTRIBUTES.register("spread", () -> (new RangedAttribute("attribute." + TargetMod.MODID + ".spread", 0, 0, 1024)).setSyncable(true));
@SubscribeEvent
public static void register(FMLConstructModEvent event) {
event.enqueueWork(() -> {
ATTRIBUTES.register(FMLJavaModLoadingContext.get().getModEventBus());
});
}
@SubscribeEvent
public static void register(FMLConstructModEvent event) {
event.enqueueWork(() -> {
ATTRIBUTES.register(FMLJavaModLoadingContext.get().getModEventBus());
});
}
@SubscribeEvent
public static void addAttributes(EntityAttributeModificationEvent event) {
event.add(TargetModEntities.MORTAR.get(), MOTARPITCH.get());
event.add(EntityType.PLAYER, SPREAD.get());
}
@SubscribeEvent
public static void addAttributes(EntityAttributeModificationEvent event) {
event.add(TargetModEntities.MORTAR.get(), MOTARPITCH.get());
event.add(EntityType.PLAYER, SPREAD.get());
}
}

View file

@ -4,30 +4,21 @@
*/
package net.mcreator.target.init;
import net.minecraftforge.registries.RegistryObject;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraft.world.level.block.Block;
import net.mcreator.target.block.ScheeliteOreBlock;
import net.mcreator.target.block.SandbagBlock;
import net.mcreator.target.block.JumppadBlockBlock;
import net.mcreator.target.block.GunRecycleBlock;
import net.mcreator.target.block.GalenaOreBlock;
import net.mcreator.target.block.DeepslateScheeliteOreBlock;
import net.mcreator.target.block.DeepslateGalenaOreBlock;
import net.mcreator.target.block.BarbedWireBlock;
import net.mcreator.target.TargetMod;
import net.mcreator.target.block.*;
import net.minecraft.world.level.block.Block;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
public class TargetModBlocks {
public static final DeferredRegister<Block> REGISTRY = DeferredRegister.create(ForgeRegistries.BLOCKS, TargetMod.MODID);
public static final RegistryObject<Block> SANDBAG = REGISTRY.register("sandbag", () -> new SandbagBlock());
public static final RegistryObject<Block> BARBED_WIRE = REGISTRY.register("barbed_wire", () -> new BarbedWireBlock());
public static final RegistryObject<Block> JUMPPAD_BLOCK = REGISTRY.register("jumppad_block", () -> new JumppadBlockBlock());
public static final RegistryObject<Block> GALENA_ORE = REGISTRY.register("galena_ore", () -> new GalenaOreBlock());
public static final RegistryObject<Block> DEEPSLATE_GALENA_ORE = REGISTRY.register("deepslate_galena_ore", () -> new DeepslateGalenaOreBlock());
public static final RegistryObject<Block> SCHEELITE_ORE = REGISTRY.register("scheelite_ore", () -> new ScheeliteOreBlock());
public static final RegistryObject<Block> DEEPSLATE_SCHEELITE_ORE = REGISTRY.register("deepslate_scheelite_ore", () -> new DeepslateScheeliteOreBlock());
public static final RegistryObject<Block> GUN_RECYCLE = REGISTRY.register("gun_recycle", () -> new GunRecycleBlock());
public static final DeferredRegister<Block> REGISTRY = DeferredRegister.create(ForgeRegistries.BLOCKS, TargetMod.MODID);
public static final RegistryObject<Block> SANDBAG = REGISTRY.register("sandbag", SandbagBlock::new);
public static final RegistryObject<Block> BARBED_WIRE = REGISTRY.register("barbed_wire", BarbedWireBlock::new);
public static final RegistryObject<Block> JUMPPAD_BLOCK = REGISTRY.register("jumppad_block", JumppadBlockBlock::new);
public static final RegistryObject<Block> GALENA_ORE = REGISTRY.register("galena_ore", GalenaOreBlock::new);
public static final RegistryObject<Block> DEEPSLATE_GALENA_ORE = REGISTRY.register("deepslate_galena_ore", DeepslateGalenaOreBlock::new);
public static final RegistryObject<Block> SCHEELITE_ORE = REGISTRY.register("scheelite_ore", ScheeliteOreBlock::new);
public static final RegistryObject<Block> DEEPSLATE_SCHEELITE_ORE = REGISTRY.register("deepslate_scheelite_ore", DeepslateScheeliteOreBlock::new);
public static final RegistryObject<Block> GUN_RECYCLE = REGISTRY.register("gun_recycle", GunRecycleBlock::new);
}

View file

@ -4,79 +4,68 @@
*/
package net.mcreator.target.init;
import net.minecraftforge.registries.RegistryObject;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.event.entity.EntityAttributeCreationEvent;
import net.minecraft.world.entity.MobCategory;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.Entity;
import net.mcreator.target.entity.TaserBulletProjectileEntity;
import net.mcreator.target.entity.TargetEntity;
import net.mcreator.target.entity.Target1Entity;
import net.mcreator.target.entity.SenpaiEntity;
import net.mcreator.target.entity.RpgRocketEntity;
import net.mcreator.target.entity.MortarShellEntity;
import net.mcreator.target.entity.MortarEntity;
import net.mcreator.target.entity.GunGrenadeEntity;
import net.mcreator.target.entity.ClaymoreEntity;
import net.mcreator.target.entity.BocekarrowEntity;
import net.mcreator.target.TargetMod;
import net.mcreator.target.entity.*;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.MobCategory;
import net.minecraftforge.event.entity.EntityAttributeCreationEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
public class TargetModEntities {
public static final DeferredRegister<EntityType<?>> REGISTRY = DeferredRegister.create(ForgeRegistries.ENTITY_TYPES, TargetMod.MODID);
public static final RegistryObject<EntityType<Target1Entity>> TARGET_1 = register("target_1",
EntityType.Builder.<Target1Entity>of(Target1Entity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(256).setUpdateInterval(3).setCustomClientFactory(Target1Entity::new).fireImmune().sized(0.875f, 2f));
public static final RegistryObject<EntityType<MortarEntity>> MORTAR = register("mortar",
EntityType.Builder.<MortarEntity>of(MortarEntity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(MortarEntity::new).fireImmune().sized(0.8f, 1.4f));
public static final RegistryObject<EntityType<SenpaiEntity>> SENPAI = register("senpai",
EntityType.Builder.<SenpaiEntity>of(SenpaiEntity::new, MobCategory.MONSTER).setShouldReceiveVelocityUpdates(true).setTrackingRange(1024).setUpdateInterval(3).setCustomClientFactory(SenpaiEntity::new)
public static final DeferredRegister<EntityType<?>> REGISTRY = DeferredRegister.create(ForgeRegistries.ENTITY_TYPES, TargetMod.MODID);
public static final RegistryObject<EntityType<Target1Entity>> TARGET_1 = register("target_1",
EntityType.Builder.<Target1Entity>of(Target1Entity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(256).setUpdateInterval(3).setCustomClientFactory(Target1Entity::new).fireImmune().sized(0.875f, 2f));
public static final RegistryObject<EntityType<MortarEntity>> MORTAR = register("mortar",
EntityType.Builder.<MortarEntity>of(MortarEntity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(MortarEntity::new).fireImmune().sized(0.8f, 1.4f));
public static final RegistryObject<EntityType<SenpaiEntity>> SENPAI = register("senpai",
EntityType.Builder.<SenpaiEntity>of(SenpaiEntity::new, MobCategory.MONSTER).setShouldReceiveVelocityUpdates(true).setTrackingRange(1024).setUpdateInterval(3).setCustomClientFactory(SenpaiEntity::new)
.sized(0.6f, 2f));
public static final RegistryObject<EntityType<ClaymoreEntity>> CLAYMORE = register("claymore",
EntityType.Builder.<ClaymoreEntity>of(ClaymoreEntity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(ClaymoreEntity::new).fireImmune().sized(0.5f, 0.5f));
public static final RegistryObject<EntityType<TaserBulletProjectileEntity>> TASER_BULLET_PROJECTILE = register("projectile_taser_bullet_projectile",
EntityType.Builder.<TaserBulletProjectileEntity>of(TaserBulletProjectileEntity::new, MobCategory.MISC).setCustomClientFactory(TaserBulletProjectileEntity::new).setShouldReceiveVelocityUpdates(true).setTrackingRange(64)
.setUpdateInterval(1).sized(0.5f, 0.5f));
public static final RegistryObject<EntityType<GunGrenadeEntity>> GUN_GRENADE = register("projectile_gun_grenade",
EntityType.Builder.<GunGrenadeEntity>of(GunGrenadeEntity::new, MobCategory.MISC).setCustomClientFactory(GunGrenadeEntity::new).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(1).sized(0.5f, 0.5f));
public static final RegistryObject<EntityType<TargetEntity>> TARGET = register("target",
EntityType.Builder.<TargetEntity>of(TargetEntity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(TargetEntity::new).fireImmune().sized(0.875f, 2f));
public static final RegistryObject<EntityType<RpgRocketEntity>> RPG_ROCKET = register("projectile_rpg_rocket",
EntityType.Builder.<RpgRocketEntity>of(RpgRocketEntity::new, MobCategory.MISC).setCustomClientFactory(RpgRocketEntity::new).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(1).sized(0.5f, 0.5f));
public static final RegistryObject<EntityType<MortarShellEntity>> MORTAR_SHELL = register("projectile_mortar_shell",
EntityType.Builder.<MortarShellEntity>of(MortarShellEntity::new, MobCategory.MISC).setCustomClientFactory(MortarShellEntity::new).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(1).sized(0.5f, 0.5f));
public static final RegistryObject<EntityType<BocekarrowEntity>> BOCEKARROW = register("projectile_bocekarrow",
EntityType.Builder.<BocekarrowEntity>of(BocekarrowEntity::new, MobCategory.MISC).setCustomClientFactory(BocekarrowEntity::new).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(1).sized(0.5f, 0.5f));
.sized(0.6f, 2f));
public static final RegistryObject<EntityType<ClaymoreEntity>> CLAYMORE = register("claymore",
EntityType.Builder.<ClaymoreEntity>of(ClaymoreEntity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(ClaymoreEntity::new).fireImmune().sized(0.5f, 0.5f));
public static final RegistryObject<EntityType<TaserBulletProjectileEntity>> TASER_BULLET_PROJECTILE = register("projectile_taser_bullet_projectile",
EntityType.Builder.<TaserBulletProjectileEntity>of(TaserBulletProjectileEntity::new, MobCategory.MISC).setCustomClientFactory(TaserBulletProjectileEntity::new).setShouldReceiveVelocityUpdates(true).setTrackingRange(64)
.setUpdateInterval(1).sized(0.5f, 0.5f));
public static final RegistryObject<EntityType<GunGrenadeEntity>> GUN_GRENADE = register("projectile_gun_grenade",
EntityType.Builder.<GunGrenadeEntity>of(GunGrenadeEntity::new, MobCategory.MISC).setCustomClientFactory(GunGrenadeEntity::new).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(1).sized(0.5f, 0.5f));
public static final RegistryObject<EntityType<TargetEntity>> TARGET = register("target",
EntityType.Builder.<TargetEntity>of(TargetEntity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(TargetEntity::new).fireImmune().sized(0.875f, 2f));
public static final RegistryObject<EntityType<RpgRocketEntity>> RPG_ROCKET = register("projectile_rpg_rocket",
EntityType.Builder.<RpgRocketEntity>of(RpgRocketEntity::new, MobCategory.MISC).setCustomClientFactory(RpgRocketEntity::new).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(1).sized(0.5f, 0.5f));
public static final RegistryObject<EntityType<MortarShellEntity>> MORTAR_SHELL = register("projectile_mortar_shell",
EntityType.Builder.<MortarShellEntity>of(MortarShellEntity::new, MobCategory.MISC).setCustomClientFactory(MortarShellEntity::new).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(1).sized(0.5f, 0.5f));
public static final RegistryObject<EntityType<BocekarrowEntity>> BOCEKARROW = register("projectile_bocekarrow",
EntityType.Builder.<BocekarrowEntity>of(BocekarrowEntity::new, MobCategory.MISC).setCustomClientFactory(BocekarrowEntity::new).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(1).sized(0.5f, 0.5f));
private static <T extends Entity> RegistryObject<EntityType<T>> register(String registryname, EntityType.Builder<T> entityTypeBuilder) {
return REGISTRY.register(registryname, () -> (EntityType<T>) entityTypeBuilder.build(registryname));
}
private static <T extends Entity> RegistryObject<EntityType<T>> register(String registryname, EntityType.Builder<T> entityTypeBuilder) {
return REGISTRY.register(registryname, () -> entityTypeBuilder.build(registryname));
}
@SubscribeEvent
public static void init(FMLCommonSetupEvent event) {
event.enqueueWork(() -> {
Target1Entity.init();
MortarEntity.init();
SenpaiEntity.init();
ClaymoreEntity.init();
TargetEntity.init();
});
}
@SubscribeEvent
public static void init(FMLCommonSetupEvent event) {
event.enqueueWork(() -> {
Target1Entity.init();
MortarEntity.init();
SenpaiEntity.init();
ClaymoreEntity.init();
TargetEntity.init();
});
}
@SubscribeEvent
public static void registerAttributes(EntityAttributeCreationEvent event) {
event.put(TARGET_1.get(), Target1Entity.createAttributes().build());
event.put(MORTAR.get(), MortarEntity.createAttributes().build());
event.put(SENPAI.get(), SenpaiEntity.createAttributes().build());
event.put(CLAYMORE.get(), ClaymoreEntity.createAttributes().build());
event.put(TARGET.get(), TargetEntity.createAttributes().build());
}
@SubscribeEvent
public static void registerAttributes(EntityAttributeCreationEvent event) {
event.put(TARGET_1.get(), Target1Entity.createAttributes().build());
event.put(MORTAR.get(), MortarEntity.createAttributes().build());
event.put(SENPAI.get(), SenpaiEntity.createAttributes().build());
event.put(CLAYMORE.get(), ClaymoreEntity.createAttributes().build());
event.put(TARGET.get(), TargetEntity.createAttributes().build());
}
}

View file

@ -1,34 +1,24 @@
package net.mcreator.target.init;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.client.event.EntityRenderersEvent;
import net.mcreator.target.client.renderer.*;
import net.minecraftforge.api.distmarker.Dist;
import net.mcreator.target.client.renderer.TaserBulletProjectileRenderer;
import net.mcreator.target.client.renderer.TargetRenderer;
import net.mcreator.target.client.renderer.Target1Renderer;
import net.mcreator.target.client.renderer.SenpaiRenderer;
import net.mcreator.target.client.renderer.RpgRocketRenderer;
import net.mcreator.target.client.renderer.MortarShellRenderer;
import net.mcreator.target.client.renderer.MortarRenderer;
import net.mcreator.target.client.renderer.GunGrenadeRenderer;
import net.mcreator.target.client.renderer.ClaymoreRenderer;
import net.mcreator.target.client.renderer.BocekarrowRenderer;
import net.minecraftforge.client.event.EntityRenderersEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
public class TargetModEntityRenderers {
@SubscribeEvent
public static void registerEntityRenderers(EntityRenderersEvent.RegisterRenderers event) {
event.registerEntityRenderer(TargetModEntities.TARGET_1.get(), Target1Renderer::new);
event.registerEntityRenderer(TargetModEntities.MORTAR.get(), MortarRenderer::new);
event.registerEntityRenderer(TargetModEntities.SENPAI.get(), SenpaiRenderer::new);
event.registerEntityRenderer(TargetModEntities.CLAYMORE.get(), ClaymoreRenderer::new);
event.registerEntityRenderer(TargetModEntities.TASER_BULLET_PROJECTILE.get(), TaserBulletProjectileRenderer::new);
event.registerEntityRenderer(TargetModEntities.GUN_GRENADE.get(), GunGrenadeRenderer::new);
event.registerEntityRenderer(TargetModEntities.TARGET.get(), TargetRenderer::new);
event.registerEntityRenderer(TargetModEntities.RPG_ROCKET.get(), RpgRocketRenderer::new);
event.registerEntityRenderer(TargetModEntities.MORTAR_SHELL.get(), MortarShellRenderer::new);
event.registerEntityRenderer(TargetModEntities.BOCEKARROW.get(), BocekarrowRenderer::new);
}
@SubscribeEvent
public static void registerEntityRenderers(EntityRenderersEvent.RegisterRenderers event) {
event.registerEntityRenderer(TargetModEntities.TARGET_1.get(), Target1Renderer::new);
event.registerEntityRenderer(TargetModEntities.MORTAR.get(), MortarRenderer::new);
event.registerEntityRenderer(TargetModEntities.SENPAI.get(), SenpaiRenderer::new);
event.registerEntityRenderer(TargetModEntities.CLAYMORE.get(), ClaymoreRenderer::new);
event.registerEntityRenderer(TargetModEntities.TASER_BULLET_PROJECTILE.get(), TaserBulletProjectileRenderer::new);
event.registerEntityRenderer(TargetModEntities.GUN_GRENADE.get(), GunGrenadeRenderer::new);
event.registerEntityRenderer(TargetModEntities.TARGET.get(), TargetRenderer::new);
event.registerEntityRenderer(TargetModEntities.RPG_ROCKET.get(), RpgRocketRenderer::new);
event.registerEntityRenderer(TargetModEntities.MORTAR_SHELL.get(), MortarShellRenderer::new);
event.registerEntityRenderer(TargetModEntities.BOCEKARROW.get(), BocekarrowRenderer::new);
}
}

View file

@ -1,58 +1,55 @@
package net.mcreator.target.init;
import net.minecraftforge.registries.RegistryObject;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.event.BuildCreativeModeTabContentsEvent;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.CreativeModeTabs;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.network.chat.Component;
import net.minecraft.core.registries.Registries;
import net.mcreator.target.TargetMod;
import net.minecraft.core.registries.Registries;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.CreativeModeTabs;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.event.BuildCreativeModeTabContentsEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.RegistryObject;
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
public class TargetModGunTabs {
public static final DeferredRegister<CreativeModeTab> REGISTRY = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, TargetMod.MODID);
public static final DeferredRegister<CreativeModeTab> REGISTRY = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, TargetMod.MODID);
public static final RegistryObject<CreativeModeTab> TARGET_GUNS = REGISTRY.register("target_guns",
() -> CreativeModeTab.builder().title(Component.translatable("item_group.target.target_guns")).icon(() -> new ItemStack(TargetModItems.TASER.get())).displayItems((parameters, tabData) -> {
tabData.accept(TargetModItems.TASER.get());
tabData.accept(TargetModItems.ABEKIRI.get());
tabData.accept(TargetModItems.TRACHELIUM.get());
tabData.accept(TargetModItems.VECTOR.get());
tabData.accept(TargetModItems.AK_47.get());
tabData.accept(TargetModItems.SKS.get());
tabData.accept(TargetModItems.M_4.get());
tabData.accept(TargetModItems.HK_416.get());
tabData.accept(TargetModItems.MK_14.get());
tabData.accept(TargetModItems.MARLIN.get());
tabData.accept(TargetModItems.SVD.get());
tabData.accept(TargetModItems.M_98B.get());
tabData.accept(TargetModItems.SENTINEL.get());
tabData.accept(TargetModItems.HUNTING_RIFLE.get());
tabData.accept(TargetModItems.KRABER.get());
tabData.accept(TargetModItems.M_870.get());
tabData.accept(TargetModItems.AA_12.get());
tabData.accept(TargetModItems.DEVOTION.get());
tabData.accept(TargetModItems.RPK.get());
tabData.accept(TargetModItems.M_60.get());
tabData.accept(TargetModItems.MINIGUN.get());
tabData.accept(TargetModItems.M_79.get());
tabData.accept(TargetModItems.RPG.get());
tabData.accept(TargetModItems.BOCEK.get());
})
.build());
public static final RegistryObject<CreativeModeTab> TARGET_GUNS = REGISTRY.register("target_guns",
() -> CreativeModeTab.builder().title(Component.translatable("item_group.target.target_guns")).icon(() -> new ItemStack(TargetModItems.TASER.get())).displayItems((parameters, tabData) -> {
tabData.accept(TargetModItems.TASER.get());
tabData.accept(TargetModItems.ABEKIRI.get());
tabData.accept(TargetModItems.TRACHELIUM.get());
tabData.accept(TargetModItems.VECTOR.get());
tabData.accept(TargetModItems.AK_47.get());
tabData.accept(TargetModItems.SKS.get());
tabData.accept(TargetModItems.M_4.get());
tabData.accept(TargetModItems.HK_416.get());
tabData.accept(TargetModItems.MK_14.get());
tabData.accept(TargetModItems.MARLIN.get());
tabData.accept(TargetModItems.SVD.get());
tabData.accept(TargetModItems.M_98B.get());
tabData.accept(TargetModItems.SENTINEL.get());
tabData.accept(TargetModItems.HUNTING_RIFLE.get());
tabData.accept(TargetModItems.KRABER.get());
tabData.accept(TargetModItems.M_870.get());
tabData.accept(TargetModItems.AA_12.get());
tabData.accept(TargetModItems.DEVOTION.get());
tabData.accept(TargetModItems.RPK.get());
tabData.accept(TargetModItems.M_60.get());
tabData.accept(TargetModItems.MINIGUN.get());
tabData.accept(TargetModItems.M_79.get());
tabData.accept(TargetModItems.RPG.get());
tabData.accept(TargetModItems.BOCEK.get());
})
.build());
@SubscribeEvent
public static void buildTabContentsVanilla(BuildCreativeModeTabContentsEvent tabData) {
@SubscribeEvent
public static void buildTabContentsVanilla(BuildCreativeModeTabContentsEvent tabData) {
if (tabData.getTabKey() == CreativeModeTabs.SPAWN_EGGS) {
tabData.accept(TargetModItems.SENPAI_SPAWN_EGG.get());
}
}
if (tabData.getTabKey() == CreativeModeTabs.SPAWN_EGGS) {
tabData.accept(TargetModItems.SENPAI_SPAWN_EGG.get());
}
}
}

View file

@ -4,240 +4,134 @@
*/
package net.mcreator.target.init;
import net.minecraftforge.registries.RegistryObject;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.common.ForgeSpawnEggItem;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.BlockItem;
import net.mcreator.target.item.VectorItem;
import net.mcreator.target.item.VectorBlueprintItem;
import net.mcreator.target.item.UnblastedcementedcarbidepodwerItem;
import net.mcreator.target.item.TungstenPowderItem;
import net.mcreator.target.item.TungstenIngotItem;
import net.mcreator.target.item.TracheliumItem;
import net.mcreator.target.item.TracheliumBlueprintItem;
import net.mcreator.target.item.TaserItem;
import net.mcreator.target.item.TaserElectrodeItem;
import net.mcreator.target.item.TaserBlueprintItem;
import net.mcreator.target.item.TargetdeployerItem;
import net.mcreator.target.item.SvdItem;
import net.mcreator.target.item.SvdBlueprintItem;
import net.mcreator.target.item.SteelTriggerItem;
import net.mcreator.target.item.SteelSpringItem;
import net.mcreator.target.item.SteelBarrelItem;
import net.mcreator.target.item.SteelActionItem;
import net.mcreator.target.item.SpecialmaterialpackItem;
import net.mcreator.target.item.SoulsteelnuggetItem;
import net.mcreator.target.item.SoulsteelIngotItem;
import net.mcreator.target.item.SniperAmmoItem;
import net.mcreator.target.item.SniperAmmoBoxItem;
import net.mcreator.target.item.SksItem;
import net.mcreator.target.item.ShotgunAmmoItem;
import net.mcreator.target.item.ShotgunAmmoBoxItem;
import net.mcreator.target.item.SentinelItem;
import net.mcreator.target.item.SentinelBlueprintItem;
import net.mcreator.target.item.ScheeliteItem;
import net.mcreator.target.item.SKSBlueprintItem;
import net.mcreator.target.item.RpkItem;
import net.mcreator.target.item.RpgItem;
import net.mcreator.target.item.RpgBlueprintItem;
import net.mcreator.target.item.RocketItem;
import net.mcreator.target.item.RifleAmmoItem;
import net.mcreator.target.item.RifleAmmoBoxItem;
import net.mcreator.target.item.RarematerialpackItem;
import net.mcreator.target.item.RPKBlueprintItem;
import net.mcreator.target.item.NetheriteTriggerItem;
import net.mcreator.target.item.NetheriteSpringItem;
import net.mcreator.target.item.NetheriteBarrelItem;
import net.mcreator.target.item.NetheriteActionItem;
import net.mcreator.target.item.MortarbipodItem;
import net.mcreator.target.item.MortarbarrelItem;
import net.mcreator.target.item.MortarShellsItem;
import net.mcreator.target.item.MortarDepolyerItem;
import net.mcreator.target.item.MoratrBasePlateItem;
import net.mcreator.target.item.Mk14Item;
import net.mcreator.target.item.Mk14BlueprintItem;
import net.mcreator.target.item.MinigunItem;
import net.mcreator.target.item.MinigunBlueprintItem;
import net.mcreator.target.item.MarlinItem;
import net.mcreator.target.item.MarlinBlueprintItem;
import net.mcreator.target.item.M98bItem;
import net.mcreator.target.item.M98bBlueprintItem;
import net.mcreator.target.item.M870Item;
import net.mcreator.target.item.M870BlueprintItem;
import net.mcreator.target.item.M79Item;
import net.mcreator.target.item.M79BlueprintItem;
import net.mcreator.target.item.M60Item;
import net.mcreator.target.item.M60BlueprintItem;
import net.mcreator.target.item.M4Item;
import net.mcreator.target.item.M4BlueprintItem;
import net.mcreator.target.item.LightSaberItem;
import net.mcreator.target.item.LegendarymaterialpackItem;
import net.mcreator.target.item.LeadIngotItem;
import net.mcreator.target.item.KraberItem;
import net.mcreator.target.item.KRABERBlueprintItem;
import net.mcreator.target.item.IronTriggerItem;
import net.mcreator.target.item.IronSpringItem;
import net.mcreator.target.item.IronPowderItem;
import net.mcreator.target.item.IronBarrelItem;
import net.mcreator.target.item.IronActionItem;
import net.mcreator.target.item.IngotSteelItem;
import net.mcreator.target.item.HuntingRifleItem;
import net.mcreator.target.item.HuntingRifleBlueprintItem;
import net.mcreator.target.item.Hk416Item;
import net.mcreator.target.item.HandgunAmmoItem;
import net.mcreator.target.item.HandgunAmmoBoxItem;
import net.mcreator.target.item.HammerItem;
import net.mcreator.target.item.HK416BlueprintItem;
import net.mcreator.target.item.Grenade40mmItem;
import net.mcreator.target.item.GalenaItem;
import net.mcreator.target.item.FuseeItem;
import net.mcreator.target.item.EpicmaterialpackItem;
import net.mcreator.target.item.DevotionItem;
import net.mcreator.target.item.DevotionBluprintItem;
import net.mcreator.target.item.CreativeAmmoBoxItem;
import net.mcreator.target.item.CopperplateItem;
import net.mcreator.target.item.CommonmaterialpackItem;
import net.mcreator.target.item.CoalPowderItem;
import net.mcreator.target.item.CoalIronPowderItem;
import net.mcreator.target.item.ClaymoreMineItem;
import net.mcreator.target.item.CementedcarbidespringItem;
import net.mcreator.target.item.CementedcarbideTriggerItem;
import net.mcreator.target.item.CementedCarbideIngotItem;
import net.mcreator.target.item.CementedCarbideBarrelItem;
import net.mcreator.target.item.CementedCarbideActionItem;
import net.mcreator.target.item.BuckshotItem;
import net.mcreator.target.item.BocekItem;
import net.mcreator.target.item.BocekBlueprintItem;
import net.mcreator.target.item.AbekiriItem;
import net.mcreator.target.item.Aa12Item;
import net.mcreator.target.item.Aa12BlueprintItem;
import net.mcreator.target.item.AK47Item;
import net.mcreator.target.item.AK47BlueprintItem;
import net.mcreator.target.TargetMod;
import net.mcreator.target.item.*;
import net.minecraft.world.item.BlockItem;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
import net.minecraftforge.common.ForgeSpawnEggItem;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
public class TargetModItems {
public static final DeferredRegister<Item> REGISTRY = DeferredRegister.create(ForgeRegistries.ITEMS, TargetMod.MODID);
public static final RegistryObject<Item> TASER = REGISTRY.register("taser", () -> new TaserItem());
public static final RegistryObject<Item> ABEKIRI = REGISTRY.register("abekiri", () -> new AbekiriItem());
public static final RegistryObject<Item> TRACHELIUM = REGISTRY.register("trachelium", () -> new TracheliumItem());
public static final RegistryObject<Item> VECTOR = REGISTRY.register("vector", () -> new VectorItem());
public static final RegistryObject<Item> AK_47 = REGISTRY.register("ak_47", () -> new AK47Item());
public static final RegistryObject<Item> SKS = REGISTRY.register("sks", () -> new SksItem());
public static final RegistryObject<Item> M_4 = REGISTRY.register("m_4", () -> new M4Item());
public static final RegistryObject<Item> HK_416 = REGISTRY.register("hk_416", () -> new Hk416Item());
public static final RegistryObject<Item> MK_14 = REGISTRY.register("mk_14", () -> new Mk14Item());
public static final RegistryObject<Item> MARLIN = REGISTRY.register("marlin", () -> new MarlinItem());
public static final RegistryObject<Item> SVD = REGISTRY.register("svd", () -> new SvdItem());
public static final RegistryObject<Item> M_98B = REGISTRY.register("m_98b", () -> new M98bItem());
public static final RegistryObject<Item> SENTINEL = REGISTRY.register("sentinel", () -> new SentinelItem());
public static final RegistryObject<Item> HUNTING_RIFLE = REGISTRY.register("hunting_rifle", () -> new HuntingRifleItem());
public static final RegistryObject<Item> KRABER = REGISTRY.register("kraber", () -> new KraberItem());
public static final RegistryObject<Item> M_870 = REGISTRY.register("m_870", () -> new M870Item());
public static final RegistryObject<Item> AA_12 = REGISTRY.register("aa_12", () -> new Aa12Item());
public static final RegistryObject<Item> DEVOTION = REGISTRY.register("devotion", () -> new DevotionItem());
public static final RegistryObject<Item> RPK = REGISTRY.register("rpk", () -> new RpkItem());
public static final RegistryObject<Item> M_60 = REGISTRY.register("m_60", () -> new M60Item());
public static final RegistryObject<Item> MINIGUN = REGISTRY.register("minigun", () -> new MinigunItem());
public static final RegistryObject<Item> M_79 = REGISTRY.register("m_79", () -> new M79Item());
public static final RegistryObject<Item> RPG = REGISTRY.register("rpg", () -> new RpgItem());
public static final RegistryObject<Item> BOCEK = REGISTRY.register("bocek", () -> new BocekItem());
public static final RegistryObject<Item> SENPAI_SPAWN_EGG = REGISTRY.register("senpai_spawn_egg", () -> new ForgeSpawnEggItem(TargetModEntities.SENPAI, -11584987, -14014413, new Item.Properties()));
public static final RegistryObject<Item> TARGETDEPLOYER = REGISTRY.register("targetdeployer", () -> new TargetdeployerItem());
public static final RegistryObject<Item> SANDBAG = block(TargetModBlocks.SANDBAG);
public static final RegistryObject<Item> BARBED_WIRE = block(TargetModBlocks.BARBED_WIRE);
public static final RegistryObject<Item> CLAYMORE_MINE = REGISTRY.register("claymore_mine", () -> new ClaymoreMineItem());
public static final RegistryObject<Item> JUMPPAD_BLOCK = block(TargetModBlocks.JUMPPAD_BLOCK);
public static final RegistryObject<Item> LIGHT_SABER = REGISTRY.register("light_saber", () -> new LightSaberItem());
public static final RegistryObject<Item> HAMMER = REGISTRY.register("hammer", () -> new HammerItem());
public static final RegistryObject<Item> MORTAR_DEPOLYER = REGISTRY.register("mortar_depolyer", () -> new MortarDepolyerItem());
public static final RegistryObject<Item> MORTARBARREL = REGISTRY.register("mortarbarrel", () -> new MortarbarrelItem());
public static final RegistryObject<Item> MORATR_BASE_PLATE = REGISTRY.register("moratr_base_plate", () -> new MoratrBasePlateItem());
public static final RegistryObject<Item> MORTARBIPOD = REGISTRY.register("mortarbipod", () -> new MortarbipodItem());
public static final RegistryObject<Item> FUSEE = REGISTRY.register("fusee", () -> new FuseeItem());
public static final RegistryObject<Item> SOULSTEELNUGGET = REGISTRY.register("soulsteelnugget", () -> new SoulsteelnuggetItem());
public static final RegistryObject<Item> COPPERPLATE = REGISTRY.register("copperplate", () -> new CopperplateItem());
public static final RegistryObject<Item> INGOT_STEEL = REGISTRY.register("ingot_steel", () -> new IngotSteelItem());
public static final RegistryObject<Item> LEAD_INGOT = REGISTRY.register("lead_ingot", () -> new LeadIngotItem());
public static final RegistryObject<Item> TUNGSTEN_INGOT = REGISTRY.register("tungsten_ingot", () -> new TungstenIngotItem());
public static final RegistryObject<Item> CEMENTED_CARBIDE_INGOT = REGISTRY.register("cemented_carbide_ingot", () -> new CementedCarbideIngotItem());
public static final RegistryObject<Item> SOULSTEEL_INGOT = REGISTRY.register("soulsteel_ingot", () -> new SoulsteelIngotItem());
public static final RegistryObject<Item> IRON_POWDER = REGISTRY.register("iron_powder", () -> new IronPowderItem());
public static final RegistryObject<Item> TUNGSTEN_POWDER = REGISTRY.register("tungsten_powder", () -> new TungstenPowderItem());
public static final RegistryObject<Item> COAL_POWDER = REGISTRY.register("coal_powder", () -> new CoalPowderItem());
public static final RegistryObject<Item> COAL_IRON_POWDER = REGISTRY.register("coal_iron_powder", () -> new CoalIronPowderItem());
public static final RegistryObject<Item> UNBLASTEDCEMENTEDCARBIDEPODWER = REGISTRY.register("unblastedcementedcarbidepodwer", () -> new UnblastedcementedcarbidepodwerItem());
public static final RegistryObject<Item> GALENA_ORE = block(TargetModBlocks.GALENA_ORE);
public static final RegistryObject<Item> DEEPSLATE_GALENA_ORE = block(TargetModBlocks.DEEPSLATE_GALENA_ORE);
public static final RegistryObject<Item> SCHEELITE_ORE = block(TargetModBlocks.SCHEELITE_ORE);
public static final RegistryObject<Item> DEEPSLATE_SCHEELITE_ORE = block(TargetModBlocks.DEEPSLATE_SCHEELITE_ORE);
public static final RegistryObject<Item> GALENA = REGISTRY.register("galena", () -> new GalenaItem());
public static final RegistryObject<Item> SCHEELITE = REGISTRY.register("scheelite", () -> new ScheeliteItem());
public static final RegistryObject<Item> BUCKSHOT = REGISTRY.register("buckshot", () -> new BuckshotItem());
public static final RegistryObject<Item> IRON_BARREL = REGISTRY.register("iron_barrel", () -> new IronBarrelItem());
public static final RegistryObject<Item> IRON_ACTION = REGISTRY.register("iron_action", () -> new IronActionItem());
public static final RegistryObject<Item> IRON_TRIGGER = REGISTRY.register("iron_trigger", () -> new IronTriggerItem());
public static final RegistryObject<Item> IRON_SPRING = REGISTRY.register("iron_spring", () -> new IronSpringItem());
public static final RegistryObject<Item> STEEL_BARREL = REGISTRY.register("steel_barrel", () -> new SteelBarrelItem());
public static final RegistryObject<Item> STEEL_ACTION = REGISTRY.register("steel_action", () -> new SteelActionItem());
public static final RegistryObject<Item> STEEL_TRIGGER = REGISTRY.register("steel_trigger", () -> new SteelTriggerItem());
public static final RegistryObject<Item> STEEL_SPRING = REGISTRY.register("steel_spring", () -> new SteelSpringItem());
public static final RegistryObject<Item> CEMENTED_CARBIDE_BARREL = REGISTRY.register("cemented_carbide_barrel", () -> new CementedCarbideBarrelItem());
public static final RegistryObject<Item> CEMENTED_CARBIDE_ACTION = REGISTRY.register("cemented_carbide_action", () -> new CementedCarbideActionItem());
public static final RegistryObject<Item> CEMENTEDCARBIDE_TRIGGER = REGISTRY.register("cementedcarbide_trigger", () -> new CementedcarbideTriggerItem());
public static final RegistryObject<Item> CEMENTEDCARBIDESPRING = REGISTRY.register("cementedcarbidespring", () -> new CementedcarbidespringItem());
public static final RegistryObject<Item> NETHERITE_BARREL = REGISTRY.register("netherite_barrel", () -> new NetheriteBarrelItem());
public static final RegistryObject<Item> NETHERITE_ACTION = REGISTRY.register("netherite_action", () -> new NetheriteActionItem());
public static final RegistryObject<Item> NETHERITE_TRIGGER = REGISTRY.register("netherite_trigger", () -> new NetheriteTriggerItem());
public static final RegistryObject<Item> NETHERITE_SPRING = REGISTRY.register("netherite_spring", () -> new NetheriteSpringItem());
public static final RegistryObject<Item> COMMONMATERIALPACK = REGISTRY.register("commonmaterialpack", () -> new CommonmaterialpackItem());
public static final RegistryObject<Item> RAREMATERIALPACK = REGISTRY.register("rarematerialpack", () -> new RarematerialpackItem());
public static final RegistryObject<Item> EPICMATERIALPACK = REGISTRY.register("epicmaterialpack", () -> new EpicmaterialpackItem());
public static final RegistryObject<Item> LEGENDARYMATERIALPACK = REGISTRY.register("legendarymaterialpack", () -> new LegendarymaterialpackItem());
public static final RegistryObject<Item> SPECIALMATERIALPACK = REGISTRY.register("specialmaterialpack", () -> new SpecialmaterialpackItem());
public static final RegistryObject<Item> TRACHELIUM_BLUEPRINT = REGISTRY.register("trachelium_blueprint", () -> new TracheliumBlueprintItem());
public static final RegistryObject<Item> HUNTING_RIFLE_BLUEPRINT = REGISTRY.register("hunting_rifle_blueprint", () -> new HuntingRifleBlueprintItem());
public static final RegistryObject<Item> M_79_BLUEPRINT = REGISTRY.register("m_79_blueprint", () -> new M79BlueprintItem());
public static final RegistryObject<Item> RPG_BLUEPRINT = REGISTRY.register("rpg_blueprint", () -> new RpgBlueprintItem());
public static final RegistryObject<Item> BOCEK_BLUEPRINT = REGISTRY.register("bocek_blueprint", () -> new BocekBlueprintItem());
public static final RegistryObject<Item> M_4_BLUEPRINT = REGISTRY.register("m_4_blueprint", () -> new M4BlueprintItem());
public static final RegistryObject<Item> AA_12_BLUEPRINT = REGISTRY.register("aa_12_blueprint", () -> new Aa12BlueprintItem());
public static final RegistryObject<Item> HK_416_BLUEPRINT = REGISTRY.register("hk_416_blueprint", () -> new HK416BlueprintItem());
public static final RegistryObject<Item> RPK_BLUEPRINT = REGISTRY.register("rpk_blueprint", () -> new RPKBlueprintItem());
public static final RegistryObject<Item> SKS_BLUEPRINT = REGISTRY.register("sks_blueprint", () -> new SKSBlueprintItem());
public static final RegistryObject<Item> KRABER_BLUEPRINT = REGISTRY.register("kraber_blueprint", () -> new KRABERBlueprintItem());
public static final RegistryObject<Item> VECTOR_BLUEPRINT = REGISTRY.register("vector_blueprint", () -> new VectorBlueprintItem());
public static final RegistryObject<Item> MINIGUN_BLUEPRINT = REGISTRY.register("minigun_blueprint", () -> new MinigunBlueprintItem());
public static final RegistryObject<Item> MK_14_BLUEPRINT = REGISTRY.register("mk_14_blueprint", () -> new Mk14BlueprintItem());
public static final RegistryObject<Item> SENTINEL_BLUEPRINT = REGISTRY.register("sentinel_blueprint", () -> new SentinelBlueprintItem());
public static final RegistryObject<Item> M_60_BLUEPRINT = REGISTRY.register("m_60_blueprint", () -> new M60BlueprintItem());
public static final RegistryObject<Item> SVD_BLUEPRINT = REGISTRY.register("svd_blueprint", () -> new SvdBlueprintItem());
public static final RegistryObject<Item> MARLIN_BLUEPRINT = REGISTRY.register("marlin_blueprint", () -> new MarlinBlueprintItem());
public static final RegistryObject<Item> M_870_BLUEPRINT = REGISTRY.register("m_870_blueprint", () -> new M870BlueprintItem());
public static final RegistryObject<Item> M_98B_BLUEPRINT = REGISTRY.register("m_98b_blueprint", () -> new M98bBlueprintItem());
public static final RegistryObject<Item> AK_47_BLUEPRINT = REGISTRY.register("ak_47_blueprint", () -> new AK47BlueprintItem());
public static final RegistryObject<Item> DEVOTION_BLUPRINT = REGISTRY.register("devotion_bluprint", () -> new DevotionBluprintItem());
public static final RegistryObject<Item> TASER_BLUEPRINT = REGISTRY.register("taser_blueprint", () -> new TaserBlueprintItem());
public static final RegistryObject<Item> GUN_RECYCLE = block(TargetModBlocks.GUN_RECYCLE);
public static final RegistryObject<Item> HANDGUN_AMMO = REGISTRY.register("handgun_ammo", () -> new HandgunAmmoItem());
public static final RegistryObject<Item> RIFLE_AMMO = REGISTRY.register("rifle_ammo", () -> new RifleAmmoItem());
public static final RegistryObject<Item> SNIPER_AMMO = REGISTRY.register("sniper_ammo", () -> new SniperAmmoItem());
public static final RegistryObject<Item> SHOTGUN_AMMO = REGISTRY.register("shotgun_ammo", () -> new ShotgunAmmoItem());
public static final RegistryObject<Item> HANDGUN_AMMO_BOX = REGISTRY.register("handgun_ammo_box", () -> new HandgunAmmoBoxItem());
public static final RegistryObject<Item> RIFLE_AMMO_BOX = REGISTRY.register("rifle_ammo_box", () -> new RifleAmmoBoxItem());
public static final RegistryObject<Item> SNIPER_AMMO_BOX = REGISTRY.register("sniper_ammo_box", () -> new SniperAmmoBoxItem());
public static final RegistryObject<Item> SHOTGUN_AMMO_BOX = REGISTRY.register("shotgun_ammo_box", () -> new ShotgunAmmoBoxItem());
public static final RegistryObject<Item> CREATIVE_AMMO_BOX = REGISTRY.register("creative_ammo_box", () -> new CreativeAmmoBoxItem());
public static final RegistryObject<Item> TASER_ELECTRODE = REGISTRY.register("taser_electrode", () -> new TaserElectrodeItem());
public static final RegistryObject<Item> GRENADE_40MM = REGISTRY.register("grenade_40mm", () -> new Grenade40mmItem());
public static final RegistryObject<Item> MORTAR_SHELLS = REGISTRY.register("mortar_shells", () -> new MortarShellsItem());
public static final RegistryObject<Item> ROCKET = REGISTRY.register("rocket", () -> new RocketItem());
public static final DeferredRegister<Item> REGISTRY = DeferredRegister.create(ForgeRegistries.ITEMS, TargetMod.MODID);
public static final RegistryObject<Item> TASER = REGISTRY.register("taser", TaserItem::new);
public static final RegistryObject<Item> ABEKIRI = REGISTRY.register("abekiri", AbekiriItem::new);
public static final RegistryObject<Item> TRACHELIUM = REGISTRY.register("trachelium", TracheliumItem::new);
public static final RegistryObject<Item> VECTOR = REGISTRY.register("vector", VectorItem::new);
public static final RegistryObject<Item> AK_47 = REGISTRY.register("ak_47", AK47Item::new);
public static final RegistryObject<Item> SKS = REGISTRY.register("sks", SksItem::new);
public static final RegistryObject<Item> M_4 = REGISTRY.register("m_4", M4Item::new);
public static final RegistryObject<Item> HK_416 = REGISTRY.register("hk_416", Hk416Item::new);
public static final RegistryObject<Item> MK_14 = REGISTRY.register("mk_14", Mk14Item::new);
public static final RegistryObject<Item> MARLIN = REGISTRY.register("marlin", MarlinItem::new);
public static final RegistryObject<Item> SVD = REGISTRY.register("svd", SvdItem::new);
public static final RegistryObject<Item> M_98B = REGISTRY.register("m_98b", M98bItem::new);
public static final RegistryObject<Item> SENTINEL = REGISTRY.register("sentinel", SentinelItem::new);
public static final RegistryObject<Item> HUNTING_RIFLE = REGISTRY.register("hunting_rifle", HuntingRifleItem::new);
public static final RegistryObject<Item> KRABER = REGISTRY.register("kraber", KraberItem::new);
public static final RegistryObject<Item> M_870 = REGISTRY.register("m_870", M870Item::new);
public static final RegistryObject<Item> AA_12 = REGISTRY.register("aa_12", Aa12Item::new);
public static final RegistryObject<Item> DEVOTION = REGISTRY.register("devotion", DevotionItem::new);
public static final RegistryObject<Item> RPK = REGISTRY.register("rpk", RpkItem::new);
public static final RegistryObject<Item> M_60 = REGISTRY.register("m_60", M60Item::new);
public static final RegistryObject<Item> MINIGUN = REGISTRY.register("minigun", MinigunItem::new);
public static final RegistryObject<Item> M_79 = REGISTRY.register("m_79", M79Item::new);
public static final RegistryObject<Item> RPG = REGISTRY.register("rpg", RpgItem::new);
public static final RegistryObject<Item> BOCEK = REGISTRY.register("bocek", BocekItem::new);
public static final RegistryObject<Item> SENPAI_SPAWN_EGG = REGISTRY.register("senpai_spawn_egg", () -> new ForgeSpawnEggItem(TargetModEntities.SENPAI, -11584987, -14014413, new Item.Properties()));
public static final RegistryObject<Item> TARGETDEPLOYER = REGISTRY.register("targetdeployer", TargetdeployerItem::new);
public static final RegistryObject<Item> SANDBAG = block(TargetModBlocks.SANDBAG);
public static final RegistryObject<Item> BARBED_WIRE = block(TargetModBlocks.BARBED_WIRE);
public static final RegistryObject<Item> CLAYMORE_MINE = REGISTRY.register("claymore_mine", ClaymoreMineItem::new);
public static final RegistryObject<Item> JUMPPAD_BLOCK = block(TargetModBlocks.JUMPPAD_BLOCK);
public static final RegistryObject<Item> LIGHT_SABER = REGISTRY.register("light_saber", LightSaberItem::new);
public static final RegistryObject<Item> HAMMER = REGISTRY.register("hammer", HammerItem::new);
public static final RegistryObject<Item> MORTAR_DEPOLYER = REGISTRY.register("mortar_depolyer", MortarDepolyerItem::new);
public static final RegistryObject<Item> MORTARBARREL = REGISTRY.register("mortarbarrel", MortarbarrelItem::new);
public static final RegistryObject<Item> MORATR_BASE_PLATE = REGISTRY.register("moratr_base_plate", MoratrBasePlateItem::new);
public static final RegistryObject<Item> MORTARBIPOD = REGISTRY.register("mortarbipod", MortarbipodItem::new);
public static final RegistryObject<Item> FUSEE = REGISTRY.register("fusee", FuseeItem::new);
public static final RegistryObject<Item> SOULSTEELNUGGET = REGISTRY.register("soulsteelnugget", SoulsteelnuggetItem::new);
public static final RegistryObject<Item> COPPERPLATE = REGISTRY.register("copperplate", CopperplateItem::new);
public static final RegistryObject<Item> INGOT_STEEL = REGISTRY.register("ingot_steel", IngotSteelItem::new);
public static final RegistryObject<Item> LEAD_INGOT = REGISTRY.register("lead_ingot", LeadIngotItem::new);
public static final RegistryObject<Item> TUNGSTEN_INGOT = REGISTRY.register("tungsten_ingot", TungstenIngotItem::new);
public static final RegistryObject<Item> CEMENTED_CARBIDE_INGOT = REGISTRY.register("cemented_carbide_ingot", CementedCarbideIngotItem::new);
public static final RegistryObject<Item> SOULSTEEL_INGOT = REGISTRY.register("soulsteel_ingot", SoulsteelIngotItem::new);
public static final RegistryObject<Item> IRON_POWDER = REGISTRY.register("iron_powder", IronPowderItem::new);
public static final RegistryObject<Item> TUNGSTEN_POWDER = REGISTRY.register("tungsten_powder", TungstenPowderItem::new);
public static final RegistryObject<Item> COAL_POWDER = REGISTRY.register("coal_powder", CoalPowderItem::new);
public static final RegistryObject<Item> COAL_IRON_POWDER = REGISTRY.register("coal_iron_powder", CoalIronPowderItem::new);
public static final RegistryObject<Item> UNBLASTEDCEMENTEDCARBIDEPODWER = REGISTRY.register("unblastedcementedcarbidepodwer", UnblastedcementedcarbidepodwerItem::new);
public static final RegistryObject<Item> GALENA_ORE = block(TargetModBlocks.GALENA_ORE);
public static final RegistryObject<Item> DEEPSLATE_GALENA_ORE = block(TargetModBlocks.DEEPSLATE_GALENA_ORE);
public static final RegistryObject<Item> SCHEELITE_ORE = block(TargetModBlocks.SCHEELITE_ORE);
public static final RegistryObject<Item> DEEPSLATE_SCHEELITE_ORE = block(TargetModBlocks.DEEPSLATE_SCHEELITE_ORE);
public static final RegistryObject<Item> GALENA = REGISTRY.register("galena", GalenaItem::new);
public static final RegistryObject<Item> SCHEELITE = REGISTRY.register("scheelite", ScheeliteItem::new);
public static final RegistryObject<Item> BUCKSHOT = REGISTRY.register("buckshot", BuckshotItem::new);
public static final RegistryObject<Item> IRON_BARREL = REGISTRY.register("iron_barrel", IronBarrelItem::new);
public static final RegistryObject<Item> IRON_ACTION = REGISTRY.register("iron_action", IronActionItem::new);
public static final RegistryObject<Item> IRON_TRIGGER = REGISTRY.register("iron_trigger", IronTriggerItem::new);
public static final RegistryObject<Item> IRON_SPRING = REGISTRY.register("iron_spring", IronSpringItem::new);
public static final RegistryObject<Item> STEEL_BARREL = REGISTRY.register("steel_barrel", SteelBarrelItem::new);
public static final RegistryObject<Item> STEEL_ACTION = REGISTRY.register("steel_action", SteelActionItem::new);
public static final RegistryObject<Item> STEEL_TRIGGER = REGISTRY.register("steel_trigger", SteelTriggerItem::new);
public static final RegistryObject<Item> STEEL_SPRING = REGISTRY.register("steel_spring", SteelSpringItem::new);
public static final RegistryObject<Item> CEMENTED_CARBIDE_BARREL = REGISTRY.register("cemented_carbide_barrel", CementedCarbideBarrelItem::new);
public static final RegistryObject<Item> CEMENTED_CARBIDE_ACTION = REGISTRY.register("cemented_carbide_action", CementedCarbideActionItem::new);
public static final RegistryObject<Item> CEMENTEDCARBIDE_TRIGGER = REGISTRY.register("cementedcarbide_trigger", CementedcarbideTriggerItem::new);
public static final RegistryObject<Item> CEMENTEDCARBIDESPRING = REGISTRY.register("cementedcarbidespring", CementedcarbidespringItem::new);
public static final RegistryObject<Item> NETHERITE_BARREL = REGISTRY.register("netherite_barrel", NetheriteBarrelItem::new);
public static final RegistryObject<Item> NETHERITE_ACTION = REGISTRY.register("netherite_action", NetheriteActionItem::new);
public static final RegistryObject<Item> NETHERITE_TRIGGER = REGISTRY.register("netherite_trigger", NetheriteTriggerItem::new);
public static final RegistryObject<Item> NETHERITE_SPRING = REGISTRY.register("netherite_spring", NetheriteSpringItem::new);
public static final RegistryObject<Item> COMMONMATERIALPACK = REGISTRY.register("commonmaterialpack", CommonmaterialpackItem::new);
public static final RegistryObject<Item> RAREMATERIALPACK = REGISTRY.register("rarematerialpack", RarematerialpackItem::new);
public static final RegistryObject<Item> EPICMATERIALPACK = REGISTRY.register("epicmaterialpack", EpicmaterialpackItem::new);
public static final RegistryObject<Item> LEGENDARYMATERIALPACK = REGISTRY.register("legendarymaterialpack", LegendarymaterialpackItem::new);
public static final RegistryObject<Item> SPECIALMATERIALPACK = REGISTRY.register("specialmaterialpack", SpecialmaterialpackItem::new);
public static final RegistryObject<Item> TRACHELIUM_BLUEPRINT = REGISTRY.register("trachelium_blueprint", TracheliumBlueprintItem::new);
public static final RegistryObject<Item> HUNTING_RIFLE_BLUEPRINT = REGISTRY.register("hunting_rifle_blueprint", HuntingRifleBlueprintItem::new);
public static final RegistryObject<Item> M_79_BLUEPRINT = REGISTRY.register("m_79_blueprint", M79BlueprintItem::new);
public static final RegistryObject<Item> RPG_BLUEPRINT = REGISTRY.register("rpg_blueprint", RpgBlueprintItem::new);
public static final RegistryObject<Item> BOCEK_BLUEPRINT = REGISTRY.register("bocek_blueprint", BocekBlueprintItem::new);
public static final RegistryObject<Item> M_4_BLUEPRINT = REGISTRY.register("m_4_blueprint", M4BlueprintItem::new);
public static final RegistryObject<Item> AA_12_BLUEPRINT = REGISTRY.register("aa_12_blueprint", Aa12BlueprintItem::new);
public static final RegistryObject<Item> HK_416_BLUEPRINT = REGISTRY.register("hk_416_blueprint", HK416BlueprintItem::new);
public static final RegistryObject<Item> RPK_BLUEPRINT = REGISTRY.register("rpk_blueprint", RPKBlueprintItem::new);
public static final RegistryObject<Item> SKS_BLUEPRINT = REGISTRY.register("sks_blueprint", SKSBlueprintItem::new);
public static final RegistryObject<Item> KRABER_BLUEPRINT = REGISTRY.register("kraber_blueprint", KRABERBlueprintItem::new);
public static final RegistryObject<Item> VECTOR_BLUEPRINT = REGISTRY.register("vector_blueprint", VectorBlueprintItem::new);
public static final RegistryObject<Item> MINIGUN_BLUEPRINT = REGISTRY.register("minigun_blueprint", MinigunBlueprintItem::new);
public static final RegistryObject<Item> MK_14_BLUEPRINT = REGISTRY.register("mk_14_blueprint", Mk14BlueprintItem::new);
public static final RegistryObject<Item> SENTINEL_BLUEPRINT = REGISTRY.register("sentinel_blueprint", SentinelBlueprintItem::new);
public static final RegistryObject<Item> M_60_BLUEPRINT = REGISTRY.register("m_60_blueprint", M60BlueprintItem::new);
public static final RegistryObject<Item> SVD_BLUEPRINT = REGISTRY.register("svd_blueprint", SvdBlueprintItem::new);
public static final RegistryObject<Item> MARLIN_BLUEPRINT = REGISTRY.register("marlin_blueprint", MarlinBlueprintItem::new);
public static final RegistryObject<Item> M_870_BLUEPRINT = REGISTRY.register("m_870_blueprint", M870BlueprintItem::new);
public static final RegistryObject<Item> M_98B_BLUEPRINT = REGISTRY.register("m_98b_blueprint", M98bBlueprintItem::new);
public static final RegistryObject<Item> AK_47_BLUEPRINT = REGISTRY.register("ak_47_blueprint", AK47BlueprintItem::new);
public static final RegistryObject<Item> DEVOTION_BLUPRINT = REGISTRY.register("devotion_bluprint", DevotionBluprintItem::new);
public static final RegistryObject<Item> TASER_BLUEPRINT = REGISTRY.register("taser_blueprint", TaserBlueprintItem::new);
public static final RegistryObject<Item> GUN_RECYCLE = block(TargetModBlocks.GUN_RECYCLE);
public static final RegistryObject<Item> HANDGUN_AMMO = REGISTRY.register("handgun_ammo", HandgunAmmoItem::new);
public static final RegistryObject<Item> RIFLE_AMMO = REGISTRY.register("rifle_ammo", RifleAmmoItem::new);
public static final RegistryObject<Item> SNIPER_AMMO = REGISTRY.register("sniper_ammo", SniperAmmoItem::new);
public static final RegistryObject<Item> SHOTGUN_AMMO = REGISTRY.register("shotgun_ammo", ShotgunAmmoItem::new);
public static final RegistryObject<Item> HANDGUN_AMMO_BOX = REGISTRY.register("handgun_ammo_box", HandgunAmmoBoxItem::new);
public static final RegistryObject<Item> RIFLE_AMMO_BOX = REGISTRY.register("rifle_ammo_box", RifleAmmoBoxItem::new);
public static final RegistryObject<Item> SNIPER_AMMO_BOX = REGISTRY.register("sniper_ammo_box", SniperAmmoBoxItem::new);
public static final RegistryObject<Item> SHOTGUN_AMMO_BOX = REGISTRY.register("shotgun_ammo_box", ShotgunAmmoBoxItem::new);
public static final RegistryObject<Item> CREATIVE_AMMO_BOX = REGISTRY.register("creative_ammo_box", CreativeAmmoBoxItem::new);
public static final RegistryObject<Item> TASER_ELECTRODE = REGISTRY.register("taser_electrode", TaserElectrodeItem::new);
public static final RegistryObject<Item> GRENADE_40MM = REGISTRY.register("grenade_40mm", Grenade40mmItem::new);
public static final RegistryObject<Item> MORTAR_SHELLS = REGISTRY.register("mortar_shells", MortarShellsItem::new);
public static final RegistryObject<Item> ROCKET = REGISTRY.register("rocket", RocketItem::new);
private static RegistryObject<Item> block(RegistryObject<Block> block) {
return REGISTRY.register(block.getId().getPath(), () -> new BlockItem(block.get(), new Item.Properties()));
}
private static RegistryObject<Item> block(RegistryObject<Block> block) {
return REGISTRY.register(block.getId().getPath(), () -> new BlockItem(block.get(), new Item.Properties()));
}
}

View file

@ -4,104 +4,100 @@
*/
package net.mcreator.target.init;
import org.lwjgl.glfw.GLFW;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.event.TickEvent;
import net.minecraftforge.client.event.RegisterKeyMappingsEvent;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraft.client.Minecraft;
import net.minecraft.client.KeyMapping;
import net.mcreator.target.network.ZoomMessage;
import net.mcreator.target.network.ReloadMessage;
import net.mcreator.target.network.FiremodeMessage;
import net.mcreator.target.network.DoublejumpinputMessage;
import net.mcreator.target.TargetMod;
import com.mojang.blaze3d.platform.InputConstants;
import net.mcreator.target.TargetMod;
import net.mcreator.target.network.DoublejumpinputMessage;
import net.mcreator.target.network.FiremodeMessage;
import net.mcreator.target.network.ReloadMessage;
import net.mcreator.target.network.ZoomMessage;
import net.minecraft.client.KeyMapping;
import net.minecraft.client.Minecraft;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.event.RegisterKeyMappingsEvent;
import net.minecraftforge.event.TickEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import org.lwjgl.glfw.GLFW;
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, value = {Dist.CLIENT})
public class TargetModKeyMappings {
public static final KeyMapping RELOAD = new KeyMapping("key.target.reload", GLFW.GLFW_KEY_R, "key.categories.target") {
private boolean isDownOld = false;
public static final KeyMapping RELOAD = new KeyMapping("key.target.reload", GLFW.GLFW_KEY_R, "key.categories.target") {
private boolean isDownOld = false;
@Override
public void setDown(boolean isDown) {
super.setDown(isDown);
if (isDownOld != isDown && isDown) {
TargetMod.PACKET_HANDLER.sendToServer(new ReloadMessage(0, 0));
ReloadMessage.pressAction(Minecraft.getInstance().player, 0, 0);
}
isDownOld = isDown;
}
};
public static final KeyMapping DOUBLEJUMPINPUT = new KeyMapping("key.target.doublejumpinput", GLFW.GLFW_KEY_SPACE, "key.categories.target") {
private boolean isDownOld = false;
@Override
public void setDown(boolean isDown) {
super.setDown(isDown);
if (isDownOld != isDown && isDown) {
TargetMod.PACKET_HANDLER.sendToServer(new ReloadMessage(0, 0));
ReloadMessage.pressAction(Minecraft.getInstance().player, 0, 0);
}
isDownOld = isDown;
}
};
public static final KeyMapping DOUBLEJUMPINPUT = new KeyMapping("key.target.doublejumpinput", GLFW.GLFW_KEY_SPACE, "key.categories.target") {
private boolean isDownOld = false;
@Override
public void setDown(boolean isDown) {
super.setDown(isDown);
if (isDownOld != isDown && isDown) {
TargetMod.PACKET_HANDLER.sendToServer(new DoublejumpinputMessage(0, 0));
DoublejumpinputMessage.pressAction(Minecraft.getInstance().player, 0, 0);
}
isDownOld = isDown;
}
};
public static final KeyMapping FIREMODE = new KeyMapping("key.target.firemode", GLFW.GLFW_KEY_N, "key.categories.target") {
private boolean isDownOld = false;
@Override
public void setDown(boolean isDown) {
super.setDown(isDown);
if (isDownOld != isDown && isDown) {
TargetMod.PACKET_HANDLER.sendToServer(new DoublejumpinputMessage(0, 0));
DoublejumpinputMessage.pressAction(Minecraft.getInstance().player, 0, 0);
}
isDownOld = isDown;
}
};
public static final KeyMapping FIREMODE = new KeyMapping("key.target.firemode", GLFW.GLFW_KEY_N, "key.categories.target") {
private boolean isDownOld = false;
@Override
public void setDown(boolean isDown) {
super.setDown(isDown);
if (isDownOld != isDown && isDown) {
TargetMod.PACKET_HANDLER.sendToServer(new FiremodeMessage(0, 0));
FiremodeMessage.pressAction(Minecraft.getInstance().player, 0, 0);
}
isDownOld = isDown;
}
};
public static final KeyMapping ZOOM = new KeyMapping("key.target.zoom", InputConstants.Type.MOUSE, GLFW.GLFW_MOUSE_BUTTON_RIGHT, "key.categories.target") {
private boolean isDownOld = false;
@Override
public void setDown(boolean isDown) {
super.setDown(isDown);
if (isDownOld != isDown && isDown) {
TargetMod.PACKET_HANDLER.sendToServer(new FiremodeMessage(0, 0));
FiremodeMessage.pressAction(Minecraft.getInstance().player, 0, 0);
}
isDownOld = isDown;
}
};
public static final KeyMapping ZOOM = new KeyMapping("key.target.zoom", InputConstants.Type.MOUSE, GLFW.GLFW_MOUSE_BUTTON_RIGHT, "key.categories.target") {
private boolean isDownOld = false;
@Override
public void setDown(boolean isDown) {
super.setDown(isDown);
if (isDownOld != isDown && isDown) {
TargetMod.PACKET_HANDLER.sendToServer(new ZoomMessage(0, 0));
ZoomMessage.pressAction(Minecraft.getInstance().player, 0, 0);
ZOOM_LASTPRESS = System.currentTimeMillis();
} else if (isDownOld != isDown && !isDown) {
int dt = (int) (System.currentTimeMillis() - ZOOM_LASTPRESS);
TargetMod.PACKET_HANDLER.sendToServer(new ZoomMessage(1, dt));
ZoomMessage.pressAction(Minecraft.getInstance().player, 1, dt);
}
isDownOld = isDown;
}
};
private static long ZOOM_LASTPRESS = 0;
@Override
public void setDown(boolean isDown) {
super.setDown(isDown);
if (isDownOld != isDown && isDown) {
TargetMod.PACKET_HANDLER.sendToServer(new ZoomMessage(0, 0));
ZoomMessage.pressAction(Minecraft.getInstance().player, 0, 0);
ZOOM_LASTPRESS = System.currentTimeMillis();
} else if (isDownOld != isDown) {
int dt = (int) (System.currentTimeMillis() - ZOOM_LASTPRESS);
TargetMod.PACKET_HANDLER.sendToServer(new ZoomMessage(1, dt));
ZoomMessage.pressAction(Minecraft.getInstance().player, 1, dt);
}
isDownOld = isDown;
}
};
private static long ZOOM_LASTPRESS = 0;
@SubscribeEvent
public static void registerKeyMappings(RegisterKeyMappingsEvent event) {
event.register(RELOAD);
event.register(DOUBLEJUMPINPUT);
event.register(FIREMODE);
event.register(ZOOM);
}
@SubscribeEvent
public static void registerKeyMappings(RegisterKeyMappingsEvent event) {
event.register(RELOAD);
event.register(DOUBLEJUMPINPUT);
event.register(FIREMODE);
event.register(ZOOM);
}
@Mod.EventBusSubscriber({Dist.CLIENT})
public static class KeyEventListener {
@SubscribeEvent
public static void onClientTick(TickEvent.ClientTickEvent event) {
if (Minecraft.getInstance().screen == null) {
RELOAD.consumeClick();
DOUBLEJUMPINPUT.consumeClick();
FIREMODE.consumeClick();
ZOOM.consumeClick();
}
}
}
@Mod.EventBusSubscriber({Dist.CLIENT})
public static class KeyEventListener {
@SubscribeEvent
public static void onClientTick(TickEvent.ClientTickEvent event) {
if (Minecraft.getInstance().screen == null) {
RELOAD.consumeClick();
DOUBLEJUMPINPUT.consumeClick();
FIREMODE.consumeClick();
ZOOM.consumeClick();
}
}
}
}

View file

@ -1,66 +1,59 @@
package net.mcreator.target.init;
import org.checkerframework.checker.units.qual.m;
import net.minecraftforge.registries.RegistryObject;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.fml.event.lifecycle.FMLConstructModEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.common.loot.LootModifier;
import net.minecraftforge.common.loot.IGlobalLootModifier;
import net.minecraft.world.level.storage.loot.predicates.LootItemCondition;
import net.minecraft.world.level.storage.loot.LootContext;
import net.minecraft.world.item.ItemStack;
import net.minecraft.resources.ResourceLocation;
import com.google.common.base.Suppliers;
import com.mojang.serialization.Codec;
import com.mojang.serialization.codecs.RecordCodecBuilder;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
import net.mcreator.target.TargetMod;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.storage.loot.LootContext;
import net.minecraft.world.level.storage.loot.predicates.LootItemCondition;
import net.minecraftforge.common.loot.IGlobalLootModifier;
import net.minecraftforge.common.loot.LootModifier;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLConstructModEvent;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
import java.util.function.Supplier;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
import com.mojang.serialization.codecs.RecordCodecBuilder;
import com.mojang.serialization.Codec;
import com.google.common.base.Suppliers;
@Mod.EventBusSubscriber(modid = TargetMod.MODID, bus = Mod.EventBusSubscriber.Bus.MOD)
public class TargetModLootModifier {
public static class TargetModLootTableModifier extends LootModifier {
public static final Supplier<Codec<TargetModLootTableModifier>> CODEC = Suppliers
.memoize(() -> RecordCodecBuilder.create(instance -> codecStart(instance).and(ResourceLocation.CODEC.fieldOf("lootTable").forGetter(m -> m.lootTable)).apply(instance, TargetModLootTableModifier::new)));
private final ResourceLocation lootTable;
public static class TargetModLootTableModifier extends LootModifier {
public static final Supplier<Codec<TargetModLootTableModifier>> CODEC = Suppliers
.memoize(() -> RecordCodecBuilder.create(instance -> codecStart(instance).and(ResourceLocation.CODEC.fieldOf("lootTable").forGetter(m -> m.lootTable)).apply(instance, TargetModLootTableModifier::new)));
private final ResourceLocation lootTable;
public TargetModLootTableModifier(LootItemCondition[] conditions, ResourceLocation lootTable) {
super(conditions);
this.lootTable = lootTable;
}
public TargetModLootTableModifier(LootItemCondition[] conditions, ResourceLocation lootTable) {
super(conditions);
this.lootTable = lootTable;
}
@Override
protected ObjectArrayList<ItemStack> doApply(ObjectArrayList<ItemStack> generatedLoot, LootContext context) {
context.getResolver().getLootTable(lootTable).getRandomItemsRaw(context, generatedLoot::add);
return generatedLoot;
}
@Override
protected ObjectArrayList<ItemStack> doApply(ObjectArrayList<ItemStack> generatedLoot, LootContext context) {
context.getResolver().getLootTable(lootTable).getRandomItemsRaw(context, generatedLoot::add);
return generatedLoot;
}
@Override
public Codec<? extends IGlobalLootModifier> codec() {
return CODEC.get();
}
}
@Override
public Codec<? extends IGlobalLootModifier> codec() {
return CODEC.get();
}
}
public static final DeferredRegister<Codec<? extends IGlobalLootModifier>> LOOT_MODIFIERS = DeferredRegister.create(ForgeRegistries.Keys.GLOBAL_LOOT_MODIFIER_SERIALIZERS, "target");
public static final RegistryObject<Codec<TargetModLootTableModifier>> LOOT_MODIFIER = LOOT_MODIFIERS.register("target_loot_modifier", TargetModLootTableModifier.CODEC);
public static final DeferredRegister<Codec<? extends IGlobalLootModifier>> LOOT_MODIFIERS = DeferredRegister.create(ForgeRegistries.Keys.GLOBAL_LOOT_MODIFIER_SERIALIZERS, "target");
public static final RegistryObject<Codec<TargetModLootTableModifier>> LOOT_MODIFIER = LOOT_MODIFIERS.register("target_loot_modifier", TargetModLootTableModifier.CODEC);
@SubscribeEvent
public static void register(FMLConstructModEvent event) {
IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus();
event.enqueueWork(() -> {
LOOT_MODIFIERS.register(bus);
});
}
@SubscribeEvent
public static void register(FMLConstructModEvent event) {
IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus();
event.enqueueWork(() -> {
LOOT_MODIFIERS.register(bus);
});
}
}

View file

@ -4,19 +4,17 @@
*/
package net.mcreator.target.init;
import net.minecraftforge.registries.RegistryObject;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.common.extensions.IForgeMenuType;
import net.minecraft.world.inventory.MenuType;
import net.mcreator.target.world.inventory.MortarGUIMenu;
import net.mcreator.target.world.inventory.GunRecycleGuiMenu;
import net.mcreator.target.TargetMod;
import net.mcreator.target.world.inventory.GunRecycleGuiMenu;
import net.mcreator.target.world.inventory.MortarGUIMenu;
import net.minecraft.world.inventory.MenuType;
import net.minecraftforge.common.extensions.IForgeMenuType;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
public class TargetModMenus {
public static final DeferredRegister<MenuType<?>> REGISTRY = DeferredRegister.create(ForgeRegistries.MENU_TYPES, TargetMod.MODID);
public static final RegistryObject<MenuType<MortarGUIMenu>> MORTAR_GUI = REGISTRY.register("mortar_gui", () -> IForgeMenuType.create(MortarGUIMenu::new));
public static final RegistryObject<MenuType<GunRecycleGuiMenu>> GUN_RECYCLE_GUI = REGISTRY.register("gun_recycle_gui", () -> IForgeMenuType.create(GunRecycleGuiMenu::new));
public static final DeferredRegister<MenuType<?>> REGISTRY = DeferredRegister.create(ForgeRegistries.MENU_TYPES, TargetMod.MODID);
public static final RegistryObject<MenuType<MortarGUIMenu>> MORTAR_GUI = REGISTRY.register("mortar_gui", () -> IForgeMenuType.create(MortarGUIMenu::new));
public static final RegistryObject<MenuType<GunRecycleGuiMenu>> GUN_RECYCLE_GUI = REGISTRY.register("gun_recycle_gui", () -> IForgeMenuType.create(GunRecycleGuiMenu::new));
}

View file

@ -4,16 +4,14 @@
*/
package net.mcreator.target.init;
import net.minecraftforge.registries.RegistryObject;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraft.world.effect.MobEffect;
import net.mcreator.target.potion.ShockMobEffect;
import net.mcreator.target.TargetMod;
import net.mcreator.target.potion.ShockMobEffect;
import net.minecraft.world.effect.MobEffect;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
public class TargetModMobEffects {
public static final DeferredRegister<MobEffect> REGISTRY = DeferredRegister.create(ForgeRegistries.MOB_EFFECTS, TargetMod.MODID);
public static final RegistryObject<MobEffect> SHOCK = REGISTRY.register("shock", () -> new ShockMobEffect());
public static final DeferredRegister<MobEffect> REGISTRY = DeferredRegister.create(ForgeRegistries.MOB_EFFECTS, TargetMod.MODID);
public static final RegistryObject<MobEffect> SHOCK = REGISTRY.register("shock", ShockMobEffect::new);
}

View file

@ -4,29 +4,22 @@
*/
package net.mcreator.target.init;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.client.event.EntityRenderersEvent;
import net.mcreator.target.client.model.*;
import net.minecraftforge.api.distmarker.Dist;
import net.mcreator.target.client.model.Modeltaser_rod;
import net.mcreator.target.client.model.Modelrpg7_rocket_Converted;
import net.mcreator.target.client.model.Modelmortar_shell_Converted;
import net.mcreator.target.client.model.Modelclaymore;
import net.mcreator.target.client.model.Modelbullet;
import net.mcreator.target.client.model.Modelbocekarrow;
import net.mcreator.target.client.model.ModelGrenade;
import net.minecraftforge.client.event.EntityRenderersEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, value = {Dist.CLIENT})
public class TargetModModels {
@SubscribeEvent
public static void registerLayerDefinitions(EntityRenderersEvent.RegisterLayerDefinitions event) {
event.registerLayerDefinition(Modelrpg7_rocket_Converted.LAYER_LOCATION, Modelrpg7_rocket_Converted::createBodyLayer);
event.registerLayerDefinition(Modelbullet.LAYER_LOCATION, Modelbullet::createBodyLayer);
event.registerLayerDefinition(Modelmortar_shell_Converted.LAYER_LOCATION, Modelmortar_shell_Converted::createBodyLayer);
event.registerLayerDefinition(Modeltaser_rod.LAYER_LOCATION, Modeltaser_rod::createBodyLayer);
event.registerLayerDefinition(ModelGrenade.LAYER_LOCATION, ModelGrenade::createBodyLayer);
event.registerLayerDefinition(Modelbocekarrow.LAYER_LOCATION, Modelbocekarrow::createBodyLayer);
event.registerLayerDefinition(Modelclaymore.LAYER_LOCATION, Modelclaymore::createBodyLayer);
}
@SubscribeEvent
public static void registerLayerDefinitions(EntityRenderersEvent.RegisterLayerDefinitions event) {
event.registerLayerDefinition(Modelrpg7_rocket_Converted.LAYER_LOCATION, Modelrpg7_rocket_Converted::createBodyLayer);
event.registerLayerDefinition(Modelbullet.LAYER_LOCATION, Modelbullet::createBodyLayer);
event.registerLayerDefinition(Modelmortar_shell_Converted.LAYER_LOCATION, Modelmortar_shell_Converted::createBodyLayer);
event.registerLayerDefinition(Modeltaser_rod.LAYER_LOCATION, Modeltaser_rod::createBodyLayer);
event.registerLayerDefinition(ModelGrenade.LAYER_LOCATION, ModelGrenade::createBodyLayer);
event.registerLayerDefinition(Modelbocekarrow.LAYER_LOCATION, Modelbocekarrow::createBodyLayer);
event.registerLayerDefinition(Modelclaymore.LAYER_LOCATION, Modelclaymore::createBodyLayer);
}
}

View file

@ -1,18 +1,15 @@
package net.mcreator.target.init;
import net.minecraftforge.registries.RegistryObject;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraft.core.particles.SimpleParticleType;
import net.minecraft.core.particles.ParticleType;
import net.mcreator.target.TargetMod;
import net.minecraft.core.particles.ParticleType;
import net.minecraft.core.particles.SimpleParticleType;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
public class TargetModParticleTypes {
public static final DeferredRegister<ParticleType<?>> REGISTRY = DeferredRegister.create(ForgeRegistries.PARTICLE_TYPES, TargetMod.MODID);
public static final RegistryObject<SimpleParticleType> FIRESTAR = REGISTRY.register("firestar", () -> new SimpleParticleType(false));
public static final RegistryObject<SimpleParticleType> BULLTHOLE = REGISTRY.register("bullthole", () -> new SimpleParticleType(false));
public static final DeferredRegister<ParticleType<?>> REGISTRY = DeferredRegister.create(ForgeRegistries.PARTICLE_TYPES, TargetMod.MODID);
public static final RegistryObject<SimpleParticleType> FIRESTAR = REGISTRY.register("firestar", () -> new SimpleParticleType(false));
public static final RegistryObject<SimpleParticleType> BULLTHOLE = REGISTRY.register("bullthole", () -> new SimpleParticleType(false));
}

View file

@ -1,20 +1,18 @@
package net.mcreator.target.init;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.client.event.RegisterParticleProvidersEvent;
import net.minecraftforge.api.distmarker.Dist;
import net.mcreator.target.client.particle.FirestarParticle;
import net.mcreator.target.client.particle.BulltholeParticle;
import net.mcreator.target.client.particle.FirestarParticle;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.event.RegisterParticleProvidersEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
public class TargetModParticles {
@SubscribeEvent
public static void registerParticles(RegisterParticleProvidersEvent event) {
event.registerSpriteSet(TargetModParticleTypes.FIRESTAR.get(), FirestarParticle::provider);
event.registerSpriteSet(TargetModParticleTypes.BULLTHOLE.get(), BulltholeParticle::provider);
}
@SubscribeEvent
public static void registerParticles(RegisterParticleProvidersEvent event) {
event.registerSpriteSet(TargetModParticleTypes.FIRESTAR.get(), FirestarParticle::provider);
event.registerSpriteSet(TargetModParticleTypes.BULLTHOLE.get(), BulltholeParticle::provider);
}
}

View file

@ -4,23 +4,21 @@
*/
package net.mcreator.target.init;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraft.client.gui.screens.MenuScreens;
import net.mcreator.target.client.gui.MortarGUIScreen;
import net.mcreator.target.client.gui.GunRecycleGuiScreen;
import net.mcreator.target.client.gui.MortarGUIScreen;
import net.minecraft.client.gui.screens.MenuScreens;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
public class TargetModScreens {
@SubscribeEvent
public static void clientLoad(FMLClientSetupEvent event) {
event.enqueueWork(() -> {
MenuScreens.register(TargetModMenus.MORTAR_GUI.get(), MortarGUIScreen::new);
MenuScreens.register(TargetModMenus.GUN_RECYCLE_GUI.get(), GunRecycleGuiScreen::new);
});
}
@SubscribeEvent
public static void clientLoad(FMLClientSetupEvent event) {
event.enqueueWork(() -> {
MenuScreens.register(TargetModMenus.MORTAR_GUI.get(), MortarGUIScreen::new);
MenuScreens.register(TargetModMenus.GUN_RECYCLE_GUI.get(), GunRecycleGuiScreen::new);
});
}
}

View file

@ -4,149 +4,147 @@
*/
package net.mcreator.target.init;
import net.minecraftforge.registries.RegistryObject;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.resources.ResourceLocation;
import net.mcreator.target.TargetMod;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
public class TargetModSounds {
public static final DeferredRegister<SoundEvent> REGISTRY = DeferredRegister.create(ForgeRegistries.SOUND_EVENTS, TargetMod.MODID);
public static final RegistryObject<SoundEvent> TASERFIRE = REGISTRY.register("taserfire", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "taserfire")));
public static final RegistryObject<SoundEvent> SHOCK = REGISTRY.register("shock", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "shock")));
public static final RegistryObject<SoundEvent> TRACHELIUM3P = REGISTRY.register("trachelium3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "trachelium3p")));
public static final RegistryObject<SoundEvent> TRIGGERCLICK = REGISTRY.register("triggerclick", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "triggerclick")));
public static final RegistryObject<SoundEvent> HIT = REGISTRY.register("hit", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "hit")));
public static final RegistryObject<SoundEvent> TASERRELOAD = REGISTRY.register("taserreload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "taserreload")));
public static final RegistryObject<SoundEvent> RELOAD = REGISTRY.register("reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "reload")));
public static final RegistryObject<SoundEvent> TARGETDOWN = REGISTRY.register("targetdown", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "targetdown")));
public static final RegistryObject<SoundEvent> INDICATION = REGISTRY.register("indication", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "indication")));
public static final RegistryObject<SoundEvent> JUMP = REGISTRY.register("jump", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "jump")));
public static final RegistryObject<SoundEvent> DOUBLEJUMP = REGISTRY.register("doublejump", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "doublejump")));
public static final RegistryObject<SoundEvent> C4EXP = REGISTRY.register("c4exp", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "c4exp")));
public static final RegistryObject<SoundEvent> EXP = REGISTRY.register("exp", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "exp")));
public static final RegistryObject<SoundEvent> EXPFAR = REGISTRY.register("expfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "expfar")));
public static final RegistryObject<SoundEvent> EXPVERYFAR = REGISTRY.register("expveryfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "expveryfar")));
public static final RegistryObject<SoundEvent> HR_FIRE_1P = REGISTRY.register("hr_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "hr_fire_1p")));
public static final RegistryObject<SoundEvent> HR_RELOAD = REGISTRY.register("hr_reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "hr_reload")));
public static final RegistryObject<SoundEvent> WAAO = REGISTRY.register("waao", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "waao")));
public static final RegistryObject<SoundEvent> STIM = REGISTRY.register("stim", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "stim")));
public static final RegistryObject<SoundEvent> OUCH = REGISTRY.register("ouch", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "ouch")));
public static final RegistryObject<SoundEvent> STEP = REGISTRY.register("step", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "step")));
public static final RegistryObject<SoundEvent> GROWL = REGISTRY.register("growl", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "growl")));
public static final RegistryObject<SoundEvent> IDLE = REGISTRY.register("idle", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "idle")));
public static final RegistryObject<SoundEvent> M79_FIRE_1P = REGISTRY.register("m79_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m79_fire_1p")));
public static final RegistryObject<SoundEvent> M79RELOAD = REGISTRY.register("m79reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m79reload")));
public static final RegistryObject<SoundEvent> AK_FIRE_3P = REGISTRY.register("ak_fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "ak_fire_3p")));
public static final RegistryObject<SoundEvent> AKRELOAD = REGISTRY.register("akreload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "akreload")));
public static final RegistryObject<SoundEvent> ELBOW_START = REGISTRY.register("elbow_start", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "elbow_start")));
public static final RegistryObject<SoundEvent> ELBOW_HIT = REGISTRY.register("elbow_hit", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "elbow_hit")));
public static final RegistryObject<SoundEvent> AKRELOAD2 = REGISTRY.register("akreload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "akreload2")));
public static final RegistryObject<SoundEvent> LAND = REGISTRY.register("land", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "land")));
public static final RegistryObject<SoundEvent> ABKR_FIRE_3P = REGISTRY.register("abkr_fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "abkr_fire_3p")));
public static final RegistryObject<SoundEvent> ABKR_RELOAD = REGISTRY.register("abkr_reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "abkr_reload")));
public static final RegistryObject<SoundEvent> ABKR_RELOAD2 = REGISTRY.register("abkr_reload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "abkr_reload2")));
public static final RegistryObject<SoundEvent> SHIFT = REGISTRY.register("shift", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "shift")));
public static final RegistryObject<SoundEvent> ENEMY_SPOT = REGISTRY.register("enemy_spot", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "enemy_spot")));
public static final RegistryObject<SoundEvent> ENEMY_SPOT_1P = REGISTRY.register("enemy_spot_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "enemy_spot_1p")));
public static final RegistryObject<SoundEvent> HEADSHOT = REGISTRY.register("headshot", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "headshot")));
public static final RegistryObject<SoundEvent> AK47RELOAD = REGISTRY.register("ak47reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "ak47reload")));
public static final RegistryObject<SoundEvent> AK47RELOAD2 = REGISTRY.register("ak47reload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "ak47reload2")));
public static final RegistryObject<SoundEvent> AK47_FIRE_3P = REGISTRY.register("ak47_fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "ak47_fire_3p")));
public static final RegistryObject<SoundEvent> DEVOTION_FIRE_3P = REGISTRY.register("devotion_fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "devotion_fire_3p")));
public static final RegistryObject<SoundEvent> DEVOTION_RELOAD = REGISTRY.register("devotion_reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "devotion_reload")));
public static final RegistryObject<SoundEvent> DEVOTION_RELOAD2 = REGISTRY.register("devotion_reload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "devotion_reload2")));
public static final RegistryObject<SoundEvent> RPG7_FIRE = REGISTRY.register("rpg7_fire", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "rpg7_fire")));
public static final RegistryObject<SoundEvent> RPG7_RELOAD = REGISTRY.register("rpg7_reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "rpg7_reload")));
public static final RegistryObject<SoundEvent> MORTAR_FIRE = REGISTRY.register("mortar_fire", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "mortar_fire")));
public static final RegistryObject<SoundEvent> MORTAR_LOAD = REGISTRY.register("mortar_load", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "mortar_load")));
public static final RegistryObject<SoundEvent> MORTAR_DISTANT = REGISTRY.register("mortar_distant", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "mortar_distant")));
public static final RegistryObject<SoundEvent> FIRERATE = REGISTRY.register("firerate", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "firerate")));
public static final RegistryObject<SoundEvent> M4FIRE = REGISTRY.register("m4fire", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m4fire")));
public static final RegistryObject<SoundEvent> M4RELOAD = REGISTRY.register("m4reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m4reload")));
public static final RegistryObject<SoundEvent> M4RELOAD2 = REGISTRY.register("m4reload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m4reload2")));
public static final RegistryObject<SoundEvent> AA12FIRE = REGISTRY.register("aa12fire", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "aa12fire")));
public static final RegistryObject<SoundEvent> AA12RELOAD = REGISTRY.register("aa12reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "aa12reload")));
public static final RegistryObject<SoundEvent> AA12RELOAD2 = REGISTRY.register("aa12reload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "aa12reload2")));
public static final RegistryObject<SoundEvent> BOWPULL = REGISTRY.register("bowpull", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "bowpull")));
public static final RegistryObject<SoundEvent> BOWFIRE1P = REGISTRY.register("bowfire1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "bowfire1p")));
public static final RegistryObject<SoundEvent> BOWFIRE3P = REGISTRY.register("bowfire3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "bowfire3p")));
public static final RegistryObject<SoundEvent> SHOTFIRE = REGISTRY.register("shotfire", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "shotfire")));
public static final RegistryObject<SoundEvent> SHOTFIRE3P = REGISTRY.register("shotfire3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "shotfire3p")));
public static final RegistryObject<SoundEvent> BOWPULL1P = REGISTRY.register("bowpull1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "bowpull1p")));
public static final RegistryObject<SoundEvent> HK416RELOAD = REGISTRY.register("hk416reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "hk416reload")));
public static final RegistryObject<SoundEvent> HK416RELOAD2 = REGISTRY.register("hk416reload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "hk416reload2")));
public static final RegistryObject<SoundEvent> HK416FIRE = REGISTRY.register("hk416fire", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "hk416fire")));
public static final RegistryObject<SoundEvent> RPKFIRE = REGISTRY.register("rpkfire", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "rpkfire")));
public static final RegistryObject<SoundEvent> RPKRELOAD = REGISTRY.register("rpkreload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "rpkreload")));
public static final RegistryObject<SoundEvent> RPKRELOAD2 = REGISTRY.register("rpkreload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "rpkreload2")));
public static final RegistryObject<SoundEvent> KRABER_FIRE_1P = REGISTRY.register("kraber_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "kraber_fire_1p")));
public static final RegistryObject<SoundEvent> KRABER_FIRE_3P = REGISTRY.register("kraber_fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "kraber_fire_3p")));
public static final RegistryObject<SoundEvent> KRABERRELOAD1 = REGISTRY.register("kraberreload1", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "kraberreload1")));
public static final RegistryObject<SoundEvent> KRABERRELOAD2 = REGISTRY.register("kraberreload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "kraberreload2")));
public static final RegistryObject<SoundEvent> VEC1 = REGISTRY.register("vec1", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "vec1")));
public static final RegistryObject<SoundEvent> VEC3 = REGISTRY.register("vec3", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "vec3")));
public static final RegistryObject<SoundEvent> VECRELOAD = REGISTRY.register("vecreload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "vecreload")));
public static final RegistryObject<SoundEvent> VECRELOAD2 = REGISTRY.register("vecreload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "vecreload2")));
public static final RegistryObject<SoundEvent> MINIGUNSTOP = REGISTRY.register("minigunstop", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "minigunstop")));
public static final RegistryObject<SoundEvent> MINIGUN_FIRE_1P = REGISTRY.register("minigun_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "minigun_fire_1p")));
public static final RegistryObject<SoundEvent> MINIGUN_FIRE_3P = REGISTRY.register("minigun_fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "minigun_fire_3p")));
public static final RegistryObject<SoundEvent> OVERHEAT = REGISTRY.register("overheat", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "overheat")));
public static final RegistryObject<SoundEvent> OVERHEAT_WARN = REGISTRY.register("overheat_warn", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "overheat_warn")));
public static final RegistryObject<SoundEvent> MK14FIRE = REGISTRY.register("mk14fire", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "mk14fire")));
public static final RegistryObject<SoundEvent> MK14_RELOAD_EMPTY = REGISTRY.register("mk14_reload_empty", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "mk14_reload_empty")));
public static final RegistryObject<SoundEvent> MK14_RELOAD_NORMAL = REGISTRY.register("mk14_reload_normal", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "mk14_reload_normal")));
public static final RegistryObject<SoundEvent> SENTINELFIRE1 = REGISTRY.register("sentinelfire1", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "sentinelfire1")));
public static final RegistryObject<SoundEvent> SENTINELFIRE3 = REGISTRY.register("sentinelfire3", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "sentinelfire3")));
public static final RegistryObject<SoundEvent> SENTINELFIRECHARGE1 = REGISTRY.register("sentinelfirecharge1", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "sentinelfirecharge1")));
public static final RegistryObject<SoundEvent> SENTINELFIRECHARGE3 = REGISTRY.register("sentinelfirecharge3", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "sentinelfirecharge3")));
public static final RegistryObject<SoundEvent> CHARGE = REGISTRY.register("charge", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "charge")));
public static final RegistryObject<SoundEvent> SENTINEL_RELOAD = REGISTRY.register("sentinel_reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "sentinel_reload")));
public static final RegistryObject<SoundEvent> SENTINEL_RELOAD2 = REGISTRY.register("sentinel_reload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "sentinel_reload2")));
public static final RegistryObject<SoundEvent> M60RELOAD = REGISTRY.register("m60reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m60reload")));
public static final RegistryObject<SoundEvent> M60RELOAD2 = REGISTRY.register("m60reload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m60reload2")));
public static final RegistryObject<SoundEvent> M60FIRE = REGISTRY.register("m60fire", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m60fire")));
public static final RegistryObject<SoundEvent> LIGHTSABER = REGISTRY.register("lightsaber", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "lightsaber")));
public static final RegistryObject<SoundEvent> SVDRELOAD = REGISTRY.register("svdreload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "svdreload")));
public static final RegistryObject<SoundEvent> SVDRELOAD2 = REGISTRY.register("svdreload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "svdreload2")));
public static final RegistryObject<SoundEvent> SVDFIRE1P = REGISTRY.register("svdfire1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "svdfire1p")));
public static final RegistryObject<SoundEvent> SVDFIRE3P = REGISTRY.register("svdfire3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "svdfire3p")));
public static final RegistryObject<SoundEvent> MARLIN_FIRE1P = REGISTRY.register("marlin_fire1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "marlin_fire1p")));
public static final RegistryObject<SoundEvent> MARLIN_FIRE3P = REGISTRY.register("marlin_fire3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "marlin_fire3p")));
public static final RegistryObject<SoundEvent> MARLIN_LOOP = REGISTRY.register("marlin_loop", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "marlin_loop")));
public static final RegistryObject<SoundEvent> MARLIN_START = REGISTRY.register("marlin_start", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "marlin_start")));
public static final RegistryObject<SoundEvent> MARLIN_END = REGISTRY.register("marlin_end", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "marlin_end")));
public static final RegistryObject<SoundEvent> M870_FIRE1P = REGISTRY.register("m870_fire1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m870_fire1p")));
public static final RegistryObject<SoundEvent> M870_FIRE3P = REGISTRY.register("m870_fire3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m870_fire3p")));
public static final RegistryObject<SoundEvent> M870_PREPAREALT = REGISTRY.register("m870_preparealt", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m870_preparealt")));
public static final RegistryObject<SoundEvent> M870_RELOADLOOP = REGISTRY.register("m870_reloadloop", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m870_reloadloop")));
public static final RegistryObject<SoundEvent> M98B_FIRE_1P = REGISTRY.register("m98b_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m98b_fire_1p")));
public static final RegistryObject<SoundEvent> M98B_FIRE_3P = REGISTRY.register("m98b_fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m98b_fire_3p")));
public static final RegistryObject<SoundEvent> M98BRELOAD = REGISTRY.register("m98breload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m98breload")));
public static final RegistryObject<SoundEvent> M98BRELOAD2 = REGISTRY.register("m98breload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m98breload2")));
public static final RegistryObject<SoundEvent> BULLETSUPPLY = REGISTRY.register("bulletsupply", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "bulletsupply")));
public static final RegistryObject<SoundEvent> M4FIRE_3P = REGISTRY.register("m4fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m4fire_3p")));
public static final RegistryObject<SoundEvent> M4FAR = REGISTRY.register("m4far", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m4far")));
public static final RegistryObject<SoundEvent> M4VERYFAR = REGISTRY.register("m4veryfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m4veryfar")));
public static final RegistryObject<SoundEvent> DEVOTION_FIRE_1P = REGISTRY.register("devotion_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "devotion_fire_1p")));
public static final RegistryObject<SoundEvent> AKFAR = REGISTRY.register("akfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "akfar")));
public static final RegistryObject<SoundEvent> AKVERYFAR = REGISTRY.register("akveryfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "akveryfar")));
public static final RegistryObject<SoundEvent> AK47_FIRE_1P = REGISTRY.register("ak47_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "ak47_fire_1p")));
public static final RegistryObject<SoundEvent> AK_FIRE_1P = REGISTRY.register("ak_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "ak_fire_1p")));
public static final RegistryObject<SoundEvent> RPK_FIRE1P = REGISTRY.register("rpk_fire1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "rpk_fire1p")));
public static final RegistryObject<SoundEvent> SKSFAR = REGISTRY.register("sksfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "sksfar")));
public static final RegistryObject<SoundEvent> SKSVERYFAR = REGISTRY.register("sksveryfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "sksveryfar")));
public static final RegistryObject<SoundEvent> KRABERFAR = REGISTRY.register("kraberfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "kraberfar")));
public static final RegistryObject<SoundEvent> KRABERVERYFAR = REGISTRY.register("kraberveryfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "kraberveryfar")));
public static final RegistryObject<SoundEvent> SVDFAR = REGISTRY.register("svdfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "svdfar")));
public static final RegistryObject<SoundEvent> SVDVERYFAR = REGISTRY.register("svdveryfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "svdveryfar")));
public static final RegistryObject<SoundEvent> HK416_FIRE1P = REGISTRY.register("hk416_fire1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "hk416_fire1p")));
public static final RegistryObject<SoundEvent> HK_FAR = REGISTRY.register("hk_far", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "hk_far")));
public static final RegistryObject<SoundEvent> HK_VERY_FAR = REGISTRY.register("hk_very_far", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "hk_very_far")));
public static final RegistryObject<SoundEvent> AA12_FIRE_1P = REGISTRY.register("aa12_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "aa12_fire_1p")));
public static final RegistryObject<SoundEvent> AA12_FAR = REGISTRY.register("aa12_far", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "aa12_far")));
public static final RegistryObject<SoundEvent> AA12_VERY_FAR = REGISTRY.register("aa12_very_far", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "aa12_very_far")));
public static final DeferredRegister<SoundEvent> REGISTRY = DeferredRegister.create(ForgeRegistries.SOUND_EVENTS, TargetMod.MODID);
public static final RegistryObject<SoundEvent> TASERFIRE = REGISTRY.register("taserfire", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "taserfire")));
public static final RegistryObject<SoundEvent> SHOCK = REGISTRY.register("shock", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "shock")));
public static final RegistryObject<SoundEvent> TRACHELIUM3P = REGISTRY.register("trachelium3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "trachelium3p")));
public static final RegistryObject<SoundEvent> TRIGGERCLICK = REGISTRY.register("triggerclick", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "triggerclick")));
public static final RegistryObject<SoundEvent> HIT = REGISTRY.register("hit", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "hit")));
public static final RegistryObject<SoundEvent> TASERRELOAD = REGISTRY.register("taserreload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "taserreload")));
public static final RegistryObject<SoundEvent> RELOAD = REGISTRY.register("reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "reload")));
public static final RegistryObject<SoundEvent> TARGETDOWN = REGISTRY.register("targetdown", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "targetdown")));
public static final RegistryObject<SoundEvent> INDICATION = REGISTRY.register("indication", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "indication")));
public static final RegistryObject<SoundEvent> JUMP = REGISTRY.register("jump", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "jump")));
public static final RegistryObject<SoundEvent> DOUBLEJUMP = REGISTRY.register("doublejump", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "doublejump")));
public static final RegistryObject<SoundEvent> C4EXP = REGISTRY.register("c4exp", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "c4exp")));
public static final RegistryObject<SoundEvent> EXP = REGISTRY.register("exp", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "exp")));
public static final RegistryObject<SoundEvent> EXPFAR = REGISTRY.register("expfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "expfar")));
public static final RegistryObject<SoundEvent> EXPVERYFAR = REGISTRY.register("expveryfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "expveryfar")));
public static final RegistryObject<SoundEvent> HR_FIRE_1P = REGISTRY.register("hr_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "hr_fire_1p")));
public static final RegistryObject<SoundEvent> HR_RELOAD = REGISTRY.register("hr_reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "hr_reload")));
public static final RegistryObject<SoundEvent> WAAO = REGISTRY.register("waao", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "waao")));
public static final RegistryObject<SoundEvent> STIM = REGISTRY.register("stim", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "stim")));
public static final RegistryObject<SoundEvent> OUCH = REGISTRY.register("ouch", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "ouch")));
public static final RegistryObject<SoundEvent> STEP = REGISTRY.register("step", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "step")));
public static final RegistryObject<SoundEvent> GROWL = REGISTRY.register("growl", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "growl")));
public static final RegistryObject<SoundEvent> IDLE = REGISTRY.register("idle", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "idle")));
public static final RegistryObject<SoundEvent> M79_FIRE_1P = REGISTRY.register("m79_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m79_fire_1p")));
public static final RegistryObject<SoundEvent> M79RELOAD = REGISTRY.register("m79reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m79reload")));
public static final RegistryObject<SoundEvent> AK_FIRE_3P = REGISTRY.register("ak_fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "ak_fire_3p")));
public static final RegistryObject<SoundEvent> AKRELOAD = REGISTRY.register("akreload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "akreload")));
public static final RegistryObject<SoundEvent> ELBOW_START = REGISTRY.register("elbow_start", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "elbow_start")));
public static final RegistryObject<SoundEvent> ELBOW_HIT = REGISTRY.register("elbow_hit", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "elbow_hit")));
public static final RegistryObject<SoundEvent> AKRELOAD2 = REGISTRY.register("akreload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "akreload2")));
public static final RegistryObject<SoundEvent> LAND = REGISTRY.register("land", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "land")));
public static final RegistryObject<SoundEvent> ABKR_FIRE_3P = REGISTRY.register("abkr_fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "abkr_fire_3p")));
public static final RegistryObject<SoundEvent> ABKR_RELOAD = REGISTRY.register("abkr_reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "abkr_reload")));
public static final RegistryObject<SoundEvent> ABKR_RELOAD2 = REGISTRY.register("abkr_reload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "abkr_reload2")));
public static final RegistryObject<SoundEvent> SHIFT = REGISTRY.register("shift", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "shift")));
public static final RegistryObject<SoundEvent> ENEMY_SPOT = REGISTRY.register("enemy_spot", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "enemy_spot")));
public static final RegistryObject<SoundEvent> ENEMY_SPOT_1P = REGISTRY.register("enemy_spot_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "enemy_spot_1p")));
public static final RegistryObject<SoundEvent> HEADSHOT = REGISTRY.register("headshot", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "headshot")));
public static final RegistryObject<SoundEvent> AK47RELOAD = REGISTRY.register("ak47reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "ak47reload")));
public static final RegistryObject<SoundEvent> AK47RELOAD2 = REGISTRY.register("ak47reload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "ak47reload2")));
public static final RegistryObject<SoundEvent> AK47_FIRE_3P = REGISTRY.register("ak47_fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "ak47_fire_3p")));
public static final RegistryObject<SoundEvent> DEVOTION_FIRE_3P = REGISTRY.register("devotion_fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "devotion_fire_3p")));
public static final RegistryObject<SoundEvent> DEVOTION_RELOAD = REGISTRY.register("devotion_reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "devotion_reload")));
public static final RegistryObject<SoundEvent> DEVOTION_RELOAD2 = REGISTRY.register("devotion_reload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "devotion_reload2")));
public static final RegistryObject<SoundEvent> RPG7_FIRE = REGISTRY.register("rpg7_fire", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "rpg7_fire")));
public static final RegistryObject<SoundEvent> RPG7_RELOAD = REGISTRY.register("rpg7_reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "rpg7_reload")));
public static final RegistryObject<SoundEvent> MORTAR_FIRE = REGISTRY.register("mortar_fire", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "mortar_fire")));
public static final RegistryObject<SoundEvent> MORTAR_LOAD = REGISTRY.register("mortar_load", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "mortar_load")));
public static final RegistryObject<SoundEvent> MORTAR_DISTANT = REGISTRY.register("mortar_distant", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "mortar_distant")));
public static final RegistryObject<SoundEvent> FIRERATE = REGISTRY.register("firerate", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "firerate")));
public static final RegistryObject<SoundEvent> M4FIRE = REGISTRY.register("m4fire", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m4fire")));
public static final RegistryObject<SoundEvent> M4RELOAD = REGISTRY.register("m4reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m4reload")));
public static final RegistryObject<SoundEvent> M4RELOAD2 = REGISTRY.register("m4reload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m4reload2")));
public static final RegistryObject<SoundEvent> AA12FIRE = REGISTRY.register("aa12fire", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "aa12fire")));
public static final RegistryObject<SoundEvent> AA12RELOAD = REGISTRY.register("aa12reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "aa12reload")));
public static final RegistryObject<SoundEvent> AA12RELOAD2 = REGISTRY.register("aa12reload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "aa12reload2")));
public static final RegistryObject<SoundEvent> BOWPULL = REGISTRY.register("bowpull", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "bowpull")));
public static final RegistryObject<SoundEvent> BOWFIRE1P = REGISTRY.register("bowfire1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "bowfire1p")));
public static final RegistryObject<SoundEvent> BOWFIRE3P = REGISTRY.register("bowfire3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "bowfire3p")));
public static final RegistryObject<SoundEvent> SHOTFIRE = REGISTRY.register("shotfire", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "shotfire")));
public static final RegistryObject<SoundEvent> SHOTFIRE3P = REGISTRY.register("shotfire3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "shotfire3p")));
public static final RegistryObject<SoundEvent> BOWPULL1P = REGISTRY.register("bowpull1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "bowpull1p")));
public static final RegistryObject<SoundEvent> HK416RELOAD = REGISTRY.register("hk416reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "hk416reload")));
public static final RegistryObject<SoundEvent> HK416RELOAD2 = REGISTRY.register("hk416reload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "hk416reload2")));
public static final RegistryObject<SoundEvent> HK416FIRE = REGISTRY.register("hk416fire", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "hk416fire")));
public static final RegistryObject<SoundEvent> RPKFIRE = REGISTRY.register("rpkfire", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "rpkfire")));
public static final RegistryObject<SoundEvent> RPKRELOAD = REGISTRY.register("rpkreload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "rpkreload")));
public static final RegistryObject<SoundEvent> RPKRELOAD2 = REGISTRY.register("rpkreload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "rpkreload2")));
public static final RegistryObject<SoundEvent> KRABER_FIRE_1P = REGISTRY.register("kraber_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "kraber_fire_1p")));
public static final RegistryObject<SoundEvent> KRABER_FIRE_3P = REGISTRY.register("kraber_fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "kraber_fire_3p")));
public static final RegistryObject<SoundEvent> KRABERRELOAD1 = REGISTRY.register("kraberreload1", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "kraberreload1")));
public static final RegistryObject<SoundEvent> KRABERRELOAD2 = REGISTRY.register("kraberreload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "kraberreload2")));
public static final RegistryObject<SoundEvent> VEC1 = REGISTRY.register("vec1", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "vec1")));
public static final RegistryObject<SoundEvent> VEC3 = REGISTRY.register("vec3", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "vec3")));
public static final RegistryObject<SoundEvent> VECRELOAD = REGISTRY.register("vecreload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "vecreload")));
public static final RegistryObject<SoundEvent> VECRELOAD2 = REGISTRY.register("vecreload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "vecreload2")));
public static final RegistryObject<SoundEvent> MINIGUNSTOP = REGISTRY.register("minigunstop", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "minigunstop")));
public static final RegistryObject<SoundEvent> MINIGUN_FIRE_1P = REGISTRY.register("minigun_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "minigun_fire_1p")));
public static final RegistryObject<SoundEvent> MINIGUN_FIRE_3P = REGISTRY.register("minigun_fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "minigun_fire_3p")));
public static final RegistryObject<SoundEvent> OVERHEAT = REGISTRY.register("overheat", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "overheat")));
public static final RegistryObject<SoundEvent> OVERHEAT_WARN = REGISTRY.register("overheat_warn", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "overheat_warn")));
public static final RegistryObject<SoundEvent> MK14FIRE = REGISTRY.register("mk14fire", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "mk14fire")));
public static final RegistryObject<SoundEvent> MK14_RELOAD_EMPTY = REGISTRY.register("mk14_reload_empty", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "mk14_reload_empty")));
public static final RegistryObject<SoundEvent> MK14_RELOAD_NORMAL = REGISTRY.register("mk14_reload_normal", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "mk14_reload_normal")));
public static final RegistryObject<SoundEvent> SENTINELFIRE1 = REGISTRY.register("sentinelfire1", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "sentinelfire1")));
public static final RegistryObject<SoundEvent> SENTINELFIRE3 = REGISTRY.register("sentinelfire3", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "sentinelfire3")));
public static final RegistryObject<SoundEvent> SENTINELFIRECHARGE1 = REGISTRY.register("sentinelfirecharge1", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "sentinelfirecharge1")));
public static final RegistryObject<SoundEvent> SENTINELFIRECHARGE3 = REGISTRY.register("sentinelfirecharge3", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "sentinelfirecharge3")));
public static final RegistryObject<SoundEvent> CHARGE = REGISTRY.register("charge", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "charge")));
public static final RegistryObject<SoundEvent> SENTINEL_RELOAD = REGISTRY.register("sentinel_reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "sentinel_reload")));
public static final RegistryObject<SoundEvent> SENTINEL_RELOAD2 = REGISTRY.register("sentinel_reload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "sentinel_reload2")));
public static final RegistryObject<SoundEvent> M60RELOAD = REGISTRY.register("m60reload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m60reload")));
public static final RegistryObject<SoundEvent> M60RELOAD2 = REGISTRY.register("m60reload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m60reload2")));
public static final RegistryObject<SoundEvent> M60FIRE = REGISTRY.register("m60fire", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m60fire")));
public static final RegistryObject<SoundEvent> LIGHTSABER = REGISTRY.register("lightsaber", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "lightsaber")));
public static final RegistryObject<SoundEvent> SVDRELOAD = REGISTRY.register("svdreload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "svdreload")));
public static final RegistryObject<SoundEvent> SVDRELOAD2 = REGISTRY.register("svdreload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "svdreload2")));
public static final RegistryObject<SoundEvent> SVDFIRE1P = REGISTRY.register("svdfire1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "svdfire1p")));
public static final RegistryObject<SoundEvent> SVDFIRE3P = REGISTRY.register("svdfire3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "svdfire3p")));
public static final RegistryObject<SoundEvent> MARLIN_FIRE1P = REGISTRY.register("marlin_fire1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "marlin_fire1p")));
public static final RegistryObject<SoundEvent> MARLIN_FIRE3P = REGISTRY.register("marlin_fire3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "marlin_fire3p")));
public static final RegistryObject<SoundEvent> MARLIN_LOOP = REGISTRY.register("marlin_loop", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "marlin_loop")));
public static final RegistryObject<SoundEvent> MARLIN_START = REGISTRY.register("marlin_start", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "marlin_start")));
public static final RegistryObject<SoundEvent> MARLIN_END = REGISTRY.register("marlin_end", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "marlin_end")));
public static final RegistryObject<SoundEvent> M870_FIRE1P = REGISTRY.register("m870_fire1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m870_fire1p")));
public static final RegistryObject<SoundEvent> M870_FIRE3P = REGISTRY.register("m870_fire3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m870_fire3p")));
public static final RegistryObject<SoundEvent> M870_PREPAREALT = REGISTRY.register("m870_preparealt", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m870_preparealt")));
public static final RegistryObject<SoundEvent> M870_RELOADLOOP = REGISTRY.register("m870_reloadloop", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m870_reloadloop")));
public static final RegistryObject<SoundEvent> M98B_FIRE_1P = REGISTRY.register("m98b_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m98b_fire_1p")));
public static final RegistryObject<SoundEvent> M98B_FIRE_3P = REGISTRY.register("m98b_fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m98b_fire_3p")));
public static final RegistryObject<SoundEvent> M98BRELOAD = REGISTRY.register("m98breload", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m98breload")));
public static final RegistryObject<SoundEvent> M98BRELOAD2 = REGISTRY.register("m98breload2", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m98breload2")));
public static final RegistryObject<SoundEvent> BULLETSUPPLY = REGISTRY.register("bulletsupply", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "bulletsupply")));
public static final RegistryObject<SoundEvent> M4FIRE_3P = REGISTRY.register("m4fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m4fire_3p")));
public static final RegistryObject<SoundEvent> M4FAR = REGISTRY.register("m4far", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m4far")));
public static final RegistryObject<SoundEvent> M4VERYFAR = REGISTRY.register("m4veryfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "m4veryfar")));
public static final RegistryObject<SoundEvent> DEVOTION_FIRE_1P = REGISTRY.register("devotion_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "devotion_fire_1p")));
public static final RegistryObject<SoundEvent> AKFAR = REGISTRY.register("akfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "akfar")));
public static final RegistryObject<SoundEvent> AKVERYFAR = REGISTRY.register("akveryfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "akveryfar")));
public static final RegistryObject<SoundEvent> AK47_FIRE_1P = REGISTRY.register("ak47_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "ak47_fire_1p")));
public static final RegistryObject<SoundEvent> AK_FIRE_1P = REGISTRY.register("ak_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "ak_fire_1p")));
public static final RegistryObject<SoundEvent> RPK_FIRE1P = REGISTRY.register("rpk_fire1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "rpk_fire1p")));
public static final RegistryObject<SoundEvent> SKSFAR = REGISTRY.register("sksfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "sksfar")));
public static final RegistryObject<SoundEvent> SKSVERYFAR = REGISTRY.register("sksveryfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "sksveryfar")));
public static final RegistryObject<SoundEvent> KRABERFAR = REGISTRY.register("kraberfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "kraberfar")));
public static final RegistryObject<SoundEvent> KRABERVERYFAR = REGISTRY.register("kraberveryfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "kraberveryfar")));
public static final RegistryObject<SoundEvent> SVDFAR = REGISTRY.register("svdfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "svdfar")));
public static final RegistryObject<SoundEvent> SVDVERYFAR = REGISTRY.register("svdveryfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "svdveryfar")));
public static final RegistryObject<SoundEvent> HK416_FIRE1P = REGISTRY.register("hk416_fire1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "hk416_fire1p")));
public static final RegistryObject<SoundEvent> HK_FAR = REGISTRY.register("hk_far", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "hk_far")));
public static final RegistryObject<SoundEvent> HK_VERY_FAR = REGISTRY.register("hk_very_far", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "hk_very_far")));
public static final RegistryObject<SoundEvent> AA12_FIRE_1P = REGISTRY.register("aa12_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "aa12_fire_1p")));
public static final RegistryObject<SoundEvent> AA12_FAR = REGISTRY.register("aa12_far", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "aa12_far")));
public static final RegistryObject<SoundEvent> AA12_VERY_FAR = REGISTRY.register("aa12_very_far", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "aa12_very_far")));
}

View file

@ -4,128 +4,126 @@
*/
package net.mcreator.target.init;
import net.minecraftforge.registries.RegistryObject;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.event.BuildCreativeModeTabContentsEvent;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.CreativeModeTabs;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.network.chat.Component;
import net.minecraft.core.registries.Registries;
import net.mcreator.target.TargetMod;
import net.minecraft.core.registries.Registries;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.CreativeModeTabs;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.event.BuildCreativeModeTabContentsEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.RegistryObject;
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD)
public class TargetModTabs {
public static final DeferredRegister<CreativeModeTab> REGISTRY = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, TargetMod.MODID);
public static final RegistryObject<CreativeModeTab> TARGET_ITEM = REGISTRY.register("target_item",
() -> CreativeModeTab.builder().title(Component.translatable("item_group.target.target_item")).icon(() -> new ItemStack(TargetModItems.TARGETDEPLOYER.get())).displayItems((parameters, tabData) -> {
tabData.accept(TargetModItems.TARGETDEPLOYER.get());
tabData.accept(TargetModBlocks.SANDBAG.get().asItem());
tabData.accept(TargetModBlocks.BARBED_WIRE.get().asItem());
tabData.accept(TargetModItems.CLAYMORE_MINE.get());
tabData.accept(TargetModBlocks.JUMPPAD_BLOCK.get().asItem());
tabData.accept(TargetModItems.LIGHT_SABER.get());
tabData.accept(TargetModItems.HAMMER.get());
tabData.accept(TargetModItems.MORTAR_DEPOLYER.get());
tabData.accept(TargetModItems.MORTARBARREL.get());
tabData.accept(TargetModItems.MORATR_BASE_PLATE.get());
tabData.accept(TargetModItems.MORTARBIPOD.get());
tabData.accept(TargetModItems.FUSEE.get());
tabData.accept(TargetModItems.SOULSTEELNUGGET.get());
tabData.accept(TargetModItems.COPPERPLATE.get());
tabData.accept(TargetModItems.INGOT_STEEL.get());
tabData.accept(TargetModItems.LEAD_INGOT.get());
tabData.accept(TargetModItems.TUNGSTEN_INGOT.get());
tabData.accept(TargetModItems.CEMENTED_CARBIDE_INGOT.get());
tabData.accept(TargetModItems.SOULSTEEL_INGOT.get());
tabData.accept(TargetModItems.IRON_POWDER.get());
tabData.accept(TargetModItems.TUNGSTEN_POWDER.get());
tabData.accept(TargetModItems.COAL_POWDER.get());
tabData.accept(TargetModItems.COAL_IRON_POWDER.get());
tabData.accept(TargetModItems.UNBLASTEDCEMENTEDCARBIDEPODWER.get());
tabData.accept(TargetModBlocks.GALENA_ORE.get().asItem());
tabData.accept(TargetModBlocks.DEEPSLATE_GALENA_ORE.get().asItem());
tabData.accept(TargetModBlocks.SCHEELITE_ORE.get().asItem());
tabData.accept(TargetModBlocks.DEEPSLATE_SCHEELITE_ORE.get().asItem());
tabData.accept(TargetModItems.GALENA.get());
tabData.accept(TargetModItems.SCHEELITE.get());
tabData.accept(TargetModItems.BUCKSHOT.get());
tabData.accept(TargetModItems.IRON_BARREL.get());
tabData.accept(TargetModItems.IRON_ACTION.get());
tabData.accept(TargetModItems.IRON_TRIGGER.get());
tabData.accept(TargetModItems.IRON_SPRING.get());
tabData.accept(TargetModItems.STEEL_BARREL.get());
tabData.accept(TargetModItems.STEEL_ACTION.get());
tabData.accept(TargetModItems.STEEL_TRIGGER.get());
tabData.accept(TargetModItems.STEEL_SPRING.get());
tabData.accept(TargetModItems.CEMENTED_CARBIDE_BARREL.get());
tabData.accept(TargetModItems.CEMENTED_CARBIDE_ACTION.get());
tabData.accept(TargetModItems.CEMENTEDCARBIDE_TRIGGER.get());
tabData.accept(TargetModItems.CEMENTEDCARBIDESPRING.get());
tabData.accept(TargetModItems.NETHERITE_BARREL.get());
tabData.accept(TargetModItems.NETHERITE_ACTION.get());
tabData.accept(TargetModItems.NETHERITE_TRIGGER.get());
tabData.accept(TargetModItems.NETHERITE_SPRING.get());
tabData.accept(TargetModItems.COMMONMATERIALPACK.get());
tabData.accept(TargetModItems.RAREMATERIALPACK.get());
tabData.accept(TargetModItems.EPICMATERIALPACK.get());
tabData.accept(TargetModItems.LEGENDARYMATERIALPACK.get());
tabData.accept(TargetModItems.SPECIALMATERIALPACK.get());
tabData.accept(TargetModItems.TRACHELIUM_BLUEPRINT.get());
tabData.accept(TargetModItems.HUNTING_RIFLE_BLUEPRINT.get());
tabData.accept(TargetModItems.M_79_BLUEPRINT.get());
tabData.accept(TargetModItems.RPG_BLUEPRINT.get());
tabData.accept(TargetModItems.BOCEK_BLUEPRINT.get());
tabData.accept(TargetModItems.M_4_BLUEPRINT.get());
tabData.accept(TargetModItems.AA_12_BLUEPRINT.get());
tabData.accept(TargetModItems.HK_416_BLUEPRINT.get());
tabData.accept(TargetModItems.RPK_BLUEPRINT.get());
tabData.accept(TargetModItems.SKS_BLUEPRINT.get());
tabData.accept(TargetModItems.KRABER_BLUEPRINT.get());
tabData.accept(TargetModItems.VECTOR_BLUEPRINT.get());
tabData.accept(TargetModItems.MINIGUN_BLUEPRINT.get());
tabData.accept(TargetModItems.MK_14_BLUEPRINT.get());
tabData.accept(TargetModItems.SENTINEL_BLUEPRINT.get());
tabData.accept(TargetModItems.M_60_BLUEPRINT.get());
tabData.accept(TargetModItems.SVD_BLUEPRINT.get());
tabData.accept(TargetModItems.MARLIN_BLUEPRINT.get());
tabData.accept(TargetModItems.M_870_BLUEPRINT.get());
tabData.accept(TargetModItems.M_98B_BLUEPRINT.get());
tabData.accept(TargetModItems.AK_47_BLUEPRINT.get());
tabData.accept(TargetModItems.DEVOTION_BLUPRINT.get());
tabData.accept(TargetModItems.TASER_BLUEPRINT.get());
tabData.accept(TargetModBlocks.GUN_RECYCLE.get().asItem());
})
public static final DeferredRegister<CreativeModeTab> REGISTRY = DeferredRegister.create(Registries.CREATIVE_MODE_TAB, TargetMod.MODID);
public static final RegistryObject<CreativeModeTab> TARGET_ITEM = REGISTRY.register("target_item",
() -> CreativeModeTab.builder().title(Component.translatable("item_group.target.target_item")).icon(() -> new ItemStack(TargetModItems.TARGETDEPLOYER.get())).displayItems((parameters, tabData) -> {
tabData.accept(TargetModItems.TARGETDEPLOYER.get());
tabData.accept(TargetModBlocks.SANDBAG.get().asItem());
tabData.accept(TargetModBlocks.BARBED_WIRE.get().asItem());
tabData.accept(TargetModItems.CLAYMORE_MINE.get());
tabData.accept(TargetModBlocks.JUMPPAD_BLOCK.get().asItem());
tabData.accept(TargetModItems.LIGHT_SABER.get());
tabData.accept(TargetModItems.HAMMER.get());
tabData.accept(TargetModItems.MORTAR_DEPOLYER.get());
tabData.accept(TargetModItems.MORTARBARREL.get());
tabData.accept(TargetModItems.MORATR_BASE_PLATE.get());
tabData.accept(TargetModItems.MORTARBIPOD.get());
tabData.accept(TargetModItems.FUSEE.get());
tabData.accept(TargetModItems.SOULSTEELNUGGET.get());
tabData.accept(TargetModItems.COPPERPLATE.get());
tabData.accept(TargetModItems.INGOT_STEEL.get());
tabData.accept(TargetModItems.LEAD_INGOT.get());
tabData.accept(TargetModItems.TUNGSTEN_INGOT.get());
tabData.accept(TargetModItems.CEMENTED_CARBIDE_INGOT.get());
tabData.accept(TargetModItems.SOULSTEEL_INGOT.get());
tabData.accept(TargetModItems.IRON_POWDER.get());
tabData.accept(TargetModItems.TUNGSTEN_POWDER.get());
tabData.accept(TargetModItems.COAL_POWDER.get());
tabData.accept(TargetModItems.COAL_IRON_POWDER.get());
tabData.accept(TargetModItems.UNBLASTEDCEMENTEDCARBIDEPODWER.get());
tabData.accept(TargetModBlocks.GALENA_ORE.get().asItem());
tabData.accept(TargetModBlocks.DEEPSLATE_GALENA_ORE.get().asItem());
tabData.accept(TargetModBlocks.SCHEELITE_ORE.get().asItem());
tabData.accept(TargetModBlocks.DEEPSLATE_SCHEELITE_ORE.get().asItem());
tabData.accept(TargetModItems.GALENA.get());
tabData.accept(TargetModItems.SCHEELITE.get());
tabData.accept(TargetModItems.BUCKSHOT.get());
tabData.accept(TargetModItems.IRON_BARREL.get());
tabData.accept(TargetModItems.IRON_ACTION.get());
tabData.accept(TargetModItems.IRON_TRIGGER.get());
tabData.accept(TargetModItems.IRON_SPRING.get());
tabData.accept(TargetModItems.STEEL_BARREL.get());
tabData.accept(TargetModItems.STEEL_ACTION.get());
tabData.accept(TargetModItems.STEEL_TRIGGER.get());
tabData.accept(TargetModItems.STEEL_SPRING.get());
tabData.accept(TargetModItems.CEMENTED_CARBIDE_BARREL.get());
tabData.accept(TargetModItems.CEMENTED_CARBIDE_ACTION.get());
tabData.accept(TargetModItems.CEMENTEDCARBIDE_TRIGGER.get());
tabData.accept(TargetModItems.CEMENTEDCARBIDESPRING.get());
tabData.accept(TargetModItems.NETHERITE_BARREL.get());
tabData.accept(TargetModItems.NETHERITE_ACTION.get());
tabData.accept(TargetModItems.NETHERITE_TRIGGER.get());
tabData.accept(TargetModItems.NETHERITE_SPRING.get());
tabData.accept(TargetModItems.COMMONMATERIALPACK.get());
tabData.accept(TargetModItems.RAREMATERIALPACK.get());
tabData.accept(TargetModItems.EPICMATERIALPACK.get());
tabData.accept(TargetModItems.LEGENDARYMATERIALPACK.get());
tabData.accept(TargetModItems.SPECIALMATERIALPACK.get());
tabData.accept(TargetModItems.TRACHELIUM_BLUEPRINT.get());
tabData.accept(TargetModItems.HUNTING_RIFLE_BLUEPRINT.get());
tabData.accept(TargetModItems.M_79_BLUEPRINT.get());
tabData.accept(TargetModItems.RPG_BLUEPRINT.get());
tabData.accept(TargetModItems.BOCEK_BLUEPRINT.get());
tabData.accept(TargetModItems.M_4_BLUEPRINT.get());
tabData.accept(TargetModItems.AA_12_BLUEPRINT.get());
tabData.accept(TargetModItems.HK_416_BLUEPRINT.get());
tabData.accept(TargetModItems.RPK_BLUEPRINT.get());
tabData.accept(TargetModItems.SKS_BLUEPRINT.get());
tabData.accept(TargetModItems.KRABER_BLUEPRINT.get());
tabData.accept(TargetModItems.VECTOR_BLUEPRINT.get());
tabData.accept(TargetModItems.MINIGUN_BLUEPRINT.get());
tabData.accept(TargetModItems.MK_14_BLUEPRINT.get());
tabData.accept(TargetModItems.SENTINEL_BLUEPRINT.get());
tabData.accept(TargetModItems.M_60_BLUEPRINT.get());
tabData.accept(TargetModItems.SVD_BLUEPRINT.get());
tabData.accept(TargetModItems.MARLIN_BLUEPRINT.get());
tabData.accept(TargetModItems.M_870_BLUEPRINT.get());
tabData.accept(TargetModItems.M_98B_BLUEPRINT.get());
tabData.accept(TargetModItems.AK_47_BLUEPRINT.get());
tabData.accept(TargetModItems.DEVOTION_BLUPRINT.get());
tabData.accept(TargetModItems.TASER_BLUEPRINT.get());
tabData.accept(TargetModBlocks.GUN_RECYCLE.get().asItem());
})
.build());
public static final RegistryObject<CreativeModeTab> AMMO = REGISTRY.register("ammo",
() -> CreativeModeTab.builder().title(Component.translatable("item_group.target.ammo")).icon(() -> new ItemStack(TargetModItems.SHOTGUN_AMMO_BOX.get())).displayItems((parameters, tabData) -> {
tabData.accept(TargetModItems.HANDGUN_AMMO.get());
tabData.accept(TargetModItems.RIFLE_AMMO.get());
tabData.accept(TargetModItems.SNIPER_AMMO.get());
tabData.accept(TargetModItems.SHOTGUN_AMMO.get());
tabData.accept(TargetModItems.HANDGUN_AMMO_BOX.get());
tabData.accept(TargetModItems.RIFLE_AMMO_BOX.get());
tabData.accept(TargetModItems.SNIPER_AMMO_BOX.get());
tabData.accept(TargetModItems.SHOTGUN_AMMO_BOX.get());
tabData.accept(TargetModItems.CREATIVE_AMMO_BOX.get());
tabData.accept(TargetModItems.TASER_ELECTRODE.get());
tabData.accept(TargetModItems.GRENADE_40MM.get());
tabData.accept(TargetModItems.MORTAR_SHELLS.get());
tabData.accept(TargetModItems.ROCKET.get());
})
.build());
public static final RegistryObject<CreativeModeTab> AMMO = REGISTRY.register("ammo",
() -> CreativeModeTab.builder().title(Component.translatable("item_group.target.ammo")).icon(() -> new ItemStack(TargetModItems.SHOTGUN_AMMO_BOX.get())).displayItems((parameters, tabData) -> {
tabData.accept(TargetModItems.HANDGUN_AMMO.get());
tabData.accept(TargetModItems.RIFLE_AMMO.get());
tabData.accept(TargetModItems.SNIPER_AMMO.get());
tabData.accept(TargetModItems.SHOTGUN_AMMO.get());
tabData.accept(TargetModItems.HANDGUN_AMMO_BOX.get());
tabData.accept(TargetModItems.RIFLE_AMMO_BOX.get());
tabData.accept(TargetModItems.SNIPER_AMMO_BOX.get());
tabData.accept(TargetModItems.SHOTGUN_AMMO_BOX.get());
tabData.accept(TargetModItems.CREATIVE_AMMO_BOX.get());
tabData.accept(TargetModItems.TASER_ELECTRODE.get());
tabData.accept(TargetModItems.GRENADE_40MM.get());
tabData.accept(TargetModItems.MORTAR_SHELLS.get());
tabData.accept(TargetModItems.ROCKET.get());
})
.build());
.build());
@SubscribeEvent
public static void buildTabContentsVanilla(BuildCreativeModeTabContentsEvent tabData) {
@SubscribeEvent
public static void buildTabContentsVanilla(BuildCreativeModeTabContentsEvent tabData) {
if (tabData.getTabKey() == CreativeModeTabs.SPAWN_EGGS) {
tabData.accept(TargetModItems.SENPAI_SPAWN_EGG.get());
}
}
if (tabData.getTabKey() == CreativeModeTabs.SPAWN_EGGS) {
tabData.accept(TargetModItems.SENPAI_SPAWN_EGG.get());
}
}
}

View file

@ -1,95 +1,94 @@
/*
* MCreator note: This file will be REGENERATED on each build.
*/
* MCreator note: This file will be REGENERATED on each build.
*/
package net.mcreator.target.init;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.event.village.VillagerTradesEvent;
import net.minecraftforge.common.BasicItemListing;
import net.minecraft.world.item.Items;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.entity.npc.VillagerProfession;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
import net.minecraftforge.common.BasicItemListing;
import net.minecraftforge.event.village.VillagerTradesEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.FORGE)
public class TargetModTrades {
@SubscribeEvent
public static void registerTrades(VillagerTradesEvent event) {
if (event.getType() == VillagerProfession.WEAPONSMITH) {
event.getTrades().get(1).add(new BasicItemListing(new ItemStack(TargetModItems.TASER_BLUEPRINT.get()),
@SubscribeEvent
public static void registerTrades(VillagerTradesEvent event) {
if (event.getType() == VillagerProfession.WEAPONSMITH) {
event.getTrades().get(1).add(new BasicItemListing(new ItemStack(TargetModItems.TASER_BLUEPRINT.get()),
new ItemStack(Items.EMERALD), 16, 5, 0.05f));
event.getTrades().get(2).add(new BasicItemListing(new ItemStack(Items.EMERALD, 10),
new ItemStack(Items.EMERALD), 16, 5, 0.05f));
event.getTrades().get(2).add(new BasicItemListing(new ItemStack(Items.EMERALD, 10),
new ItemStack(TargetModItems.STEEL_ACTION.get()), 12, 5, 0.05f));
event.getTrades().get(4).add(new BasicItemListing(new ItemStack(Items.EMERALD, 32),
new ItemStack(TargetModItems.STEEL_ACTION.get()), 12, 5, 0.05f));
event.getTrades().get(4).add(new BasicItemListing(new ItemStack(Items.EMERALD, 32),
new ItemStack(TargetModItems.M_4_BLUEPRINT.get()), 10, 50, 0.05f));
event.getTrades().get(4).add(new BasicItemListing(new ItemStack(Items.EMERALD, 32),
new ItemStack(TargetModItems.M_4_BLUEPRINT.get()), 10, 50, 0.05f));
event.getTrades().get(4).add(new BasicItemListing(new ItemStack(Items.EMERALD, 32),
new ItemStack(TargetModItems.M_79_BLUEPRINT.get()), 10, 50, 0.05f));
event.getTrades().get(4).add(new BasicItemListing(new ItemStack(Items.EMERALD, 32),
new ItemStack(TargetModItems.M_79_BLUEPRINT.get()), 10, 50, 0.05f));
event.getTrades().get(4).add(new BasicItemListing(new ItemStack(Items.EMERALD, 32),
new ItemStack(TargetModItems.MARLIN_BLUEPRINT.get()), 10, 50, 0.05f));
event.getTrades().get(4).add(new BasicItemListing(new ItemStack(Items.EMERALD, 32),
new ItemStack(TargetModItems.MARLIN_BLUEPRINT.get()), 10, 50, 0.05f));
event.getTrades().get(4).add(new BasicItemListing(new ItemStack(Items.EMERALD, 32),
new ItemStack(TargetModItems.AK_47_BLUEPRINT.get()), 10, 50, 0.05f));
event.getTrades().get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD, 64),
new ItemStack(TargetModItems.AK_47_BLUEPRINT.get()), 10, 50, 0.05f));
event.getTrades().get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD, 64),
new ItemStack(TargetModItems.HUNTING_RIFLE_BLUEPRINT.get()), 10, 80, 0.05f));
event.getTrades().get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD, 64),
new ItemStack(TargetModItems.HUNTING_RIFLE_BLUEPRINT.get()), 10, 80, 0.05f));
event.getTrades().get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD, 64),
new ItemStack(TargetModItems.RPG_BLUEPRINT.get()), 10, 80, 0.05f));
event.getTrades().get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD, 64),
new ItemStack(TargetModItems.RPG_BLUEPRINT.get()), 10, 80, 0.05f));
event.getTrades().get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD, 64),
new ItemStack(TargetModItems.HK_416_BLUEPRINT.get()), 10, 80, 0.05f));
event.getTrades().get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD, 64),
new ItemStack(TargetModItems.HK_416_BLUEPRINT.get()), 10, 80, 0.05f));
event.getTrades().get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD, 64),
new ItemStack(TargetModItems.RPK_BLUEPRINT.get()), 10, 80, 0.05f));
event.getTrades().get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD, 64),
new ItemStack(TargetModItems.RPK_BLUEPRINT.get()), 10, 80, 0.05f));
event.getTrades().get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD, 64),
new ItemStack(TargetModItems.VECTOR_BLUEPRINT.get()), 10, 80, 0.05f));
event.getTrades().get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD, 64),
new ItemStack(TargetModItems.VECTOR_BLUEPRINT.get()), 10, 80, 0.05f));
event.getTrades().get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD, 64),
new ItemStack(TargetModItems.MK_14_BLUEPRINT.get()), 10, 80, 0.05f));
event.getTrades().get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD, 64),
new ItemStack(TargetModItems.MK_14_BLUEPRINT.get()), 10, 80, 0.05f));
event.getTrades().get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD, 64),
new ItemStack(TargetModItems.M_60_BLUEPRINT.get()), 10, 80, 0.05f));
event.getTrades().get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD, 64),
new ItemStack(TargetModItems.M_60_BLUEPRINT.get()), 10, 80, 0.05f));
event.getTrades().get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD, 64),
new ItemStack(TargetModItems.SVD_BLUEPRINT.get()), 10, 80, 0.05f));
event.getTrades().get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD, 64),
new ItemStack(TargetModItems.SVD_BLUEPRINT.get()), 10, 80, 0.05f));
event.getTrades().get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD, 64),
new ItemStack(TargetModItems.M_870_BLUEPRINT.get()), 10, 80, 0.05f));
event.getTrades().get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD, 64),
new ItemStack(TargetModItems.M_870_BLUEPRINT.get()), 10, 80, 0.05f));
event.getTrades().get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD, 64),
new ItemStack(TargetModItems.M_98B_BLUEPRINT.get()), 10, 80, 0.05f));
event.getTrades().get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD),
new ItemStack(TargetModItems.M_98B_BLUEPRINT.get()), 10, 80, 0.05f));
event.getTrades().get(5).add(new BasicItemListing(new ItemStack(Items.EMERALD),
new ItemStack(TargetModItems.DEVOTION_BLUPRINT.get()), 10, 80, 0.05f));
event.getTrades().get(2).add(new BasicItemListing(new ItemStack(Items.EMERALD, 8),
new ItemStack(TargetModItems.DEVOTION_BLUPRINT.get()), 10, 80, 0.05f));
event.getTrades().get(2).add(new BasicItemListing(new ItemStack(Items.EMERALD, 8),
new ItemStack(TargetModItems.STEEL_BARREL.get()), 12, 5, 0.05f));
event.getTrades().get(2).add(new BasicItemListing(new ItemStack(Items.EMERALD, 6),
new ItemStack(TargetModItems.STEEL_BARREL.get()), 12, 5, 0.05f));
event.getTrades().get(2).add(new BasicItemListing(new ItemStack(Items.EMERALD, 6),
new ItemStack(TargetModItems.STEEL_TRIGGER.get()), 12, 5, 0.05f));
event.getTrades().get(2).add(new BasicItemListing(new ItemStack(Items.EMERALD, 8),
new ItemStack(TargetModItems.STEEL_TRIGGER.get()), 12, 5, 0.05f));
event.getTrades().get(2).add(new BasicItemListing(new ItemStack(Items.EMERALD, 8),
new ItemStack(TargetModItems.STEEL_SPRING.get()), 12, 5, 0.05f));
event.getTrades().get(3).add(new BasicItemListing(new ItemStack(Items.EMERALD, 16),
new ItemStack(TargetModItems.STEEL_SPRING.get()), 12, 5, 0.05f));
event.getTrades().get(3).add(new BasicItemListing(new ItemStack(Items.EMERALD, 16),
new ItemStack(TargetModItems.CEMENTED_CARBIDE_BARREL.get()), 12, 10, 0.05f));
event.getTrades().get(3).add(new BasicItemListing(new ItemStack(Items.EMERALD, 20),
new ItemStack(TargetModItems.CEMENTED_CARBIDE_BARREL.get()), 12, 10, 0.05f));
event.getTrades().get(3).add(new BasicItemListing(new ItemStack(Items.EMERALD, 20),
new ItemStack(TargetModItems.CEMENTED_CARBIDE_ACTION.get()), 10, 10, 0.05f));
event.getTrades().get(3).add(new BasicItemListing(new ItemStack(Items.EMERALD, 16),
new ItemStack(TargetModItems.CEMENTED_CARBIDE_ACTION.get()), 10, 10, 0.05f));
event.getTrades().get(3).add(new BasicItemListing(new ItemStack(Items.EMERALD, 16),
new ItemStack(TargetModItems.CEMENTEDCARBIDESPRING.get()), 10, 10, 0.05f));
event.getTrades().get(3).add(new BasicItemListing(new ItemStack(Items.EMERALD, 12),
new ItemStack(TargetModItems.CEMENTEDCARBIDESPRING.get()), 10, 10, 0.05f));
event.getTrades().get(3).add(new BasicItemListing(new ItemStack(Items.EMERALD, 12),
new ItemStack(TargetModItems.CEMENTEDCARBIDE_TRIGGER.get()), 10, 10, 0.05f));
}
}
new ItemStack(TargetModItems.CEMENTEDCARBIDE_TRIGGER.get()), 10, 10, 0.05f));
}
}
}

View file

@ -1,22 +1,21 @@
package net.mcreator.target.item;
import net.minecraft.world.level.Level;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Item;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.Level;
import java.util.List;
public class AK47BlueprintItem extends Item {
public AK47BlueprintItem() {
super(new Item.Properties().stacksTo(64).rarity(Rarity.RARE));
}
public AK47BlueprintItem() {
super(new Item.Properties().stacksTo(64).rarity(Rarity.RARE));
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
}

View file

@ -1,154 +1,141 @@
package net.mcreator.target.item;
import software.bernie.geckolib.util.GeckoLibUtil;
import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.core.animation.AnimationController;
import software.bernie.geckolib.core.animation.AnimatableManager;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animatable.GeoItem;
import net.minecraftforge.client.extensions.common.IClientItemExtensions;
import net.minecraft.world.level.Level;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.Item;
import net.minecraft.world.entity.Entity;
import net.minecraft.network.chat.Component;
import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
import net.minecraft.client.model.HumanoidModel;
import net.minecraft.world.entity.HumanoidArm;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResultHolder;
import net.minecraft.client.player.LocalPlayer;
import net.minecraft.client.Minecraft;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
import net.mcreator.target.item.renderer.AK47ItemRenderer;
import net.mcreator.target.procedures.AK47WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.HumanoidModel;
import net.minecraft.client.player.LocalPlayer;
import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
import net.minecraft.network.chat.Component;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EquipmentSlot;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.ai.attributes.Attribute;
import net.minecraft.world.entity.ai.attributes.AttributeModifier;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.EquipmentSlot;
import com.google.common.collect.ImmutableMultimap;
import java.util.UUID;
import net.minecraft.world.item.*;
import net.minecraft.world.level.Level;
import net.minecraftforge.client.extensions.common.IClientItemExtensions;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.core.animation.AnimatableManager;
import software.bernie.geckolib.core.animation.AnimationController;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.util.GeckoLibUtil;
import net.mcreator.target.procedures.AK47WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure;
import net.mcreator.target.item.renderer.AK47ItemRenderer;
import java.util.function.Consumer;
import java.util.List;
import java.util.UUID;
import java.util.function.Consumer;
public class AK47Item extends Item implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public String animationprocedure = "empty";
public static ItemDisplayContext transformType;
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public String animationprocedure = "empty";
public static ItemDisplayContext transformType;
public AK47Item() {
super(new Item.Properties().stacksTo(1).rarity(Rarity.RARE));
}
public AK47Item() {
super(new Item.Properties().stacksTo(1).rarity(Rarity.RARE));
}
@Override
public void initializeClient(Consumer<IClientItemExtensions> consumer) {
super.initializeClient(consumer);
consumer.accept(new IClientItemExtensions() {
private final BlockEntityWithoutLevelRenderer renderer = new AK47ItemRenderer();
@Override
public void initializeClient(Consumer<IClientItemExtensions> consumer) {
super.initializeClient(consumer);
consumer.accept(new IClientItemExtensions() {
private final BlockEntityWithoutLevelRenderer renderer = new AK47ItemRenderer();
@Override
public BlockEntityWithoutLevelRenderer getCustomRenderer() {
return renderer;
}
@Override
public BlockEntityWithoutLevelRenderer getCustomRenderer() {
return renderer;
}
@Override
public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack itemStack) {
return HumanoidModel.ArmPose.BOW_AND_ARROW;
}
});
}
@Override
public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack itemStack) {
return HumanoidModel.ArmPose.BOW_AND_ARROW;
}
});
}
public void getTransformType(ItemDisplayContext type) {
this.transformType = type;
}
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState idlePredicate(AnimationState event) {
LocalPlayer player = Minecraft.getInstance().player;
ItemStack stack = player.getMainHandItem();
if (this.animationprocedure.equals("empty")) {
if (stack.getOrCreateTag().getDouble("drawtime") < 16){
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ak47.draw"));
}
private PlayState idlePredicate(AnimationState event) {
LocalPlayer player = Minecraft.getInstance().player;
ItemStack stack = player.getMainHandItem();
if (stack.getOrCreateTag().getDouble("fireanim") > 0){
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ak47.fire"));
}
if (stack.getOrCreateTag().getDouble("reloading") == 1 && stack.getOrCreateTag().getDouble("emptyreload") == 1){
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ak47.reload"));
}
if (this.animationprocedure.equals("empty")) {
if (stack.getOrCreateTag().getDouble("reloading") == 1 && stack.getOrCreateTag().getDouble("emptyreload") == 0){
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ak47.reload2"));
}
if (stack.getOrCreateTag().getDouble("drawtime") < 16) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ak47.draw"));
}
if (stack.getOrCreateTag().getDouble("firemode") == 0 && stack.getOrCreateTag().getDouble("cg") > 0){
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ak47.changefirerate2"));
}
if (stack.getOrCreateTag().getDouble("fireanim") > 0) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ak47.fire"));
}
if (stack.getOrCreateTag().getDouble("firemode") == 2 && stack.getOrCreateTag().getDouble("cg") > 0){
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ak47.changefirerate"));
}
if (stack.getOrCreateTag().getDouble("reloading") == 1 && stack.getOrCreateTag().getDouble("emptyreload") == 1) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ak47.reload"));
}
if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("unspringtable") == 0) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ak47.run"));
}
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ak47.idle"));
}
return PlayState.STOP;
}
if (stack.getOrCreateTag().getDouble("reloading") == 1 && stack.getOrCreateTag().getDouble("emptyreload") == 0) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ak47.reload2"));
}
private PlayState procedurePredicate(AnimationState event) {
if (this.transformType != null ? this.transformType.firstPerson() : false) {
if (!this.animationprocedure.equals("empty") && event.getController().getAnimationState() == AnimationController.State.STOPPED) {
event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationprocedure));
if (event.getController().getAnimationState() == AnimationController.State.STOPPED) {
this.animationprocedure = "empty";
event.getController().forceAnimationReset();
}
} else if (this.animationprocedure.equals("empty")) {
return PlayState.STOP;
}
}
return PlayState.CONTINUE;
}
if (stack.getOrCreateTag().getDouble("firemode") == 0 && stack.getOrCreateTag().getDouble("cg") > 0) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ak47.changefirerate2"));
}
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
AnimationController procedureController = new AnimationController(this, "procedureController", 0, this::procedurePredicate);
data.add(procedureController);
AnimationController idleController = new AnimationController(this, "idleController", 4, this::idlePredicate);
data.add(idleController);
}
if (stack.getOrCreateTag().getDouble("firemode") == 2 && stack.getOrCreateTag().getDouble("cg") > 0) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ak47.changefirerate"));
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("unspringtable") == 0) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ak47.run"));
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ak47.idle"));
}
return PlayState.STOP;
}
@Override
private PlayState procedurePredicate(AnimationState event) {
if (transformType != null && transformType.firstPerson()) {
if (!this.animationprocedure.equals("empty") && event.getController().getAnimationState() == AnimationController.State.STOPPED) {
event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationprocedure));
if (event.getController().getAnimationState() == AnimationController.State.STOPPED) {
this.animationprocedure = "empty";
event.getController().forceAnimationReset();
}
} else if (this.animationprocedure.equals("empty")) {
return PlayState.STOP;
}
}
return PlayState.CONTINUE;
}
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
AnimationController procedureController = new AnimationController(this, "procedureController", 0, this::procedurePredicate);
data.add(procedureController);
AnimationController idleController = new AnimationController(this, "idleController", 4, this::idlePredicate);
data.add(idleController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public boolean onEntitySwing(ItemStack stack, LivingEntity entity) {
return true;
}
@ -162,7 +149,7 @@ public class AK47Item extends Item implements GeoItem {
public Multimap<Attribute, AttributeModifier> getAttributeModifiers(EquipmentSlot slot, ItemStack stack) {
Multimap<Attribute, AttributeModifier> map = super.getAttributeModifiers(slot, stack);
UUID uuid = new UUID(slot.toString().hashCode(), 0);
if (slot == EquipmentSlot.MAINHAND) {
if (slot == EquipmentSlot.MAINHAND) {
map = HashMultimap.create(map);
map.put(Attributes.MOVEMENT_SPEED,
new AttributeModifier(uuid, "henghengaaa", -0.04f, AttributeModifier.Operation.MULTIPLY_BASE));
@ -170,9 +157,9 @@ public class AK47Item extends Item implements GeoItem {
return map;
}
@Override
public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) {
super.inventoryTick(itemstack, world, entity, slot, selected);
AK47WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack);
}
@Override
public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) {
super.inventoryTick(itemstack, world, entity, slot, selected);
AK47WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack);
}
}

View file

@ -1,24 +1,21 @@
package net.mcreator.target.item;
import net.minecraft.world.level.Level;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Item;
import net.minecraft.network.chat.Component;
import net.mcreator.target.rarity.RarityTool;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.Level;
import java.util.List;
public class Aa12BlueprintItem extends Item {
public Aa12BlueprintItem() {
super(new Item.Properties().stacksTo(64).rarity(RarityTool.LEGENDARY));
}
public Aa12BlueprintItem() {
super(new Item.Properties().stacksTo(64).rarity(RarityTool.LEGENDARY));
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
}

View file

@ -1,151 +1,140 @@
package net.mcreator.target.item;
import software.bernie.geckolib.util.GeckoLibUtil;
import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.core.animation.AnimationController;
import software.bernie.geckolib.core.animation.AnimatableManager;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animatable.GeoItem;
import net.minecraftforge.client.extensions.common.IClientItemExtensions;
import net.minecraft.world.level.Level;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.Item;
import net.minecraft.world.entity.Entity;
import net.minecraft.network.chat.Component;
import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
import net.minecraft.client.model.HumanoidModel;
import net.minecraft.world.entity.HumanoidArm;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResultHolder;
import net.minecraft.client.player.LocalPlayer;
import net.minecraft.client.Minecraft;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
import net.mcreator.target.item.renderer.Aa12ItemRenderer;
import net.mcreator.target.procedures.Aa12WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure;
import net.mcreator.target.rarity.RarityTool;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.HumanoidModel;
import net.minecraft.client.player.LocalPlayer;
import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
import net.minecraft.network.chat.Component;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EquipmentSlot;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.ai.attributes.Attribute;
import net.minecraft.world.entity.ai.attributes.AttributeModifier;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.EquipmentSlot;
import com.google.common.collect.ImmutableMultimap;
import java.util.UUID;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.Level;
import net.minecraftforge.client.extensions.common.IClientItemExtensions;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.core.animation.AnimatableManager;
import software.bernie.geckolib.core.animation.AnimationController;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.util.GeckoLibUtil;
import net.mcreator.target.rarity.RarityTool;
import net.mcreator.target.procedures.Aa12WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure;
import net.mcreator.target.item.renderer.Aa12ItemRenderer;
import java.util.function.Consumer;
import java.util.List;
import java.util.UUID;
import java.util.function.Consumer;
public class Aa12Item extends Item implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public String animationprocedure = "empty";
public static ItemDisplayContext transformType;
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public String animationprocedure = "empty";
public static ItemDisplayContext transformType;
public Aa12Item() {
super(new Item.Properties().stacksTo(1).rarity(RarityTool.LEGENDARY));
}
public Aa12Item() {
super(new Item.Properties().stacksTo(1).rarity(RarityTool.LEGENDARY));
}
@Override
public void initializeClient(Consumer<IClientItemExtensions> consumer) {
super.initializeClient(consumer);
consumer.accept(new IClientItemExtensions() {
private final BlockEntityWithoutLevelRenderer renderer = new Aa12ItemRenderer();
@Override
public void initializeClient(Consumer<IClientItemExtensions> consumer) {
super.initializeClient(consumer);
consumer.accept(new IClientItemExtensions() {
private final BlockEntityWithoutLevelRenderer renderer = new Aa12ItemRenderer();
@Override
public BlockEntityWithoutLevelRenderer getCustomRenderer() {
return renderer;
}
@Override
public BlockEntityWithoutLevelRenderer getCustomRenderer() {
return renderer;
}
@Override
public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack itemStack) {
return HumanoidModel.ArmPose.BOW_AND_ARROW;
}
});
}
@Override
public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack itemStack) {
return HumanoidModel.ArmPose.BOW_AND_ARROW;
}
});
}
public void getTransformType(ItemDisplayContext type) {
this.transformType = type;
}
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState idlePredicate(AnimationState event) {
LocalPlayer player = Minecraft.getInstance().player;
ItemStack stack = player.getMainHandItem();
if (this.animationprocedure.equals("empty")) {
private PlayState idlePredicate(AnimationState event) {
LocalPlayer player = Minecraft.getInstance().player;
ItemStack stack = player.getMainHandItem();
if (stack.getOrCreateTag().getDouble("drawtime") < 16){
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.aa12.draw"));
}
if (this.animationprocedure.equals("empty")) {
if (stack.getOrCreateTag().getDouble("fireanim") > 0){
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.aa12.fire"));
}
if (stack.getOrCreateTag().getDouble("reloading") == 1 && stack.getOrCreateTag().getDouble("emptyreload") == 1){
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.aa12.reloadempty"));
}
if (stack.getOrCreateTag().getDouble("drawtime") < 16) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.aa12.draw"));
}
if (stack.getOrCreateTag().getDouble("reloading") == 1 && stack.getOrCreateTag().getDouble("emptyreload") == 0){
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.aa12.reload"));
}
if (stack.getOrCreateTag().getDouble("fireanim") > 0) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.aa12.fire"));
}
if (stack.getOrCreateTag().getDouble("firemode") == 0 && stack.getOrCreateTag().getDouble("cg") > 0){
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.aa12.changefirerate2"));
}
if (stack.getOrCreateTag().getDouble("reloading") == 1 && stack.getOrCreateTag().getDouble("emptyreload") == 1) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.aa12.reloadempty"));
}
if (stack.getOrCreateTag().getDouble("firemode") == 2 && stack.getOrCreateTag().getDouble("cg") > 0){
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.aa12.changefirerate"));
}
if (stack.getOrCreateTag().getDouble("reloading") == 1 && stack.getOrCreateTag().getDouble("emptyreload") == 0) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.aa12.reload"));
}
if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("unspringtable") == 0) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.aa12.run"));
}
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.aa12.idle"));
}
return PlayState.STOP;
}
if (stack.getOrCreateTag().getDouble("firemode") == 0 && stack.getOrCreateTag().getDouble("cg") > 0) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.aa12.changefirerate2"));
}
private PlayState procedurePredicate(AnimationState event) {
if (this.transformType != null ? this.transformType.firstPerson() : false) {
if (!this.animationprocedure.equals("empty") && event.getController().getAnimationState() == AnimationController.State.STOPPED) {
event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationprocedure));
if (event.getController().getAnimationState() == AnimationController.State.STOPPED) {
this.animationprocedure = "empty";
event.getController().forceAnimationReset();
}
} else if (this.animationprocedure.equals("empty")) {
return PlayState.STOP;
}
}
return PlayState.CONTINUE;
}
if (stack.getOrCreateTag().getDouble("firemode") == 2 && stack.getOrCreateTag().getDouble("cg") > 0) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.aa12.changefirerate"));
}
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
AnimationController procedureController = new AnimationController(this, "procedureController", 0, this::procedurePredicate);
data.add(procedureController);
AnimationController idleController = new AnimationController(this, "idleController", 4, this::idlePredicate);
data.add(idleController);
}
if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("unspringtable") == 0) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.aa12.run"));
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.aa12.idle"));
}
return PlayState.STOP;
}
@Override
private PlayState procedurePredicate(AnimationState event) {
if (transformType != null && transformType.firstPerson()) {
if (!this.animationprocedure.equals("empty") && event.getController().getAnimationState() == AnimationController.State.STOPPED) {
event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationprocedure));
if (event.getController().getAnimationState() == AnimationController.State.STOPPED) {
this.animationprocedure = "empty";
event.getController().forceAnimationReset();
}
} else if (this.animationprocedure.equals("empty")) {
return PlayState.STOP;
}
}
return PlayState.CONTINUE;
}
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
AnimationController procedureController = new AnimationController(this, "procedureController", 0, this::procedurePredicate);
data.add(procedureController);
AnimationController idleController = new AnimationController(this, "idleController", 4, this::idlePredicate);
data.add(idleController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public boolean onEntitySwing(ItemStack stack, LivingEntity entity) {
return true;
}
@ -159,7 +148,7 @@ public class Aa12Item extends Item implements GeoItem {
public Multimap<Attribute, AttributeModifier> getAttributeModifiers(EquipmentSlot slot, ItemStack stack) {
Multimap<Attribute, AttributeModifier> map = super.getAttributeModifiers(slot, stack);
UUID uuid = new UUID(slot.toString().hashCode(), 0);
if (slot == EquipmentSlot.MAINHAND) {
if (slot == EquipmentSlot.MAINHAND) {
map = HashMultimap.create(map);
map.put(Attributes.MOVEMENT_SPEED,
new AttributeModifier(uuid, "henghengaaa", -0.06f, AttributeModifier.Operation.MULTIPLY_BASE));
@ -167,14 +156,14 @@ public class Aa12Item extends Item implements GeoItem {
return map;
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) {
super.inventoryTick(itemstack, world, entity, slot, selected);
Aa12WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack);
}
@Override
public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) {
super.inventoryTick(itemstack, world, entity, slot, selected);
Aa12WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack);
}
}

View file

@ -1,142 +1,126 @@
package net.mcreator.target.item;
import software.bernie.geckolib.util.GeckoLibUtil;
import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.core.animation.AnimationController;
import software.bernie.geckolib.core.animation.AnimatableManager;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animatable.GeoItem;
import net.minecraftforge.client.extensions.common.IClientItemExtensions;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResultHolder;
import net.minecraft.world.level.Level;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.Item;
import net.minecraft.world.entity.Entity;
import net.minecraft.network.chat.Component;
import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
import net.minecraft.client.model.HumanoidModel;
import net.minecraft.world.entity.HumanoidArm;
import net.mcreator.target.tools.ItemNBTTool;
import net.mcreator.target.rarity.RarityTool;
import net.mcreator.target.procedures.AbekiriWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure;
import net.mcreator.target.item.renderer.AbekiriItemRenderer;
import net.minecraft.client.player.LocalPlayer;
import net.minecraft.client.Minecraft;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
import net.mcreator.target.item.renderer.AbekiriItemRenderer;
import net.mcreator.target.procedures.AbekiriWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.HumanoidModel;
import net.minecraft.client.player.LocalPlayer;
import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
import net.minecraft.network.chat.Component;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EquipmentSlot;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.ai.attributes.Attribute;
import net.minecraft.world.entity.ai.attributes.AttributeModifier;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.EquipmentSlot;
import com.google.common.collect.ImmutableMultimap;
import java.util.UUID;
import net.minecraft.world.item.*;
import net.minecraft.world.level.Level;
import net.minecraftforge.client.extensions.common.IClientItemExtensions;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.core.animation.AnimatableManager;
import software.bernie.geckolib.core.animation.AnimationController;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.function.Consumer;
import java.util.List;
import java.util.UUID;
import java.util.function.Consumer;
public class AbekiriItem extends Item implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public String animationprocedure = "empty";
public static ItemDisplayContext transformType;
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public String animationprocedure = "empty";
public static ItemDisplayContext transformType;
public AbekiriItem() {
super(new Item.Properties().durability(24).rarity(Rarity.COMMON));
}
public AbekiriItem() {
super(new Item.Properties().durability(24).rarity(Rarity.COMMON));
}
@Override
public void initializeClient(Consumer<IClientItemExtensions> consumer) {
super.initializeClient(consumer);
consumer.accept(new IClientItemExtensions() {
private final BlockEntityWithoutLevelRenderer renderer = new AbekiriItemRenderer();
@Override
public void initializeClient(Consumer<IClientItemExtensions> consumer) {
super.initializeClient(consumer);
consumer.accept(new IClientItemExtensions() {
private final BlockEntityWithoutLevelRenderer renderer = new AbekiriItemRenderer();
@Override
public BlockEntityWithoutLevelRenderer getCustomRenderer() {
return renderer;
}
@Override
public BlockEntityWithoutLevelRenderer getCustomRenderer() {
return renderer;
}
@Override
public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack itemStack) {
return HumanoidModel.ArmPose.BOW_AND_ARROW;
}
});
}
@Override
public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack itemStack) {
return HumanoidModel.ArmPose.BOW_AND_ARROW;
}
});
}
public void getTransformType(ItemDisplayContext type) {
this.transformType = type;
}
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState idlePredicate(AnimationState event) {
LocalPlayer player = Minecraft.getInstance().player;
ItemStack stack = player.getMainHandItem();
if (this.animationprocedure.equals("empty")) {
private PlayState idlePredicate(AnimationState event) {
LocalPlayer player = Minecraft.getInstance().player;
ItemStack stack = player.getMainHandItem();
if (stack.getOrCreateTag().getDouble("drawtime") < 11){
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ab.draw"));
}
if (this.animationprocedure.equals("empty")) {
if (stack.getOrCreateTag().getDouble("fireanim") > 0){
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ab.fire"));
}
if (stack.getOrCreateTag().getDouble("reloading") == 1 && stack.getOrCreateTag().getDouble("emptyreload") == 1){
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ab.reload2"));
}
if (stack.getOrCreateTag().getDouble("drawtime") < 11) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ab.draw"));
}
if (stack.getOrCreateTag().getDouble("reloading") == 1 && stack.getOrCreateTag().getDouble("emptyreload") == 0){
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ab.reload"));
}
if (stack.getOrCreateTag().getDouble("fireanim") > 0) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ab.fire"));
}
if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("unspringtable") == 0) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ab.run"));
}
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ab.idle"));
}
return PlayState.STOP;
}
if (stack.getOrCreateTag().getDouble("reloading") == 1 && stack.getOrCreateTag().getDouble("emptyreload") == 1) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ab.reload2"));
}
private PlayState procedurePredicate(AnimationState event) {
if (this.transformType != null ? true : false) {
if (!(this.animationprocedure.equals("empty")) && event.getController().getAnimationState() == AnimationController.State.STOPPED) {
event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationprocedure));
if (event.getController().getAnimationState() == AnimationController.State.STOPPED) {
this.animationprocedure = "empty";
event.getController().forceAnimationReset();
}
}
}
return PlayState.CONTINUE;
}
if (stack.getOrCreateTag().getDouble("reloading") == 1 && stack.getOrCreateTag().getDouble("emptyreload") == 0) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ab.reload"));
}
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
AnimationController procedureController = new AnimationController(this, "procedureController", 0, this::procedurePredicate);
data.add(procedureController);
AnimationController idleController = new AnimationController(this, "idleController", 4, this::idlePredicate);
data.add(idleController);
}
if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("unspringtable") == 0) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ab.run"));
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ab.idle"));
}
return PlayState.STOP;
}
@Override
private PlayState procedurePredicate(AnimationState event) {
if (transformType != null) {
if (!(this.animationprocedure.equals("empty")) && event.getController().getAnimationState() == AnimationController.State.STOPPED) {
event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationprocedure));
if (event.getController().getAnimationState() == AnimationController.State.STOPPED) {
this.animationprocedure = "empty";
event.getController().forceAnimationReset();
}
}
}
return PlayState.CONTINUE;
}
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
AnimationController procedureController = new AnimationController(this, "procedureController", 0, this::procedurePredicate);
data.add(procedureController);
AnimationController idleController = new AnimationController(this, "idleController", 4, this::idlePredicate);
data.add(idleController);
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public boolean onEntitySwing(ItemStack stack, LivingEntity entity) {
return true;
}
@ -150,7 +134,7 @@ public class AbekiriItem extends Item implements GeoItem {
public Multimap<Attribute, AttributeModifier> getAttributeModifiers(EquipmentSlot slot, ItemStack stack) {
Multimap<Attribute, AttributeModifier> map = super.getAttributeModifiers(slot, stack);
UUID uuid = new UUID(slot.toString().hashCode(), 0);
if (slot == EquipmentSlot.MAINHAND) {
if (slot == EquipmentSlot.MAINHAND) {
map = HashMultimap.create(map);
map.put(Attributes.MOVEMENT_SPEED,
new AttributeModifier(uuid, "henghengaaa", -0.02f, AttributeModifier.Operation.MULTIPLY_BASE));
@ -158,14 +142,14 @@ public class AbekiriItem extends Item implements GeoItem {
return map;
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) {
super.inventoryTick(itemstack, world, entity, slot, selected);
AbekiriWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack);
}
@Override
public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) {
super.inventoryTick(itemstack, world, entity, slot, selected);
AbekiriWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack);
}
}

View file

@ -1,24 +1,21 @@
package net.mcreator.target.item;
import net.minecraft.world.level.Level;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Item;
import net.minecraft.network.chat.Component;
import net.mcreator.target.rarity.RarityTool;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.Level;
import java.util.List;
public class BocekBlueprintItem extends Item {
public BocekBlueprintItem() {
super(new Item.Properties().stacksTo(64).rarity(RarityTool.SPECIAL));
}
public BocekBlueprintItem() {
super(new Item.Properties().stacksTo(64).rarity(RarityTool.SPECIAL));
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
}

View file

@ -1,131 +1,111 @@
package net.mcreator.target.item;
import software.bernie.geckolib.util.GeckoLibUtil;
import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.core.animation.AnimationController;
import software.bernie.geckolib.core.animation.AnimatableManager;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animatable.GeoItem;
import net.minecraftforge.client.extensions.common.IClientItemExtensions;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResultHolder;
import net.minecraft.world.level.Level;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.Item;
import net.minecraft.world.entity.Entity;
import net.minecraft.network.chat.Component;
import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
import net.minecraft.client.model.HumanoidModel;
import net.minecraft.world.entity.HumanoidArm;
import net.mcreator.target.tools.ItemNBTTool;
import net.mcreator.target.rarity.RarityTool;
import net.mcreator.target.init.TargetModItems;
import net.minecraft.client.player.LocalPlayer;
import net.minecraft.client.Minecraft;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
import net.mcreator.target.item.renderer.BocekItemRenderer;
import net.mcreator.target.procedures.BocekreloadProcedure;
import net.mcreator.target.rarity.RarityTool;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.HumanoidModel;
import net.minecraft.client.player.LocalPlayer;
import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
import net.minecraft.network.chat.Component;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EquipmentSlot;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.ai.attributes.Attribute;
import net.minecraft.world.entity.ai.attributes.AttributeModifier;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.EquipmentSlot;
import com.google.common.collect.ImmutableMultimap;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.*;
import net.minecraft.world.level.Level;
import net.minecraftforge.client.extensions.common.IClientItemExtensions;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.core.animation.AnimatableManager;
import software.bernie.geckolib.core.animation.AnimationController;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.List;
import java.util.UUID;
import java.util.function.Consumer;
import java.util.List;
import net.mcreator.target.procedures.BocekreloadProcedure;
import net.mcreator.target.item.renderer.BocekItemRenderer;
import net.minecraft.world.item.Items;
import java.util.function.Consumer;
import java.util.List;
public class BocekItem extends Item implements GeoItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public String animationprocedure = "empty";
public static ItemDisplayContext transformType;
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public String animationprocedure = "empty";
public static ItemDisplayContext transformType;
public BocekItem() {
super(new Item.Properties().stacksTo(1).rarity(RarityTool.SPECIAL));
}
public BocekItem() {
super(new Item.Properties().stacksTo(1).rarity(RarityTool.SPECIAL));
}
@Override
public void initializeClient(Consumer<IClientItemExtensions> consumer) {
super.initializeClient(consumer);
consumer.accept(new IClientItemExtensions() {
private final BlockEntityWithoutLevelRenderer renderer = new BocekItemRenderer();
@Override
public void initializeClient(Consumer<IClientItemExtensions> consumer) {
super.initializeClient(consumer);
consumer.accept(new IClientItemExtensions() {
private final BlockEntityWithoutLevelRenderer renderer = new BocekItemRenderer();
@Override
public BlockEntityWithoutLevelRenderer getCustomRenderer() {
return renderer;
}
@Override
public BlockEntityWithoutLevelRenderer getCustomRenderer() {
return renderer;
}
@Override
public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack itemStack) {
return HumanoidModel.ArmPose.BOW_AND_ARROW;
}
});
}
@Override
public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack itemStack) {
return HumanoidModel.ArmPose.BOW_AND_ARROW;
}
});
}
public void getTransformType(ItemDisplayContext type) {
this.transformType = type;
}
public void getTransformType(ItemDisplayContext type) {
transformType = type;
}
private PlayState idlePredicate(AnimationState event) {
if (this.transformType != null ? this.transformType.firstPerson() : false) {
LocalPlayer player = Minecraft.getInstance().player;
ItemStack stack = player.getMainHandItem();
private PlayState idlePredicate(AnimationState event) {
if (transformType != null && transformType.firstPerson()) {
LocalPlayer player = Minecraft.getInstance().player;
ItemStack stack = player.getMainHandItem();
if (stack.getOrCreateTag().getDouble("drawtime") < 16){
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.bocek.draw"));
}
if (this.animationprocedure.equals("empty")) {
event.getController().setAnimation(RawAnimation.begin().thenLoop("animation.bocek.idle"));
return PlayState.CONTINUE;
}
}
return PlayState.STOP;
}
if (stack.getOrCreateTag().getDouble("drawtime") < 16) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.bocek.draw"));
}
private PlayState procedurePredicate(AnimationState event) {
if (this.transformType != null ? this.transformType.firstPerson() : false) {
if (!this.animationprocedure.equals("empty") && event.getController().getAnimationState() == AnimationController.State.STOPPED) {
event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationprocedure));
if (event.getController().getAnimationState() == AnimationController.State.STOPPED) {
this.animationprocedure = "empty";
event.getController().forceAnimationReset();
}
} else if (this.animationprocedure.equals("empty")) {
return PlayState.STOP;
}
}
return PlayState.CONTINUE;
}
if (this.animationprocedure.equals("empty")) {
event.getController().setAnimation(RawAnimation.begin().thenLoop("animation.bocek.idle"));
return PlayState.CONTINUE;
}
}
return PlayState.STOP;
}
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
AnimationController procedureController = new AnimationController(this, "procedureController", 0, this::procedurePredicate);
data.add(procedureController);
AnimationController idleController = new AnimationController(this, "idleController", 4, this::idlePredicate);
data.add(idleController);
}
private PlayState procedurePredicate(AnimationState event) {
if (transformType != null && transformType.firstPerson()) {
if (!this.animationprocedure.equals("empty") && event.getController().getAnimationState() == AnimationController.State.STOPPED) {
event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationprocedure));
if (event.getController().getAnimationState() == AnimationController.State.STOPPED) {
this.animationprocedure = "empty";
event.getController().forceAnimationReset();
}
} else if (this.animationprocedure.equals("empty")) {
return PlayState.STOP;
}
}
return PlayState.CONTINUE;
}
@Override
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
AnimationController procedureController = new AnimationController(this, "procedureController", 0, this::procedurePredicate);
data.add(procedureController);
AnimationController idleController = new AnimationController(this, "idleController", 4, this::idlePredicate);
data.add(idleController);
}
@Override
public boolean onEntitySwing(ItemStack stack, LivingEntity entity) {
return true;
}
@ -139,7 +119,7 @@ public class BocekItem extends Item implements GeoItem {
public Multimap<Attribute, AttributeModifier> getAttributeModifiers(EquipmentSlot slot, ItemStack stack) {
Multimap<Attribute, AttributeModifier> map = super.getAttributeModifiers(slot, stack);
UUID uuid = new UUID(slot.toString().hashCode(), 0);
if (slot == EquipmentSlot.MAINHAND) {
if (slot == EquipmentSlot.MAINHAND) {
map = HashMultimap.create(map);
map.put(Attributes.MOVEMENT_SPEED,
new AttributeModifier(uuid, "henghengaaa", -0.03f, AttributeModifier.Operation.MULTIPLY_BASE));
@ -147,26 +127,26 @@ public class BocekItem extends Item implements GeoItem {
return map;
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) {
super.inventoryTick(itemstack, world, entity, slot, selected);
if (entity instanceof Player player) {
itemstack.getOrCreateTag().putDouble("maxammo", getAmmoCount(player));
}
BocekreloadProcedure.execute(entity, itemstack);
}
@Override
public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) {
super.inventoryTick(itemstack, world, entity, slot, selected);
if (entity instanceof Player player) {
itemstack.getOrCreateTag().putDouble("maxammo", getAmmoCount(player));
}
BocekreloadProcedure.execute(entity, itemstack);
}
public static double getAmmoCount(Player player) {
public static double getAmmoCount(Player player) {
double sum = 0.0;
for (int i = 0; i < player.getInventory().getContainerSize(); ++i) {
ItemStack itemstack = player.getInventory().getItem(i);

View file

@ -1,22 +1,21 @@
package net.mcreator.target.item;
import net.minecraft.world.level.Level;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Item;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.Level;
import java.util.List;
public class BuckshotItem extends Item {
public BuckshotItem() {
super(new Item.Properties().stacksTo(64).rarity(Rarity.COMMON));
}
public BuckshotItem() {
super(new Item.Properties().stacksTo(64).rarity(Rarity.COMMON));
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
}

View file

@ -1,22 +1,21 @@
package net.mcreator.target.item;
import net.minecraft.world.level.Level;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Item;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.Level;
import java.util.List;
public class CementedCarbideActionItem extends Item {
public CementedCarbideActionItem() {
super(new Item.Properties().stacksTo(64).rarity(Rarity.EPIC));
}
public CementedCarbideActionItem() {
super(new Item.Properties().stacksTo(64).rarity(Rarity.EPIC));
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
}

View file

@ -1,22 +1,21 @@
package net.mcreator.target.item;
import net.minecraft.world.level.Level;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Item;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.Level;
import java.util.List;
public class CementedCarbideBarrelItem extends Item {
public CementedCarbideBarrelItem() {
super(new Item.Properties().stacksTo(64).rarity(Rarity.EPIC));
}
public CementedCarbideBarrelItem() {
super(new Item.Properties().stacksTo(64).rarity(Rarity.EPIC));
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
}

View file

@ -1,22 +1,21 @@
package net.mcreator.target.item;
import net.minecraft.world.level.Level;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Item;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.Level;
import java.util.List;
public class CementedCarbideIngotItem extends Item {
public CementedCarbideIngotItem() {
super(new Item.Properties().stacksTo(64).rarity(Rarity.COMMON));
}
public CementedCarbideIngotItem() {
super(new Item.Properties().stacksTo(64).rarity(Rarity.COMMON));
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
}

View file

@ -1,4 +1,3 @@
package net.mcreator.target.item;
import net.minecraft.world.level.Level;
@ -11,12 +10,12 @@ import net.minecraft.network.chat.Component;
import java.util.List;
public class CementedcarbideTriggerItem extends Item {
public CementedcarbideTriggerItem() {
super(new Item.Properties().stacksTo(64).rarity(Rarity.EPIC));
}
public CementedcarbideTriggerItem() {
super(new Item.Properties().stacksTo(64).rarity(Rarity.EPIC));
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
@Override
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
super.appendHoverText(itemstack, world, list, flag);
}
}

Some files were not shown because too many files have changed in this diff Show more