修复迫击炮动画,添加无人机和遥控器
This commit is contained in:
parent
df025d24cd
commit
42dddfcca9
26 changed files with 1236 additions and 181 deletions
|
@ -46,13 +46,9 @@ public class AK47ItemModel extends GeoModel<AK47Item> {
|
||||||
double zp = player.getPersistentData().getDouble("zoom_pos_z");
|
double zp = player.getPersistentData().getDouble("zoom_pos_z");
|
||||||
|
|
||||||
gun.setPosX(1.97f * (float) p);
|
gun.setPosX(1.97f * (float) p);
|
||||||
|
|
||||||
gun.setPosY(0.011f * (float) p - (float) (0.2f * zp));
|
gun.setPosY(0.011f * (float) p - (float) (0.2f * zp));
|
||||||
|
|
||||||
gun.setPosZ(3.8f * (float) p + (float) (0.5f * zp));
|
gun.setPosZ(3.8f * (float) p + (float) (0.5f * zp));
|
||||||
|
|
||||||
gun.setScaleZ(1f - (0.2f * (float) p));
|
gun.setScaleZ(1f - (0.2f * (float) p));
|
||||||
|
|
||||||
scope.setScaleZ(1f - (0.4f * (float) p));
|
scope.setScaleZ(1f - (0.4f * (float) p));
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
|
||||||
|
package net.mcreator.target.client.renderer.entity;
|
||||||
|
|
||||||
|
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.DroneModel;
|
||||||
|
import net.mcreator.target.entity.DroneEntity;
|
||||||
|
|
||||||
|
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||||
|
import com.mojang.blaze3d.vertex.PoseStack;
|
||||||
|
|
||||||
|
public class DroneRenderer extends GeoEntityRenderer<DroneEntity> {
|
||||||
|
public DroneRenderer(EntityRendererProvider.Context renderManager) {
|
||||||
|
super(renderManager, new DroneModel());
|
||||||
|
this.shadowRadius = 0.2f;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public RenderType getRenderType(DroneEntity animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
|
||||||
|
return RenderType.entityTranslucent(getTextureLocation(animatable));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void preRender(PoseStack poseStack, DroneEntity 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(DroneEntity entityLivingBaseIn) {
|
||||||
|
return 0.0F;
|
||||||
|
}
|
||||||
|
}
|
225
src/main/java/net/mcreator/target/entity/DroneEntity.java
Normal file
225
src/main/java/net/mcreator/target/entity/DroneEntity.java
Normal file
|
@ -0,0 +1,225 @@
|
||||||
|
|
||||||
|
package net.mcreator.target.entity;
|
||||||
|
|
||||||
|
import net.mcreator.target.init.TargetModItems;
|
||||||
|
import net.minecraft.network.chat.Component;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraft.server.level.ServerPlayer;
|
||||||
|
import net.minecraft.sounds.SoundSource;
|
||||||
|
import net.minecraft.world.InteractionHand;
|
||||||
|
import net.minecraft.world.InteractionResult;
|
||||||
|
import net.minecraft.world.entity.*;
|
||||||
|
import net.minecraft.world.entity.player.Player;
|
||||||
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
|
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.Level;
|
||||||
|
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.damagesource.DamageSource;
|
||||||
|
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.mcreator.target.item.Monitor;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
public class DroneEntity extends PathfinderMob implements GeoEntity {
|
||||||
|
public static final EntityDataAccessor<Boolean> SHOOT = SynchedEntityData.defineId(DroneEntity.class, EntityDataSerializers.BOOLEAN);
|
||||||
|
public static final EntityDataAccessor<String> ANIMATION = SynchedEntityData.defineId(DroneEntity.class, EntityDataSerializers.STRING);
|
||||||
|
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
|
||||||
|
private boolean swinging;
|
||||||
|
private boolean lastloop;
|
||||||
|
private long lastSwing;
|
||||||
|
public String animationprocedure = "empty";
|
||||||
|
|
||||||
|
public DroneEntity(PlayMessages.SpawnEntity packet, Level world) {
|
||||||
|
this(TargetModEntities.DRONE.get(), world);
|
||||||
|
}
|
||||||
|
|
||||||
|
public DroneEntity(EntityType<DroneEntity> 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");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected float getStandingEyeHeight(Pose poseIn, EntityDimensions sizeIn) {
|
||||||
|
return 0.05F;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Packet<ClientGamePacketListener> getAddEntityPacket() {
|
||||||
|
return NetworkHooks.getEntitySpawningPacket(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected PathNavigation createNavigation(Level world) {
|
||||||
|
return new FlyingPathNavigation(this, world);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MobType getMobType() {
|
||||||
|
return MobType.UNDEFINED;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean removeWhenFarAway(double distanceToClosestPlayer) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean causeFallDamage(float l, float d, DamageSource source) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addAdditionalSaveData(CompoundTag compound) {
|
||||||
|
super.addAdditionalSaveData(compound);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void readAdditionalSaveData(CompoundTag compound) {
|
||||||
|
super.readAdditionalSaveData(compound);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void baseTick() {
|
||||||
|
super.baseTick();
|
||||||
|
this.refreshDimensions();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public InteractionResult mobInteract(Player sourceentity, InteractionHand hand) {
|
||||||
|
super.mobInteract(sourceentity, hand);
|
||||||
|
|
||||||
|
ItemStack stack = sourceentity.getMainHandItem();
|
||||||
|
if (stack.getItem() == TargetModItems.MONITOR.get()) {
|
||||||
|
stack.getOrCreateTag().putString("link", this.getStringUUID());
|
||||||
|
Monitor.link(stack,true);
|
||||||
|
sourceentity.displayClientMessage(Component.literal("LINKED!"), true);
|
||||||
|
if (sourceentity instanceof ServerPlayer serverPlayer) {
|
||||||
|
serverPlayer.level().playSound(null, serverPlayer.getOnPos(), Objects.requireNonNull(ForgeRegistries.SOUND_EVENTS.getValue(new ResourceLocation("entity.arrow.hit_player"))), SoundSource.PLAYERS, 0.5F, 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return InteractionResult.sidedSuccess(this.level().isClientSide());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public EntityDimensions getDimensions(Pose p_33597_) {
|
||||||
|
return super.getDimensions(p_33597_).scale((float) 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void checkFallDamage(double y, boolean onGroundIn, BlockState state, BlockPos pos) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setNoGravity(boolean ignored) {
|
||||||
|
super.setNoGravity(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void aiStep() {
|
||||||
|
super.aiStep();
|
||||||
|
this.updateSwingTime();
|
||||||
|
this.setNoGravity(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void init() {
|
||||||
|
}
|
||||||
|
|
||||||
|
public static AttributeSupplier.Builder createAttributes() {
|
||||||
|
AttributeSupplier.Builder builder = Mob.createMobAttributes();
|
||||||
|
builder = builder.add(Attributes.MOVEMENT_SPEED, 0.1);
|
||||||
|
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, 64);
|
||||||
|
builder = builder.add(Attributes.FLYING_SPEED, 0.1);
|
||||||
|
return builder;
|
||||||
|
}
|
||||||
|
|
||||||
|
private PlayState movementPredicate(AnimationState event) {
|
||||||
|
if (this.animationprocedure.equals("empty")) {
|
||||||
|
if (!this.onGround()) {
|
||||||
|
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.drone.fly"));
|
||||||
|
}
|
||||||
|
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.drone.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;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void tickDeath() {
|
||||||
|
++this.deathTime;
|
||||||
|
if (this.deathTime == 20) {
|
||||||
|
this.remove(DroneEntity.RemovalReason.KILLED);
|
||||||
|
this.dropExperience();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSyncedAnimation() {
|
||||||
|
return this.entityData.get(ANIMATION);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAnimation(String animation) {
|
||||||
|
this.entityData.set(ANIMATION, animation);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
|
||||||
|
data.add(new AnimationController<>(this, "movement", 1, this::movementPredicate));
|
||||||
|
data.add(new AnimationController<>(this, "procedure", 1, this::procedurePredicate));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AnimatableInstanceCache getAnimatableInstanceCache() {
|
||||||
|
return this.cache;
|
||||||
|
}
|
||||||
|
}
|
|
@ -63,7 +63,7 @@ public class Mk42Entity extends PathfinderMob implements GeoEntity {
|
||||||
public Mk42Entity(EntityType<Mk42Entity> type, Level world) {
|
public Mk42Entity(EntityType<Mk42Entity> type, Level world) {
|
||||||
super(type, world);
|
super(type, world);
|
||||||
xpReward = 0;
|
xpReward = 0;
|
||||||
setNoAi(false);
|
setNoAi(true);
|
||||||
setPersistenceRequired();
|
setPersistenceRequired();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -130,32 +130,44 @@ public class Mk42Entity extends PathfinderMob implements GeoEntity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean hurt(DamageSource source, float amount) {
|
public boolean hurt(DamageSource source, float amount) {
|
||||||
if (source.is(DamageTypes.IN_FIRE))
|
if (source.getDirectEntity() instanceof ThrownPotion
|
||||||
return false;
|
|| source.getDirectEntity() instanceof AreaEffectCloud
|
||||||
if (source.getDirectEntity() instanceof ThrownPotion || source.getDirectEntity() instanceof AreaEffectCloud)
|
|| source.is(DamageTypes.IN_FIRE)
|
||||||
return false;
|
|| source.is(DamageTypes.ON_FIRE)
|
||||||
if (source.is(DamageTypes.FALL))
|
|| source.is(DamageTypes.FALL)
|
||||||
return false;
|
|| source.is(DamageTypes.CACTUS)
|
||||||
if (source.is(DamageTypes.CACTUS))
|
|| source.is(DamageTypes.DROWN)
|
||||||
return false;
|
|| source.is(DamageTypes.LIGHTNING_BOLT)
|
||||||
if (source.is(DamageTypes.DROWN))
|
|| source.is(DamageTypes.FALLING_ANVIL)
|
||||||
return false;
|
|| source.is(DamageTypes.DRAGON_BREATH)
|
||||||
if (source.is(DamageTypes.LIGHTNING_BOLT))
|
|| source.is(DamageTypes.WITHER)
|
||||||
return false;
|
|| source.is(DamageTypes.WITHER_SKULL)
|
||||||
if (source.is(DamageTypes.FALLING_ANVIL))
|
|| source.is(DamageTypes.GENERIC)
|
||||||
return false;
|
|| source.is(DamageTypes.MAGIC)
|
||||||
if (source.is(DamageTypes.DRAGON_BREATH))
|
|| source.is(DamageTypes.ARROW)
|
||||||
return false;
|
|| source.is(DamageTypes.IN_WALL)
|
||||||
if (source.is(DamageTypes.WITHER))
|
|| source.is(DamageTypes.MOB_ATTACK)
|
||||||
return false;
|
|| source.is(DamageTypes.MOB_ATTACK_NO_AGGRO)
|
||||||
if (source.is(DamageTypes.WITHER_SKULL))
|
|| source.is(DamageTypes.PLAYER_ATTACK)
|
||||||
|
|| source.is(DamageTypes.THORNS)
|
||||||
|
|| source.is(DamageTypes.STING)
|
||||||
|
|| source.is(DamageTypes.SWEET_BERRY_BUSH)
|
||||||
|
|| source.is(DamageTypes.TRIDENT)
|
||||||
|
|| source.is(DamageTypes.THROWN)) {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (source.is(TargetModDamageTypes.GUN_FIRE)
|
||||||
|
|| source.is(TargetModDamageTypes.GUN_FIRE_HEADSHOT)
|
||||||
|
|| source.is(TargetModDamageTypes.ARROW_IN_BRAIN)
|
||||||
|
|| source.is(TargetModDamageTypes.ARROW_IN_KNEE)) {
|
||||||
|
return super.hurt(source, 0.125f * amount);
|
||||||
|
}
|
||||||
|
|
||||||
if (source.getDirectEntity() instanceof Player player && this.getFirstPassenger() != null && player == this.getFirstPassenger()) {
|
if (source.getDirectEntity() instanceof Player player && this.getFirstPassenger() != null && player == this.getFirstPassenger()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (source.getDirectEntity() instanceof Player player && this.getFirstPassenger() != null && player == this.getFirstPassenger()) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return super.hurt(source, amount);
|
return super.hurt(source, amount);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -48,6 +48,8 @@ import javax.annotation.Nullable;
|
||||||
public class MortarEntity extends PathfinderMob implements GeoEntity, AnimatedEntity {
|
public class MortarEntity extends PathfinderMob implements GeoEntity, AnimatedEntity {
|
||||||
public static final EntityDataAccessor<Boolean> SHOOT = SynchedEntityData.defineId(MortarEntity.class, EntityDataSerializers.BOOLEAN);
|
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> ANIMATION = SynchedEntityData.defineId(MortarEntity.class, EntityDataSerializers.STRING);
|
||||||
|
public static final EntityDataAccessor<Integer> FIRE_TIME = SynchedEntityData.defineId(MortarEntity.class, EntityDataSerializers.INT);
|
||||||
|
|
||||||
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
|
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
|
||||||
public String animationProcedure = "empty";
|
public String animationProcedure = "empty";
|
||||||
|
|
||||||
|
@ -67,6 +69,8 @@ public class MortarEntity extends PathfinderMob implements GeoEntity, AnimatedEn
|
||||||
super.defineSynchedData();
|
super.defineSynchedData();
|
||||||
this.entityData.define(SHOOT, false);
|
this.entityData.define(SHOOT, false);
|
||||||
this.entityData.define(ANIMATION, "undefined");
|
this.entityData.define(ANIMATION, "undefined");
|
||||||
|
this.entityData.define(FIRE_TIME, 0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -141,13 +145,17 @@ public class MortarEntity extends PathfinderMob implements GeoEntity, AnimatedEn
|
||||||
@Override
|
@Override
|
||||||
public void addAdditionalSaveData(CompoundTag compound) {
|
public void addAdditionalSaveData(CompoundTag compound) {
|
||||||
super.addAdditionalSaveData(compound);
|
super.addAdditionalSaveData(compound);
|
||||||
|
compound.putInt("fire_time", this.entityData.get(FIRE_TIME));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void readAdditionalSaveData(CompoundTag compound) {
|
public void readAdditionalSaveData(CompoundTag compound) {
|
||||||
super.readAdditionalSaveData(compound);
|
super.readAdditionalSaveData(compound);
|
||||||
|
if (compound.contains("fire_time"))
|
||||||
|
this.entityData.set(FIRE_TIME, compound.getInt("fire_time"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public InteractionResult mobInteract(Player player, InteractionHand hand) {
|
public InteractionResult mobInteract(Player player, InteractionHand hand) {
|
||||||
super.mobInteract(player, hand);
|
super.mobInteract(player, hand);
|
||||||
|
@ -165,7 +173,9 @@ public class MortarEntity extends PathfinderMob implements GeoEntity, AnimatedEn
|
||||||
}
|
}
|
||||||
if (mainHandItem.getItem() == TargetModItems.MORTAR_SHELLS.get() && !player.getCooldowns().isOnCooldown(TargetModItems.MORTAR_SHELLS.get()) && !player.isShiftKeyDown()) {
|
if (mainHandItem.getItem() == TargetModItems.MORTAR_SHELLS.get() && !player.getCooldowns().isOnCooldown(TargetModItems.MORTAR_SHELLS.get()) && !player.isShiftKeyDown()) {
|
||||||
|
|
||||||
this.getPersistentData().putInt("fire_time",25);
|
// this.getPersistentData().putInt("fire_time",25);
|
||||||
|
|
||||||
|
this.entityData.set(FIRE_TIME,25);
|
||||||
|
|
||||||
player.getCooldowns().addCooldown(TargetModItems.MORTAR_SHELLS.get(), 30);
|
player.getCooldowns().addCooldown(TargetModItems.MORTAR_SHELLS.get(), 30);
|
||||||
if (!player.isCreative()) {
|
if (!player.isCreative()) {
|
||||||
|
@ -216,9 +226,11 @@ public class MortarEntity extends PathfinderMob implements GeoEntity, AnimatedEn
|
||||||
Thread Thread = new Thread(Runnable);
|
Thread Thread = new Thread(Runnable);
|
||||||
Thread.start();
|
Thread.start();
|
||||||
|
|
||||||
if (this.getPersistentData().getInt("fire_time") > 0) {
|
// if (this.getPersistentData().getInt("fire_time") > 0) {
|
||||||
this.getPersistentData().putInt("fire_time",this.getPersistentData().getInt("fire_time") - 1);
|
// this.getPersistentData().putInt("fire_time",this.getPersistentData().getInt("fire_time") - 1);
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
this.entityData.set(FIRE_TIME,this.entityData.get(FIRE_TIME) - 1);
|
||||||
|
|
||||||
this.refreshDimensions();
|
this.refreshDimensions();
|
||||||
}
|
}
|
||||||
|
@ -262,7 +274,7 @@ public class MortarEntity extends PathfinderMob implements GeoEntity, AnimatedEn
|
||||||
|
|
||||||
private PlayState movementPredicate(AnimationState event) {
|
private PlayState movementPredicate(AnimationState event) {
|
||||||
if (this.animationProcedure.equals("empty")) {
|
if (this.animationProcedure.equals("empty")) {
|
||||||
if (this.getPersistentData().getInt("fire_time") > 0) {
|
if (this.entityData.get(FIRE_TIME) > 0) {
|
||||||
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.mortar.fire"));
|
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.mortar.fire"));
|
||||||
}
|
}
|
||||||
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.mortar.idle"));
|
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.mortar.idle"));
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
package net.mcreator.target.entity.model;
|
||||||
|
|
||||||
|
import software.bernie.geckolib.model.GeoModel;
|
||||||
|
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
|
||||||
|
import net.mcreator.target.entity.DroneEntity;
|
||||||
|
|
||||||
|
public class DroneModel extends GeoModel<DroneEntity> {
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getAnimationResource(DroneEntity entity) {
|
||||||
|
return new ResourceLocation("target", "animations/drone.animation.json");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getModelResource(DroneEntity entity) {
|
||||||
|
return new ResourceLocation("target", "geo/drone.geo.json");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getTextureResource(DroneEntity entity) {
|
||||||
|
return new ResourceLocation("target", "textures/entity/drone.png");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -28,6 +28,10 @@ public class TargetModEntities {
|
||||||
EntityType.Builder.<ClaymoreEntity>of(ClaymoreEntity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(ClaymoreEntity::new).fireImmune().sized(0.5f, 0.5f));
|
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<Mk42Entity>> MK_42 = register("mk_42",
|
public static final RegistryObject<EntityType<Mk42Entity>> MK_42 = register("mk_42",
|
||||||
EntityType.Builder.<Mk42Entity>of(Mk42Entity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(Mk42Entity::new).fireImmune().sized(5.4f, 3.5f));
|
EntityType.Builder.<Mk42Entity>of(Mk42Entity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(Mk42Entity::new).fireImmune().sized(5.4f, 3.5f));
|
||||||
|
|
||||||
|
public static final RegistryObject<EntityType<DroneEntity>> DRONE = register("drone",
|
||||||
|
EntityType.Builder.<DroneEntity>of(DroneEntity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(DroneEntity::new).sized(0.4f, 0.175f));
|
||||||
|
|
||||||
public static final RegistryObject<EntityType<TaserBulletProjectileEntity>> TASER_BULLET_PROJECTILE = register("projectile_taser_bullet_projectile",
|
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)
|
EntityType.Builder.<TaserBulletProjectileEntity>of(TaserBulletProjectileEntity::new, MobCategory.MISC).setCustomClientFactory(TaserBulletProjectileEntity::new).setShouldReceiveVelocityUpdates(true).setTrackingRange(64)
|
||||||
.setUpdateInterval(1).sized(0.5f, 0.5f));
|
.setUpdateInterval(1).sized(0.5f, 0.5f));
|
||||||
|
@ -66,5 +70,6 @@ public class TargetModEntities {
|
||||||
event.put(CLAYMORE.get(), ClaymoreEntity.createAttributes().build());
|
event.put(CLAYMORE.get(), ClaymoreEntity.createAttributes().build());
|
||||||
event.put(TARGET.get(), TargetEntity.createAttributes().build());
|
event.put(TARGET.get(), TargetEntity.createAttributes().build());
|
||||||
event.put(MK_42.get(), Mk42Entity.createAttributes().build());
|
event.put(MK_42.get(), Mk42Entity.createAttributes().build());
|
||||||
|
event.put(DRONE.get(), Mk42Entity.createAttributes().build());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package net.mcreator.target.init;
|
package net.mcreator.target.init;
|
||||||
|
|
||||||
import net.mcreator.target.client.renderer.entity.*;
|
import net.mcreator.target.client.renderer.entity.*;
|
||||||
import net.mcreator.target.entity.CannonShellEntity;
|
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
import net.minecraftforge.client.event.EntityRenderersEvent;
|
import net.minecraftforge.client.event.EntityRenderersEvent;
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
|
@ -25,5 +24,7 @@ public class TargetModEntityRenderers {
|
||||||
event.registerEntityRenderer(TargetModEntities.PROJECTILE.get(), ProjectileRenderer::new);
|
event.registerEntityRenderer(TargetModEntities.PROJECTILE.get(), ProjectileRenderer::new);
|
||||||
event.registerEntityRenderer(TargetModEntities.FRAG.get(), FragRenderer::new);
|
event.registerEntityRenderer(TargetModEntities.FRAG.get(), FragRenderer::new);
|
||||||
event.registerEntityRenderer(TargetModEntities.MK_42.get(), Mk42Renderer::new);
|
event.registerEntityRenderer(TargetModEntities.MK_42.get(), Mk42Renderer::new);
|
||||||
|
event.registerEntityRenderer(TargetModEntities.DRONE.get(), DroneRenderer::new);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -77,7 +77,10 @@ public class TargetModItems {
|
||||||
public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, TargetMod.MODID);
|
public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, TargetMod.MODID);
|
||||||
|
|
||||||
public static final RegistryObject<Item> SENPAI_SPAWN_EGG = ITEMS.register("senpai_spawn_egg", () -> new ForgeSpawnEggItem(TargetModEntities.SENPAI, -11584987, -14014413, new Item.Properties()));
|
public static final RegistryObject<Item> SENPAI_SPAWN_EGG = ITEMS.register("senpai_spawn_egg", () -> new ForgeSpawnEggItem(TargetModEntities.SENPAI, -11584987, -14014413, new Item.Properties()));
|
||||||
public static final RegistryObject<Item> MK_42_SPAWN_EGG = ITEMS.register("mk42_spawn_egg", () -> new ForgeSpawnEggItem(TargetModEntities.MK_42, -11584987, -14014413, new Item.Properties()));
|
public static final RegistryObject<Item> MK_42_SPAWN_EGG = ITEMS.register("mk42_spawn_egg", () -> new ForgeSpawnEggItem(TargetModEntities.MK_42, -8348258, -2630437, new Item.Properties()));
|
||||||
|
public static final RegistryObject<Item> DRONE_SPAWN_EGG = ITEMS.register("drone_spawn_egg", () -> new ForgeSpawnEggItem(TargetModEntities.DRONE, -3355444, -10053121, new Item.Properties()));
|
||||||
|
|
||||||
|
public static final RegistryObject<Item> MONITOR = ITEMS.register("monitor", Monitor::new);
|
||||||
public static final RegistryObject<Item> TARGET_DEPLOYER = ITEMS.register("target_deployer", TargetDeployer::new);
|
public static final RegistryObject<Item> TARGET_DEPLOYER = ITEMS.register("target_deployer", TargetDeployer::new);
|
||||||
public static final RegistryObject<Item> SANDBAG = block(TargetModBlocks.SANDBAG);
|
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> BARBED_WIRE = block(TargetModBlocks.BARBED_WIRE);
|
||||||
|
|
29
src/main/java/net/mcreator/target/item/Monitor.java
Normal file
29
src/main/java/net/mcreator/target/item/Monitor.java
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
package net.mcreator.target.item;
|
||||||
|
|
||||||
|
import net.mcreator.target.tools.ItemNBTTool;
|
||||||
|
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 Monitor extends Item {
|
||||||
|
public Monitor() {
|
||||||
|
super(new Properties().stacksTo(1).rarity(Rarity.COMMON));
|
||||||
|
}
|
||||||
|
public static final String NBT_LINKED = "LINKED";
|
||||||
|
|
||||||
|
|
||||||
|
public static void link(ItemStack itemstack, Boolean link) {
|
||||||
|
if (link) {
|
||||||
|
ItemNBTTool.setBoolean(itemstack, NBT_LINKED, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@Override
|
||||||
|
public void appendHoverText(ItemStack itemstack, Level world, List<Component> list, TooltipFlag flag) {
|
||||||
|
super.appendHoverText(itemstack, world, list, flag);
|
||||||
|
}
|
||||||
|
}
|
|
@ -169,7 +169,7 @@ public class Ntw20 extends GunItem implements GeoItem, AnimatedItem {
|
||||||
if (slot == EquipmentSlot.MAINHAND) {
|
if (slot == EquipmentSlot.MAINHAND) {
|
||||||
map = HashMultimap.create(map);
|
map = HashMultimap.create(map);
|
||||||
map.put(Attributes.MOVEMENT_SPEED,
|
map.put(Attributes.MOVEMENT_SPEED,
|
||||||
new AttributeModifier(uuid, TargetMod.ATTRIBUTE_MODIFIER, -0.1f, AttributeModifier.Operation.MULTIPLY_BASE));
|
new AttributeModifier(uuid, TargetMod.ATTRIBUTE_MODIFIER, -0.15f, AttributeModifier.Operation.MULTIPLY_BASE));
|
||||||
}
|
}
|
||||||
return map;
|
return map;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
"format_version": "1.8.0",
|
"format_version": "1.8.0",
|
||||||
"animations": {
|
"animations": {
|
||||||
"animation.ak47.idle": {
|
"animation.ak47.idle": {
|
||||||
"loop": true,
|
|
||||||
"animation_length": 1,
|
"animation_length": 1,
|
||||||
"bones": {
|
"bones": {
|
||||||
"Lefthand": {
|
"Lefthand": {
|
||||||
|
@ -80,7 +79,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"animation.ak47.changefirerate": {
|
"animation.ak47.changefirerate": {
|
||||||
"loop": "hold_on_last_frame",
|
|
||||||
"animation_length": 0.5,
|
"animation_length": 0.5,
|
||||||
"bones": {
|
"bones": {
|
||||||
"0": {
|
"0": {
|
||||||
|
@ -249,7 +247,6 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"animation.ak47.run": {
|
"animation.ak47.run": {
|
||||||
"loop": true,
|
|
||||||
"animation_length": 0.8,
|
"animation_length": 0.8,
|
||||||
"bones": {
|
"bones": {
|
||||||
"0": {
|
"0": {
|
||||||
|
@ -338,24 +335,20 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"animation.ak47.reload_normal": {
|
"animation.ak47.reload_normal": {
|
||||||
"loop": "hold_on_last_frame",
|
|
||||||
"animation_length": 2.75,
|
"animation_length": 2.75,
|
||||||
"override_previous_animation": true,
|
"override_previous_animation": true,
|
||||||
"bones": {
|
"bones": {
|
||||||
"0": {
|
"0": {
|
||||||
"rotation": {
|
"rotation": {
|
||||||
"0.0": {
|
"0.1167": {
|
||||||
"vector": [0, 0, 0]
|
"vector": [0, 0, 0]
|
||||||
},
|
},
|
||||||
"0.1": {
|
"0.2167": {
|
||||||
"vector": [6.22824, 1.18826, 5.97426]
|
"vector": [6.22824, 1.18826, 5.97426]
|
||||||
},
|
},
|
||||||
"0.3167": {
|
"0.4333": {
|
||||||
"vector": [-14.01, 2.98, -9.37]
|
"vector": [-14.01, 2.98, -9.37]
|
||||||
},
|
},
|
||||||
"0.4167": {
|
|
||||||
"vector": [-12.25012, 1.71575, -15.23679]
|
|
||||||
},
|
|
||||||
"0.5": {
|
"0.5": {
|
||||||
"vector": [-13.67625, 0.53753, -20.43357]
|
"vector": [-13.67625, 0.53753, -20.43357]
|
||||||
},
|
},
|
||||||
|
@ -396,31 +389,19 @@
|
||||||
"vector": [-12.53304, 1.46221, -17.39249],
|
"vector": [-12.53304, 1.46221, -17.39249],
|
||||||
"easing": "easeInSine"
|
"easing": "easeInSine"
|
||||||
},
|
},
|
||||||
"2.0833": {
|
"2.3167": {
|
||||||
"vector": [-3.8135, -0.9118, -6.85724]
|
"vector": [0, 0, 0],
|
||||||
},
|
"easing": "easeInElastic"
|
||||||
"2.2333": {
|
|
||||||
"vector": [-0.38814, -0.04302, 4.50985]
|
|
||||||
},
|
|
||||||
"2.3": {
|
|
||||||
"vector": [2, 0, 2]
|
|
||||||
},
|
|
||||||
"2.3833": {
|
|
||||||
"vector": [0, 0, 0]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"position": {
|
"position": {
|
||||||
"0.0": {
|
"0.1167": {
|
||||||
"vector": [0, 0, 0]
|
"vector": [0, 0, 0]
|
||||||
},
|
},
|
||||||
"0.2833": {
|
"0.4": {
|
||||||
"vector": [-1.1, 0.3, -0.1],
|
"vector": [-1.1, 0.3, -0.1],
|
||||||
"easing": "easeInQuad"
|
"easing": "easeInQuad"
|
||||||
},
|
},
|
||||||
"0.4167": {
|
|
||||||
"vector": [-1.1, 0, -0.8],
|
|
||||||
"easing": "easeOutSine"
|
|
||||||
},
|
|
||||||
"0.5333": {
|
"0.5333": {
|
||||||
"vector": [-1.1, 0, -0.6]
|
"vector": [-1.1, 0, -0.6]
|
||||||
},
|
},
|
||||||
|
@ -455,26 +436,25 @@
|
||||||
"vector": [-0.59166, -0.35741, -0.73343],
|
"vector": [-0.59166, -0.35741, -0.73343],
|
||||||
"easing": "easeInSine"
|
"easing": "easeInSine"
|
||||||
},
|
},
|
||||||
"1.8667": {
|
"1.7667": {
|
||||||
"vector": [-0.50339, -0.1283, -0.63949]
|
"vector": [-0.50339, -0.1283, -0.63949]
|
||||||
},
|
},
|
||||||
"1.9833": {
|
"1.9833": {
|
||||||
"vector": [-0.51504, -0.2787, -0.4855]
|
"vector": [0.2, -0.5, -0.3]
|
||||||
},
|
},
|
||||||
"2.1833": {
|
"2.2": {
|
||||||
"vector": [0, 0, -1.07]
|
"vector": [0.14, -0.14, 1],
|
||||||
|
"easing": "easeInSine"
|
||||||
},
|
},
|
||||||
"2.3": {
|
"2.3333": {
|
||||||
"vector": [0.00031, 0.02116, 0.55984]
|
"vector": [0, 0, 0],
|
||||||
},
|
"easing": "easeInElastic"
|
||||||
"2.3833": {
|
|
||||||
"vector": [0, 0, 0]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Lefthand": {
|
"Lefthand": {
|
||||||
"rotation": {
|
"rotation": {
|
||||||
"0.0333": {
|
"0.1": {
|
||||||
"vector": [-27.6003, -27.56966, -16.00843]
|
"vector": [-27.6003, -27.56966, -16.00843]
|
||||||
},
|
},
|
||||||
"0.5333": {
|
"0.5333": {
|
||||||
|
@ -508,12 +488,12 @@
|
||||||
"vector": [-21.16455, -11.71775, -9.83624],
|
"vector": [-21.16455, -11.71775, -9.83624],
|
||||||
"easing": "easeOutSine"
|
"easing": "easeOutSine"
|
||||||
},
|
},
|
||||||
"2.3": {
|
"2.2667": {
|
||||||
"vector": [-27.6003, -27.56966, -16.00843]
|
"vector": [-27.6003, -27.56966, -16.00843]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"position": {
|
"position": {
|
||||||
"0.0333": {
|
"0.1": {
|
||||||
"vector": [-0.6, -2.7, -3.3]
|
"vector": [-0.6, -2.7, -3.3]
|
||||||
},
|
},
|
||||||
"0.5333": {
|
"0.5333": {
|
||||||
|
@ -551,7 +531,7 @@
|
||||||
"vector": [2.48, -11.97, 0.18],
|
"vector": [2.48, -11.97, 0.18],
|
||||||
"easing": "easeInOutSine"
|
"easing": "easeInOutSine"
|
||||||
},
|
},
|
||||||
"2.3": {
|
"2.2667": {
|
||||||
"vector": [-0.6, -2.7, -3.3]
|
"vector": [-0.6, -2.7, -3.3]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -756,32 +736,23 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"sound_effects": {
|
|
||||||
"0.0": {
|
|
||||||
"effect": "m_4_reload_normal"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"animation.ak47.reload_empty": {
|
"animation.ak47.reload_empty": {
|
||||||
"loop": "hold_on_last_frame",
|
|
||||||
"animation_length": 3.4333,
|
"animation_length": 3.4333,
|
||||||
"override_previous_animation": true,
|
"override_previous_animation": true,
|
||||||
"bones": {
|
"bones": {
|
||||||
"0": {
|
"0": {
|
||||||
"rotation": {
|
"rotation": {
|
||||||
"0.0": {
|
"0.1167": {
|
||||||
"vector": [0, 0, 0]
|
"vector": [0, 0, 0]
|
||||||
},
|
},
|
||||||
"0.1": {
|
"0.2167": {
|
||||||
"vector": [6.22824, 1.18826, 5.97426]
|
"vector": [6.22824, 1.18826, 5.97426]
|
||||||
},
|
},
|
||||||
"0.3167": {
|
"0.4333": {
|
||||||
"vector": [-14.01, 2.98, -9.37]
|
"vector": [-14.01, 2.98, -9.37]
|
||||||
},
|
},
|
||||||
"0.4167": {
|
|
||||||
"vector": [-12.25012, 1.71575, -15.23679]
|
|
||||||
},
|
|
||||||
"0.5": {
|
"0.5": {
|
||||||
"vector": [-13.67625, 0.53753, -20.43357]
|
"vector": [-13.67625, 0.53753, -20.43357]
|
||||||
},
|
},
|
||||||
|
@ -791,17 +762,20 @@
|
||||||
"0.6333": {
|
"0.6333": {
|
||||||
"vector": [-14.36475, 0.09248, -22.30327]
|
"vector": [-14.36475, 0.09248, -22.30327]
|
||||||
},
|
},
|
||||||
"0.75": {
|
"0.8": {
|
||||||
"vector": [-14.81, -0.41, -24.77]
|
"vector": [-14.64202, 0.77211, -20.08007]
|
||||||
},
|
},
|
||||||
"0.8333": {
|
"0.8833": {
|
||||||
"vector": [-17.57596, -2.10885, -29.925],
|
"vector": [-14.68234, -0.0043, -31.08042]
|
||||||
|
},
|
||||||
|
"0.9667": {
|
||||||
|
"vector": [-26.62294, -3.8972, -29.0283],
|
||||||
"easing": "easeInElastic"
|
"easing": "easeInElastic"
|
||||||
},
|
},
|
||||||
"0.95": {
|
"1.0833": {
|
||||||
"vector": [-15.94266, -0.18118, -25.15393]
|
"vector": [-15.94266, -0.18118, -25.15393]
|
||||||
},
|
},
|
||||||
"1.15": {
|
"1.2833": {
|
||||||
"vector": [-16.21216, -2.28043, -33.21481]
|
"vector": [-16.21216, -2.28043, -33.21481]
|
||||||
},
|
},
|
||||||
"1.5": {
|
"1.5": {
|
||||||
|
@ -819,7 +793,7 @@
|
||||||
"2.0": {
|
"2.0": {
|
||||||
"vector": [-20.30109, -8.2353, -48.49477]
|
"vector": [-20.30109, -8.2353, -48.49477]
|
||||||
},
|
},
|
||||||
"2.2333": {
|
"2.2833": {
|
||||||
"vector": [-16.67409, -7.83578, -50.66699]
|
"vector": [-16.67409, -7.83578, -50.66699]
|
||||||
},
|
},
|
||||||
"2.3167": {
|
"2.3167": {
|
||||||
|
@ -836,48 +810,40 @@
|
||||||
"2.65": {
|
"2.65": {
|
||||||
"vector": [-11.75146, -0.36394, -33.34824]
|
"vector": [-11.75146, -0.36394, -33.34824]
|
||||||
},
|
},
|
||||||
"2.8167": {
|
"2.9167": {
|
||||||
"vector": [-6.63855, 2.59206, -16.81115]
|
"vector": [1, 0, 0],
|
||||||
|
"easing": "easeInOutSine"
|
||||||
},
|
},
|
||||||
"3.05": {
|
"3.2833": {
|
||||||
"vector": [-0.38814, -0.04302, 4.50985]
|
"vector": [0, 0, 0],
|
||||||
},
|
"easing": "easeInElastic"
|
||||||
"3.1167": {
|
|
||||||
"vector": [2, 0, 2]
|
|
||||||
},
|
|
||||||
"3.2": {
|
|
||||||
"vector": [0, 0, 0]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"position": {
|
"position": {
|
||||||
"0.0": {
|
"0.1167": {
|
||||||
"vector": [0, 0, 0]
|
"vector": [0, 0, 0]
|
||||||
},
|
},
|
||||||
"0.2833": {
|
"0.4": {
|
||||||
"vector": [-1.1, 0.3, -0.1],
|
"vector": [-1.1, 0.3, -0.1],
|
||||||
"easing": "easeInQuad"
|
"easing": "easeInQuad"
|
||||||
},
|
},
|
||||||
"0.4167": {
|
|
||||||
"vector": [-1.1, 0, -0.8],
|
|
||||||
"easing": "easeOutSine"
|
|
||||||
},
|
|
||||||
"0.5333": {
|
"0.5333": {
|
||||||
"vector": [-1.1, 0, -0.6]
|
"vector": [-1.1, 0, -0.6]
|
||||||
},
|
},
|
||||||
"0.7": {
|
"0.8333": {
|
||||||
"vector": [-1.13863, 0.08812, -0.6923]
|
"vector": [-1.11871, 0.0414, -0.49886]
|
||||||
},
|
},
|
||||||
"0.75": {
|
"0.8833": {
|
||||||
"vector": [-1.11, 0.09, -0.68]
|
"vector": [-1.11, 0.09, -0.68]
|
||||||
},
|
},
|
||||||
"0.8333": {
|
"0.9667": {
|
||||||
"vector": [-1.32651, 0.6322, -1.60351],
|
"vector": [-1.32651, 0.6322, -1.60351],
|
||||||
"easing": "easeInElastic"
|
"easing": "easeInElastic"
|
||||||
},
|
},
|
||||||
"1.0333": {
|
"1.1667": {
|
||||||
"vector": [-0.98667, 0.05602, -0.52736]
|
"vector": [-0.98667, 0.05602, -0.52736]
|
||||||
},
|
},
|
||||||
"1.25": {
|
"1.3833": {
|
||||||
"vector": [-1.02585, 0.23839, -1.22133]
|
"vector": [-1.02585, 0.23839, -1.22133]
|
||||||
},
|
},
|
||||||
"1.5": {
|
"1.5": {
|
||||||
|
@ -899,7 +865,7 @@
|
||||||
"2.1167": {
|
"2.1167": {
|
||||||
"vector": [-0.50339, -0.1283, -0.63949]
|
"vector": [-0.50339, -0.1283, -0.63949]
|
||||||
},
|
},
|
||||||
"2.2333": {
|
"2.2833": {
|
||||||
"vector": [-0.51, -0.24, -0.53]
|
"vector": [-0.51, -0.24, -0.53]
|
||||||
},
|
},
|
||||||
"2.3167": {
|
"2.3167": {
|
||||||
|
@ -919,26 +885,22 @@
|
||||||
"2.7333": {
|
"2.7333": {
|
||||||
"vector": [-0.25313, -0.26698, -1.40007]
|
"vector": [-0.25313, -0.26698, -1.40007]
|
||||||
},
|
},
|
||||||
"2.85": {
|
|
||||||
"vector": [-0.09776, -0.12762, -1.05115]
|
|
||||||
},
|
|
||||||
"2.9333": {
|
"2.9333": {
|
||||||
"vector": [0.00212, 0.18217, -0.76274]
|
"vector": [0.2, -0.5, -0.3]
|
||||||
},
|
},
|
||||||
"3.0": {
|
"3.05": {
|
||||||
"vector": [0.00274, -0.00904, -0.77015]
|
"vector": [0.14, -0.14, 1],
|
||||||
|
"easing": "easeInSine"
|
||||||
},
|
},
|
||||||
"3.1167": {
|
"3.3": {
|
||||||
"vector": [0.00031, 0.02116, 0.55984]
|
"vector": [0, 0, 0],
|
||||||
},
|
"easing": "easeInElastic"
|
||||||
"3.2": {
|
|
||||||
"vector": [0, 0, 0]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Lefthand": {
|
"Lefthand": {
|
||||||
"rotation": {
|
"rotation": {
|
||||||
"0.0333": {
|
"0.1": {
|
||||||
"vector": [-27.6003, -27.56966, -16.00843]
|
"vector": [-27.6003, -27.56966, -16.00843]
|
||||||
},
|
},
|
||||||
"0.5667": {
|
"0.5667": {
|
||||||
|
@ -976,14 +938,14 @@
|
||||||
"vector": [-20.31753, -15.08281, -6.04184],
|
"vector": [-20.31753, -15.08281, -6.04184],
|
||||||
"easing": "easeOutSine"
|
"easing": "easeOutSine"
|
||||||
},
|
},
|
||||||
"1.65": {
|
"1.7333": {
|
||||||
"vector": [-20.31753, -15.08281, -6.04184],
|
"vector": [-20.31753, -15.08281, -6.04184],
|
||||||
"easing": "easeOutSine"
|
"easing": "easeOutSine"
|
||||||
},
|
},
|
||||||
"1.8167": {
|
"1.8333": {
|
||||||
"vector": [-6.78199, -4.07081, 10.69071]
|
"vector": [-6.78199, -4.07081, 10.69071]
|
||||||
},
|
},
|
||||||
"1.9667": {
|
"2.05": {
|
||||||
"vector": [-26.9, 5.84, 25.75]
|
"vector": [-26.9, 5.84, 25.75]
|
||||||
},
|
},
|
||||||
"2.2": {
|
"2.2": {
|
||||||
|
@ -996,15 +958,22 @@
|
||||||
"2.35": {
|
"2.35": {
|
||||||
"vector": [18.15836, 54.76869, 89.37164]
|
"vector": [18.15836, 54.76869, 89.37164]
|
||||||
},
|
},
|
||||||
"2.6667": {
|
"2.45": {
|
||||||
"vector": [28.11259, -27.07767, 82.93501]
|
"vector": [45.05645, 4.02403, 112.80291]
|
||||||
},
|
},
|
||||||
"2.85": {
|
"2.5333": {
|
||||||
"vector": [-27.6003, -27.56966, -16.00843]
|
"vector": [28.08023, -5.66109, 65.89022]
|
||||||
|
},
|
||||||
|
"2.6333": {
|
||||||
|
"vector": [8.14471, -15.41168, 11.40743]
|
||||||
|
},
|
||||||
|
"2.8833": {
|
||||||
|
"vector": [-27.6003, -27.56966, -16.00843],
|
||||||
|
"easing": "linear"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"position": {
|
"position": {
|
||||||
"0.0333": {
|
"0.1": {
|
||||||
"vector": [-0.6, -2.7, -3.3]
|
"vector": [-0.6, -2.7, -3.3]
|
||||||
},
|
},
|
||||||
"0.5667": {
|
"0.5667": {
|
||||||
|
@ -1046,14 +1015,14 @@
|
||||||
"vector": [-1.82116, -5.66841, 1.27626],
|
"vector": [-1.82116, -5.66841, 1.27626],
|
||||||
"easing": "easeOutSine"
|
"easing": "easeOutSine"
|
||||||
},
|
},
|
||||||
"1.65": {
|
"1.7333": {
|
||||||
"vector": [-1.82116, -5.66841, 1.27626],
|
"vector": [-1.82116, -5.66841, 1.27626],
|
||||||
"easing": "easeOutSine"
|
"easing": "easeOutSine"
|
||||||
},
|
},
|
||||||
"1.8167": {
|
"1.8333": {
|
||||||
"vector": [-4.85539, -7.00072, 9.48678]
|
"vector": [-4.85539, -7.00072, 9.48678]
|
||||||
},
|
},
|
||||||
"2.05": {
|
"2.1": {
|
||||||
"vector": [-7.59261, -4.21333, 0.73397]
|
"vector": [-7.59261, -4.21333, 0.73397]
|
||||||
},
|
},
|
||||||
"2.2": {
|
"2.2": {
|
||||||
|
@ -1068,12 +1037,18 @@
|
||||||
"vector": [-7.5, -4.1, -0.3],
|
"vector": [-7.5, -4.1, -0.3],
|
||||||
"easing": "easeInElastic"
|
"easing": "easeInElastic"
|
||||||
},
|
},
|
||||||
"2.5833": {
|
"2.45": {
|
||||||
"vector": [-7.5, -3.1, -2.2],
|
"vector": [-8.3, -3.99, 7.75]
|
||||||
"easing": "easeInOutCubic"
|
|
||||||
},
|
},
|
||||||
"2.85": {
|
"2.5333": {
|
||||||
"vector": [-0.6, -2.7, -3.3]
|
"vector": [-4.71, -4.82, 7.05]
|
||||||
|
},
|
||||||
|
"2.65": {
|
||||||
|
"vector": [0.31, -2.62, 6.08]
|
||||||
|
},
|
||||||
|
"2.8833": {
|
||||||
|
"vector": [-0.6, -2.7, -3.3],
|
||||||
|
"easing": "linear"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1445,11 +1420,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"sound_effects": {
|
|
||||||
"0.0": {
|
|
||||||
"effect": "ak_47_reload_empty"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -0,0 +1,55 @@
|
||||||
|
{
|
||||||
|
"format_version": "1.8.0",
|
||||||
|
"animations": {
|
||||||
|
"animation.drone.idle": {
|
||||||
|
"loop": true
|
||||||
|
},
|
||||||
|
"animation.drone.fly": {
|
||||||
|
"loop": true,
|
||||||
|
"animation_length": 0.125,
|
||||||
|
"bones": {
|
||||||
|
"wing": {
|
||||||
|
"rotation": {
|
||||||
|
"0.0": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.125": {
|
||||||
|
"vector": [0, 360, 0]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"wing2": {
|
||||||
|
"rotation": {
|
||||||
|
"0.0": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.125": {
|
||||||
|
"vector": [0, -360, 0]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"wing3": {
|
||||||
|
"rotation": {
|
||||||
|
"0.0": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.125": {
|
||||||
|
"vector": [0, -360, 0]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"wing4": {
|
||||||
|
"rotation": {
|
||||||
|
"0.0": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.125": {
|
||||||
|
"vector": [0, 360, 0]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"geckolib_format_version": 2
|
||||||
|
}
|
|
@ -1064,24 +1064,31 @@
|
||||||
"bones": {
|
"bones": {
|
||||||
"0": {
|
"0": {
|
||||||
"rotation": {
|
"rotation": {
|
||||||
"0.1": {
|
"0.125": {
|
||||||
"vector": [0, 0, 0],
|
"vector": [0, 0, 0],
|
||||||
"easing": "easeInOutSine"
|
"easing": "easeInOutSine"
|
||||||
},
|
},
|
||||||
"0.375": {
|
"0.225": {
|
||||||
"vector": [-35.56192, -1.50886, -9.45771],
|
"vector": [-1.07, -0.74, 6.37]
|
||||||
|
},
|
||||||
|
"0.425": {
|
||||||
|
"vector": [-20.56192, -1.50886, -9.45771],
|
||||||
"easing": "easeInElastic"
|
"easing": "easeInElastic"
|
||||||
},
|
},
|
||||||
"0.45": {
|
"0.5": {
|
||||||
"vector": [-45.48387, -9.95091, -26.47651]
|
"vector": [-20.48387, -9.95091, -26.47651]
|
||||||
},
|
},
|
||||||
"0.675": {
|
"0.6": {
|
||||||
"vector": [-53.4025, -7.94945, -13.41702]
|
"vector": [-17.67, -9.06, -20.67]
|
||||||
|
},
|
||||||
|
"0.725": {
|
||||||
|
"vector": [-43.4025, -7.94945, -13.41702]
|
||||||
},
|
},
|
||||||
"0.925": {
|
"0.925": {
|
||||||
"vector": [-59.14389, -9.68328, -20.39262]
|
"vector": [-59.14389, -9.68328, -20.39262],
|
||||||
|
"easing": "easeInElastic"
|
||||||
},
|
},
|
||||||
"1.15": {
|
"1.075": {
|
||||||
"vector": [-55.01718, -24.39228, -33.75787]
|
"vector": [-55.01718, -24.39228, -33.75787]
|
||||||
},
|
},
|
||||||
"1.375": {
|
"1.375": {
|
||||||
|
@ -1105,32 +1112,35 @@
|
||||||
"2.425": {
|
"2.425": {
|
||||||
"vector": [0.6713, 1.51642, 7.12107]
|
"vector": [0.6713, 1.51642, 7.12107]
|
||||||
},
|
},
|
||||||
"2.65": {
|
"2.5": {
|
||||||
|
"vector": [4, 0, 0],
|
||||||
|
"easing": "easeInOutSine"
|
||||||
|
},
|
||||||
|
"2.725": {
|
||||||
"vector": [0.49, 0, 0]
|
"vector": [0.49, 0, 0]
|
||||||
},
|
},
|
||||||
"2.75": {
|
"2.825": {
|
||||||
"vector": [0, 0, 0]
|
"vector": [0, 0, 0]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"position": {
|
"position": {
|
||||||
"0.1": {
|
"0.0": {
|
||||||
"vector": [0, 0, 0],
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.075": {
|
||||||
|
"vector": [0, 0, -1],
|
||||||
"easing": "easeInOutSine"
|
"easing": "easeInOutSine"
|
||||||
},
|
},
|
||||||
"0.25": {
|
"0.425": {
|
||||||
"vector": [-2.78, 5.3, -2.1],
|
"vector": [-3.53, 4, -1.24]
|
||||||
"easing": "easeInElastic"
|
|
||||||
},
|
},
|
||||||
"0.375": {
|
"0.5": {
|
||||||
"vector": [-3.53, 5.5, -0.74]
|
"vector": [-2.14701, 3.47083, -2.19545]
|
||||||
},
|
},
|
||||||
"0.45": {
|
"0.6": {
|
||||||
"vector": [-2.64701, 5.47083, -1.19545]
|
"vector": [-2.96981, 4.21209, -2.58424]
|
||||||
},
|
},
|
||||||
"0.55": {
|
"0.975": {
|
||||||
"vector": [-2.96981, 5.71209, -0.58424]
|
|
||||||
},
|
|
||||||
"1.05": {
|
|
||||||
"vector": [-3.51028, 6.5846, -1.08775]
|
"vector": [-3.51028, 6.5846, -1.08775]
|
||||||
},
|
},
|
||||||
"1.7": {
|
"1.7": {
|
||||||
|
@ -1149,17 +1159,20 @@
|
||||||
"vector": [-3.69025, 6.67119, -0.86389]
|
"vector": [-3.69025, 6.67119, -0.86389]
|
||||||
},
|
},
|
||||||
"2.45": {
|
"2.45": {
|
||||||
"vector": [-0.1, 0, 1.9],
|
"vector": [-0.1, 0, 0.9],
|
||||||
"easing": "easeInElastic"
|
"easing": "easeInElastic"
|
||||||
},
|
},
|
||||||
"2.55": {
|
"2.525": {
|
||||||
|
"vector": [0.2, -0.2, -0.3]
|
||||||
|
},
|
||||||
|
"2.625": {
|
||||||
"vector": [0.14, -0.14, 1],
|
"vector": [0.14, -0.14, 1],
|
||||||
"easing": "easeInSine"
|
"easing": "easeInSine"
|
||||||
},
|
},
|
||||||
"2.65": {
|
"2.725": {
|
||||||
"vector": [0.04, 0.15993, 0.24478]
|
"vector": [0.04, 0.15993, 0.24478]
|
||||||
},
|
},
|
||||||
"2.775": {
|
"2.85": {
|
||||||
"vector": [0, 0, 0],
|
"vector": [0, 0, 0],
|
||||||
"easing": "easeOutSine"
|
"easing": "easeOutSine"
|
||||||
}
|
}
|
||||||
|
|
639
src/main/resources/assets/target/geo/drone.geo.json
Normal file
639
src/main/resources/assets/target/geo/drone.geo.json
Normal file
|
@ -0,0 +1,639 @@
|
||||||
|
{
|
||||||
|
"format_version": "1.12.0",
|
||||||
|
"minecraft:geometry": [
|
||||||
|
{
|
||||||
|
"description": {
|
||||||
|
"identifier": "geometry.unknown",
|
||||||
|
"texture_width": 32,
|
||||||
|
"texture_height": 32,
|
||||||
|
"visible_bounds_width": 2,
|
||||||
|
"visible_bounds_height": 1.5,
|
||||||
|
"visible_bounds_offset": [0, 0.25, 0]
|
||||||
|
},
|
||||||
|
"bones": [
|
||||||
|
{
|
||||||
|
"name": "bone",
|
||||||
|
"pivot": [0, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "0",
|
||||||
|
"parent": "bone",
|
||||||
|
"pivot": [0, 0, 0]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "body",
|
||||||
|
"parent": "0",
|
||||||
|
"pivot": [0, 0, 0],
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"origin": [-1, 1.75, -3],
|
||||||
|
"size": [2, 0.5, 6],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [14, 3], "uv_size": [2, 0.5]},
|
||||||
|
"east": {"uv": [8, 0], "uv_size": [6, 0.5]},
|
||||||
|
"south": {"uv": [14, 8], "uv_size": [2, 0.5]},
|
||||||
|
"west": {"uv": [8, 1], "uv_size": [6, 0.5]},
|
||||||
|
"up": {"uv": [0, 0], "uv_size": [2, 6]},
|
||||||
|
"down": {"uv": [2, 6], "uv_size": [2, -6]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-1, 2.25, -1],
|
||||||
|
"size": [2, 0.5, 3.5],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [15, 10], "uv_size": [2, 0.5]},
|
||||||
|
"east": {"uv": [10, 12], "uv_size": [3.5, 0.5]},
|
||||||
|
"south": {"uv": [15, 11], "uv_size": [2, 0.5]},
|
||||||
|
"west": {"uv": [7, 13], "uv_size": [3.5, 0.5]},
|
||||||
|
"up": {"uv": [0, 6], "uv_size": [2, 3.5]},
|
||||||
|
"down": {"uv": [6, 3.5], "uv_size": [2, -3.5]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-1, 1.08579, 1.81066],
|
||||||
|
"size": [2, 0.5, 0.71094],
|
||||||
|
"pivot": [0, 1.33579, 3.56066],
|
||||||
|
"rotation": [-45, 0, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [16, 3], "uv_size": [2, 0.5]},
|
||||||
|
"east": {"uv": [15, 19], "uv_size": [0.75, 0.5]},
|
||||||
|
"south": {"uv": [16, 4], "uv_size": [2, 0.5]},
|
||||||
|
"west": {"uv": [16, 19], "uv_size": [0.75, 0.5]},
|
||||||
|
"up": {"uv": [4, 13], "uv_size": [2, 0.75]},
|
||||||
|
"down": {"uv": [11, 13.75], "uv_size": [2, -0.75]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-1, 1.16583, 1.99831],
|
||||||
|
"size": [2, 0.5, 1.05078],
|
||||||
|
"pivot": [0, 1.41583, 2.5237],
|
||||||
|
"rotation": [60.5, 0, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [14, 9], "uv_size": [2, 0.5]},
|
||||||
|
"east": {"uv": [14, 18], "uv_size": [1, 0.5]},
|
||||||
|
"south": {"uv": [15, 0], "uv_size": [2, 0.5]},
|
||||||
|
"west": {"uv": [15, 18], "uv_size": [1, 0.5]},
|
||||||
|
"up": {"uv": [12, 8], "uv_size": [2, 1]},
|
||||||
|
"down": {"uv": [12, 10], "uv_size": [2, -1]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-1, 1.58044, -2.94914],
|
||||||
|
"size": [2, 0.5, 1.35078],
|
||||||
|
"pivot": [0, 1.83044, -2.42375],
|
||||||
|
"rotation": [-17.5, 0, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [15, 1], "uv_size": [2, 0.5]},
|
||||||
|
"east": {"uv": [17, 5], "uv_size": [1.25, 0.5]},
|
||||||
|
"south": {"uv": [15, 2], "uv_size": [2, 0.5]},
|
||||||
|
"west": {"uv": [6, 17], "uv_size": [1.25, 0.5]},
|
||||||
|
"up": {"uv": [4, 10], "uv_size": [2, 1.25]},
|
||||||
|
"down": {"uv": [10, 9.25], "uv_size": [2, -1.25]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-1, 2.06723, -2.82811],
|
||||||
|
"size": [2, 0.5, 2.04219],
|
||||||
|
"pivot": [0, 1.81723, -1.61131],
|
||||||
|
"rotation": [14.5, 0, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [15, 12], "uv_size": [2, 0.5]},
|
||||||
|
"east": {"uv": [15, 13], "uv_size": [2, 0.5]},
|
||||||
|
"south": {"uv": [15, 14], "uv_size": [2, 0.5]},
|
||||||
|
"west": {"uv": [15, 15], "uv_size": [2, 0.5]},
|
||||||
|
"up": {"uv": [2, 6], "uv_size": [2, 2]},
|
||||||
|
"down": {"uv": [6, 8], "uv_size": [2, -2]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-1, 0.75, -1.75],
|
||||||
|
"size": [2, 1, 4.25],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [4, 12], "uv_size": [2, 1]},
|
||||||
|
"east": {"uv": [6, 4], "uv_size": [4.25, 1]},
|
||||||
|
"south": {"uv": [8, 12], "uv_size": [2, 1]},
|
||||||
|
"west": {"uv": [6, 5], "uv_size": [4.25, 1]},
|
||||||
|
"up": {"uv": [4, 0], "uv_size": [2, 4.25]},
|
||||||
|
"down": {"uv": [4, 9.25], "uv_size": [2, -4.25]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-0.45, 0.85, -2.75],
|
||||||
|
"size": [0.9, 0.6, 0.9],
|
||||||
|
"pivot": [0, 1.15, -2.3],
|
||||||
|
"rotation": [16, 0, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [7, 19], "uv_size": [1, 0.5]},
|
||||||
|
"east": {"uv": [8, 19], "uv_size": [1, 0.5]},
|
||||||
|
"south": {"uv": [9, 19], "uv_size": [1, 0.5]},
|
||||||
|
"west": {"uv": [10, 19], "uv_size": [1, 0.5]},
|
||||||
|
"up": {"uv": [1, 15], "uv_size": [1, 1]},
|
||||||
|
"down": {"uv": [1, 17], "uv_size": [1, -1]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [0.45, 0.95, -2.55],
|
||||||
|
"size": [0.2, 0.4, 1],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [21, 15], "uv_size": [0.25, 0.5]},
|
||||||
|
"east": {"uv": [11, 19], "uv_size": [1, 0.5]},
|
||||||
|
"south": {"uv": [16, 21], "uv_size": [0.25, 0.5]},
|
||||||
|
"west": {"uv": [12, 19], "uv_size": [1, 0.5]},
|
||||||
|
"up": {"uv": [14, 20], "uv_size": [0.25, 1]},
|
||||||
|
"down": {"uv": [20, 15], "uv_size": [0.25, -1]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-0.65, 0.95, -2.55],
|
||||||
|
"size": [0.2, 0.4, 1],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [21, 16], "uv_size": [0.25, 0.5]},
|
||||||
|
"east": {"uv": [13, 19], "uv_size": [1, 0.5]},
|
||||||
|
"south": {"uv": [17, 21], "uv_size": [0.25, 0.5]},
|
||||||
|
"west": {"uv": [14, 19], "uv_size": [1, 0.5]},
|
||||||
|
"up": {"uv": [15, 20], "uv_size": [0.25, 1]},
|
||||||
|
"down": {"uv": [20, 16], "uv_size": [0.25, -1]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-1.25, 1.5, -5.25],
|
||||||
|
"size": [0.75, 0.5, 5.25],
|
||||||
|
"pivot": [0, 0, 0],
|
||||||
|
"rotation": [0, -67.5, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [17, 19], "uv_size": [0.75, 0.5]},
|
||||||
|
"east": {"uv": [8, 2], "uv_size": [5.25, 0.5]},
|
||||||
|
"south": {"uv": [18, 19], "uv_size": [0.75, 0.5]},
|
||||||
|
"west": {"uv": [8, 3], "uv_size": [5.25, 0.5]},
|
||||||
|
"up": {"uv": [2, 8], "uv_size": [0.75, 5.25]},
|
||||||
|
"down": {"uv": [3, 13.25], "uv_size": [0.75, -5.25]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [0.5, 1.5, -5.25],
|
||||||
|
"size": [0.75, 0.5, 5.25],
|
||||||
|
"pivot": [0, 0, 0],
|
||||||
|
"rotation": [0, 67.5, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [19, 18], "uv_size": [0.75, 0.5]},
|
||||||
|
"east": {"uv": [10, 6], "uv_size": [5.25, 0.5]},
|
||||||
|
"south": {"uv": [19, 19], "uv_size": [0.75, 0.5]},
|
||||||
|
"west": {"uv": [10, 7], "uv_size": [5.25, 0.5]},
|
||||||
|
"up": {"uv": [6, 8], "uv_size": [0.75, 5.25]},
|
||||||
|
"down": {"uv": [8, 11.25], "uv_size": [0.75, -5.25]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [0.5, 1.05, -6],
|
||||||
|
"size": [0.75, 0.95, 0.75],
|
||||||
|
"pivot": [0, 0, 0],
|
||||||
|
"rotation": [0, 67.5, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [16, 5], "uv_size": [0.75, 1]},
|
||||||
|
"east": {"uv": [16, 6], "uv_size": [0.75, 1]},
|
||||||
|
"south": {"uv": [16, 7], "uv_size": [0.75, 1]},
|
||||||
|
"west": {"uv": [16, 8], "uv_size": [0.75, 1]},
|
||||||
|
"up": {"uv": [18, 0], "uv_size": [0.75, 0.75]},
|
||||||
|
"down": {"uv": [18, 1.75], "uv_size": [0.75, -0.75]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-1.25, 1.05, -6],
|
||||||
|
"size": [0.75, 0.95, 0.75],
|
||||||
|
"pivot": [0, 0, 0],
|
||||||
|
"rotation": [0, -67.5, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [16, 9], "uv_size": [0.75, 1]},
|
||||||
|
"east": {"uv": [13, 16], "uv_size": [0.75, 1]},
|
||||||
|
"south": {"uv": [15, 16], "uv_size": [0.75, 1]},
|
||||||
|
"west": {"uv": [16, 16], "uv_size": [0.75, 1]},
|
||||||
|
"up": {"uv": [18, 2], "uv_size": [0.75, 0.75]},
|
||||||
|
"down": {"uv": [3, 18.75], "uv_size": [0.75, -0.75]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [0.5, 1.5, 1],
|
||||||
|
"size": [0.75, 0.5, 4.25],
|
||||||
|
"pivot": [0, 0, 0],
|
||||||
|
"rotation": [0, -55, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [0, 20], "uv_size": [0.75, 0.5]},
|
||||||
|
"east": {"uv": [10, 10], "uv_size": [4.25, 0.5]},
|
||||||
|
"south": {"uv": [20, 0], "uv_size": [0.75, 0.5]},
|
||||||
|
"west": {"uv": [11, 4], "uv_size": [4.25, 0.5]},
|
||||||
|
"up": {"uv": [7, 8], "uv_size": [0.75, 4.25]},
|
||||||
|
"down": {"uv": [9, 10.25], "uv_size": [0.75, -4.25]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-1.25, 1.5, 1],
|
||||||
|
"size": [0.75, 0.5, 4.25],
|
||||||
|
"pivot": [0, 0, 0],
|
||||||
|
"rotation": [0, 55, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [1, 20], "uv_size": [0.75, 0.5]},
|
||||||
|
"east": {"uv": [11, 5], "uv_size": [4.25, 0.5]},
|
||||||
|
"south": {"uv": [20, 1], "uv_size": [0.75, 0.5]},
|
||||||
|
"west": {"uv": [9, 11], "uv_size": [4.25, 0.5]},
|
||||||
|
"up": {"uv": [0, 10], "uv_size": [0.75, 4.25]},
|
||||||
|
"down": {"uv": [1, 14.25], "uv_size": [0.75, -4.25]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-1.25, 1.05, 5.25],
|
||||||
|
"size": [0.75, 0.95, 0.75],
|
||||||
|
"pivot": [0, -0.05, 0],
|
||||||
|
"rotation": [0, 55, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [17, 0], "uv_size": [0.75, 1]},
|
||||||
|
"east": {"uv": [1, 17], "uv_size": [0.75, 1]},
|
||||||
|
"south": {"uv": [17, 1], "uv_size": [0.75, 1]},
|
||||||
|
"west": {"uv": [2, 17], "uv_size": [0.75, 1]},
|
||||||
|
"up": {"uv": [18, 3], "uv_size": [0.75, 0.75]},
|
||||||
|
"down": {"uv": [4, 18.75], "uv_size": [0.75, -0.75]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [0.5, 1.05, 5.25],
|
||||||
|
"size": [0.75, 0.95, 0.75],
|
||||||
|
"pivot": [0, -0.05, 0],
|
||||||
|
"rotation": [0, -55, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [17, 2], "uv_size": [0.75, 1]},
|
||||||
|
"east": {"uv": [3, 17], "uv_size": [0.75, 1]},
|
||||||
|
"south": {"uv": [4, 17], "uv_size": [0.75, 1]},
|
||||||
|
"west": {"uv": [5, 17], "uv_size": [0.75, 1]},
|
||||||
|
"up": {"uv": [18, 4], "uv_size": [0.75, 0.75]},
|
||||||
|
"down": {"uv": [5, 18.75], "uv_size": [0.75, -0.75]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-1.15, 2, -5.9],
|
||||||
|
"size": [0.55, 0.45, 0.55],
|
||||||
|
"pivot": [0, 0, 0],
|
||||||
|
"rotation": [0, -67.5, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [21, 4], "uv_size": [0.5, 0.5]},
|
||||||
|
"east": {"uv": [5, 21], "uv_size": [0.5, 0.5]},
|
||||||
|
"south": {"uv": [21, 5], "uv_size": [0.5, 0.5]},
|
||||||
|
"west": {"uv": [6, 21], "uv_size": [0.5, 0.5]},
|
||||||
|
"up": {"uv": [21, 6], "uv_size": [0.5, 0.5]},
|
||||||
|
"down": {"uv": [7, 21.5], "uv_size": [0.5, -0.5]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [0.6, 2, -5.9],
|
||||||
|
"size": [0.55, 0.45, 0.55],
|
||||||
|
"pivot": [0, 0, 0],
|
||||||
|
"rotation": [0, 67.5, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [21, 1], "uv_size": [0.5, 0.5]},
|
||||||
|
"east": {"uv": [2, 21], "uv_size": [0.5, 0.5]},
|
||||||
|
"south": {"uv": [21, 2], "uv_size": [0.5, 0.5]},
|
||||||
|
"west": {"uv": [3, 21], "uv_size": [0.5, 0.5]},
|
||||||
|
"up": {"uv": [21, 3], "uv_size": [0.5, 0.5]},
|
||||||
|
"down": {"uv": [4, 21.5], "uv_size": [0.5, -0.5]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [0.6, 2, 5.35],
|
||||||
|
"size": [0.55, 0.45, 0.55],
|
||||||
|
"pivot": [0, -0.05, 0],
|
||||||
|
"rotation": [0, -55, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [19, 20], "uv_size": [0.5, 0.5]},
|
||||||
|
"east": {"uv": [20, 19], "uv_size": [0.5, 0.5]},
|
||||||
|
"south": {"uv": [20, 20], "uv_size": [0.5, 0.5]},
|
||||||
|
"west": {"uv": [0, 21], "uv_size": [0.5, 0.5]},
|
||||||
|
"up": {"uv": [21, 0], "uv_size": [0.5, 0.5]},
|
||||||
|
"down": {"uv": [1, 21.5], "uv_size": [0.5, -0.5]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-1.15, 2, 5.35],
|
||||||
|
"size": [0.55, 0.45, 0.55],
|
||||||
|
"pivot": [0, -0.05, 0],
|
||||||
|
"rotation": [0, 55, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [16, 20], "uv_size": [0.5, 0.5]},
|
||||||
|
"east": {"uv": [20, 16], "uv_size": [0.5, 0.5]},
|
||||||
|
"south": {"uv": [17, 20], "uv_size": [0.5, 0.5]},
|
||||||
|
"west": {"uv": [20, 17], "uv_size": [0.5, 0.5]},
|
||||||
|
"up": {"uv": [18, 20], "uv_size": [0.5, 0.5]},
|
||||||
|
"down": {"uv": [20, 18.5], "uv_size": [0.5, -0.5]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [0.6, 0.05, 5.5],
|
||||||
|
"size": [0.55, 1, 0.5],
|
||||||
|
"pivot": [0, -1, 0],
|
||||||
|
"rotation": [0, -55, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [19, 4], "uv_size": [0.5, 1]},
|
||||||
|
"east": {"uv": [5, 19], "uv_size": [0.5, 1]},
|
||||||
|
"south": {"uv": [19, 5], "uv_size": [0.5, 1]},
|
||||||
|
"west": {"uv": [6, 19], "uv_size": [0.5, 1]},
|
||||||
|
"up": {"uv": [13, 20], "uv_size": [0.5, 0.5]},
|
||||||
|
"down": {"uv": [20, 13.5], "uv_size": [0.5, -0.5]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [0.6, 0.05, -5.9],
|
||||||
|
"size": [0.55, 1, 0.4],
|
||||||
|
"pivot": [0, -0.95, 0],
|
||||||
|
"rotation": [0, 67.5, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [19, 2], "uv_size": [0.5, 1]},
|
||||||
|
"east": {"uv": [3, 19], "uv_size": [0.5, 1]},
|
||||||
|
"south": {"uv": [19, 3], "uv_size": [0.5, 1]},
|
||||||
|
"west": {"uv": [4, 19], "uv_size": [0.5, 1]},
|
||||||
|
"up": {"uv": [12, 20], "uv_size": [0.5, 0.5]},
|
||||||
|
"down": {"uv": [20, 12.5], "uv_size": [0.5, -0.5]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-1.15, 0.05, -5.9],
|
||||||
|
"size": [0.55, 1, 0.4],
|
||||||
|
"pivot": [0, -0.95, 0],
|
||||||
|
"rotation": [0, -67.5, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [19, 0], "uv_size": [0.5, 1]},
|
||||||
|
"east": {"uv": [1, 19], "uv_size": [0.5, 1]},
|
||||||
|
"south": {"uv": [19, 1], "uv_size": [0.5, 1]},
|
||||||
|
"west": {"uv": [2, 19], "uv_size": [0.5, 1]},
|
||||||
|
"up": {"uv": [11, 20], "uv_size": [0.5, 0.5]},
|
||||||
|
"down": {"uv": [20, 11.5], "uv_size": [0.5, -0.5]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-1.15, 0.05, 5.5],
|
||||||
|
"size": [0.55, 1, 0.5],
|
||||||
|
"pivot": [0, -1, 0],
|
||||||
|
"rotation": [0, 55, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [16, 18], "uv_size": [0.5, 1]},
|
||||||
|
"east": {"uv": [17, 18], "uv_size": [0.5, 1]},
|
||||||
|
"south": {"uv": [18, 18], "uv_size": [0.5, 1]},
|
||||||
|
"west": {"uv": [0, 19], "uv_size": [0.5, 1]},
|
||||||
|
"up": {"uv": [10, 20], "uv_size": [0.5, 0.5]},
|
||||||
|
"down": {"uv": [20, 10.5], "uv_size": [0.5, -0.5]}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "wing",
|
||||||
|
"parent": "0",
|
||||||
|
"pivot": [4.87422, 2.5, -2.96641],
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"origin": [4.77422, 2.4, -3.06641],
|
||||||
|
"size": [0.2, 0.7, 0.2],
|
||||||
|
"pivot": [4.87422, 2.25, -2.96641],
|
||||||
|
"rotation": [0, -32.5, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [21, 7], "uv_size": [0.25, 0.75]},
|
||||||
|
"east": {"uv": [8, 21], "uv_size": [0.25, 0.75]},
|
||||||
|
"south": {"uv": [21, 8], "uv_size": [0.25, 0.75]},
|
||||||
|
"west": {"uv": [9, 21], "uv_size": [0.25, 0.75]},
|
||||||
|
"up": {"uv": [4, 22], "uv_size": [0.25, 0.25]},
|
||||||
|
"down": {"uv": [22, 4.25], "uv_size": [0.25, -0.25]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [4.52422, 2.5, -3.31641],
|
||||||
|
"size": [0.7, 0.45, 0.7],
|
||||||
|
"pivot": [4.87422, 2.25, -2.96641],
|
||||||
|
"rotation": [0, -32.5, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [2, 20], "uv_size": [0.75, 0.5]},
|
||||||
|
"east": {"uv": [20, 2], "uv_size": [0.75, 0.5]},
|
||||||
|
"south": {"uv": [3, 20], "uv_size": [0.75, 0.5]},
|
||||||
|
"west": {"uv": [20, 3], "uv_size": [0.75, 0.5]},
|
||||||
|
"up": {"uv": [6, 18], "uv_size": [0.75, 0.75]},
|
||||||
|
"down": {"uv": [7, 18.75], "uv_size": [0.75, -0.75]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [4.62422, 2.6, -5.81641],
|
||||||
|
"size": [0.5, 0.25, 2.5],
|
||||||
|
"pivot": [4.87422, 2.725, -2.96641],
|
||||||
|
"rotation": [-13.70122, -29.76212, 26.15697],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [21, 18], "uv_size": [0.5, 0.25]},
|
||||||
|
"east": {"uv": [8, 17], "uv_size": [2.5, 0.25]},
|
||||||
|
"south": {"uv": [19, 21], "uv_size": [0.5, 0.25]},
|
||||||
|
"west": {"uv": [17, 8], "uv_size": [2.5, 0.25]},
|
||||||
|
"up": {"uv": [2, 14], "uv_size": [0.5, 2.5]},
|
||||||
|
"down": {"uv": [3, 16.5], "uv_size": [0.5, -2.5]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [4.62422, 2.6, -2.61641],
|
||||||
|
"size": [0.5, 0.25, 2.5],
|
||||||
|
"pivot": [4.87422, 2.725, -2.96641],
|
||||||
|
"rotation": [13.70122, -29.76212, -26.15697],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [21, 17], "uv_size": [0.5, 0.25]},
|
||||||
|
"east": {"uv": [17, 6], "uv_size": [2.5, 0.25]},
|
||||||
|
"south": {"uv": [18, 21], "uv_size": [0.5, 0.25]},
|
||||||
|
"west": {"uv": [17, 7], "uv_size": [2.5, 0.25]},
|
||||||
|
"up": {"uv": [13, 13], "uv_size": [0.5, 2.5]},
|
||||||
|
"down": {"uv": [14, 2.5], "uv_size": [0.5, -2.5]}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "wing2",
|
||||||
|
"parent": "0",
|
||||||
|
"pivot": [-4.87422, 2.5, -2.96641],
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"origin": [-4.97422, 2.4, -3.06641],
|
||||||
|
"size": [0.2, 0.7, 0.2],
|
||||||
|
"pivot": [-4.87422, 2.25, -2.96641],
|
||||||
|
"rotation": [0, 67.5, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [21, 9], "uv_size": [0.25, 0.75]},
|
||||||
|
"east": {"uv": [10, 21], "uv_size": [0.25, 0.75]},
|
||||||
|
"south": {"uv": [21, 10], "uv_size": [0.25, 0.75]},
|
||||||
|
"west": {"uv": [11, 21], "uv_size": [0.25, 0.75]},
|
||||||
|
"up": {"uv": [5, 22], "uv_size": [0.25, 0.25]},
|
||||||
|
"down": {"uv": [22, 5.25], "uv_size": [0.25, -0.25]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-5.22422, 2.5, -3.31641],
|
||||||
|
"size": [0.7, 0.45, 0.7],
|
||||||
|
"pivot": [-4.87422, 2.25, -2.96641],
|
||||||
|
"rotation": [0, 67.5, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [4, 20], "uv_size": [0.75, 0.5]},
|
||||||
|
"east": {"uv": [20, 4], "uv_size": [0.75, 0.5]},
|
||||||
|
"south": {"uv": [5, 20], "uv_size": [0.75, 0.5]},
|
||||||
|
"west": {"uv": [20, 5], "uv_size": [0.75, 0.5]},
|
||||||
|
"up": {"uv": [8, 18], "uv_size": [0.75, 0.75]},
|
||||||
|
"down": {"uv": [9, 18.75], "uv_size": [0.75, -0.75]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-5.12422, 2.6, -5.81641],
|
||||||
|
"size": [0.5, 0.25, 2.5],
|
||||||
|
"pivot": [-4.87422, 2.725, -2.96641],
|
||||||
|
"rotation": [-42.73421, 58.60029, -47.26579],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [21, 19], "uv_size": [0.5, 0.25]},
|
||||||
|
"east": {"uv": [17, 9], "uv_size": [2.5, 0.25]},
|
||||||
|
"south": {"uv": [20, 21], "uv_size": [0.5, 0.25]},
|
||||||
|
"west": {"uv": [17, 10], "uv_size": [2.5, 0.25]},
|
||||||
|
"up": {"uv": [4, 14], "uv_size": [0.5, 2.5]},
|
||||||
|
"down": {"uv": [5, 16.5], "uv_size": [0.5, -2.5]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-5.12422, 2.6, -2.61641],
|
||||||
|
"size": [0.5, 0.25, 2.5],
|
||||||
|
"pivot": [-4.87422, 2.725, -2.96641],
|
||||||
|
"rotation": [42.73421, 58.60029, 47.26579],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [21, 20], "uv_size": [0.5, 0.25]},
|
||||||
|
"east": {"uv": [11, 17], "uv_size": [2.5, 0.25]},
|
||||||
|
"south": {"uv": [21, 21], "uv_size": [0.5, 0.25]},
|
||||||
|
"west": {"uv": [17, 11], "uv_size": [2.5, 0.25]},
|
||||||
|
"up": {"uv": [6, 14], "uv_size": [0.5, 2.5]},
|
||||||
|
"down": {"uv": [7, 16.5], "uv_size": [0.5, -2.5]}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "wing3",
|
||||||
|
"parent": "0",
|
||||||
|
"pivot": [-4.10859, 2.5, 3.93984],
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"origin": [-4.20859, 2.4, 3.83984],
|
||||||
|
"size": [0.2, 0.7, 0.2],
|
||||||
|
"pivot": [-4.10859, 2.25, 3.93984],
|
||||||
|
"rotation": [0, -32.5, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [21, 11], "uv_size": [0.25, 0.75]},
|
||||||
|
"east": {"uv": [12, 21], "uv_size": [0.25, 0.75]},
|
||||||
|
"south": {"uv": [21, 12], "uv_size": [0.25, 0.75]},
|
||||||
|
"west": {"uv": [13, 21], "uv_size": [0.25, 0.75]},
|
||||||
|
"up": {"uv": [6, 22], "uv_size": [0.25, 0.25]},
|
||||||
|
"down": {"uv": [22, 6.25], "uv_size": [0.25, -0.25]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-4.45859, 2.5, 3.58984],
|
||||||
|
"size": [0.7, 0.45, 0.7],
|
||||||
|
"pivot": [-4.10859, 2.25, 3.93984],
|
||||||
|
"rotation": [0, -32.5, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [6, 20], "uv_size": [0.75, 0.5]},
|
||||||
|
"east": {"uv": [20, 6], "uv_size": [0.75, 0.5]},
|
||||||
|
"south": {"uv": [7, 20], "uv_size": [0.75, 0.5]},
|
||||||
|
"west": {"uv": [20, 7], "uv_size": [0.75, 0.5]},
|
||||||
|
"up": {"uv": [10, 18], "uv_size": [0.75, 0.75]},
|
||||||
|
"down": {"uv": [11, 18.75], "uv_size": [0.75, -0.75]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-4.35859, 2.6, 1.08984],
|
||||||
|
"size": [0.5, 0.25, 2.5],
|
||||||
|
"pivot": [-4.10859, 2.725, 3.93984],
|
||||||
|
"rotation": [13.70122, -29.76212, -26.15697],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [0, 22], "uv_size": [0.5, 0.25]},
|
||||||
|
"east": {"uv": [17, 12], "uv_size": [2.5, 0.25]},
|
||||||
|
"south": {"uv": [22, 0], "uv_size": [0.5, 0.25]},
|
||||||
|
"west": {"uv": [17, 13], "uv_size": [2.5, 0.25]},
|
||||||
|
"up": {"uv": [8, 14], "uv_size": [0.5, 2.5]},
|
||||||
|
"down": {"uv": [9, 16.5], "uv_size": [0.5, -2.5]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-4.35859, 2.6, 4.28984],
|
||||||
|
"size": [0.5, 0.25, 2.5],
|
||||||
|
"pivot": [-4.10859, 2.725, 3.93984],
|
||||||
|
"rotation": [-13.70122, -29.76212, 26.15697],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [1, 22], "uv_size": [0.5, 0.25]},
|
||||||
|
"east": {"uv": [14, 17], "uv_size": [2.5, 0.25]},
|
||||||
|
"south": {"uv": [22, 1], "uv_size": [0.5, 0.25]},
|
||||||
|
"west": {"uv": [17, 14], "uv_size": [2.5, 0.25]},
|
||||||
|
"up": {"uv": [10, 14], "uv_size": [0.5, 2.5]},
|
||||||
|
"down": {"uv": [11, 16.5], "uv_size": [0.5, -2.5]}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "wing4",
|
||||||
|
"parent": "0",
|
||||||
|
"pivot": [4.10859, 2.5, 3.93984],
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"origin": [4.00859, 2.4, 3.83984],
|
||||||
|
"size": [0.2, 0.7, 0.2],
|
||||||
|
"pivot": [4.10859, 2.25, 3.93984],
|
||||||
|
"rotation": [0, -37.5, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [21, 13], "uv_size": [0.25, 0.75]},
|
||||||
|
"east": {"uv": [14, 21], "uv_size": [0.25, 0.75]},
|
||||||
|
"south": {"uv": [21, 14], "uv_size": [0.25, 0.75]},
|
||||||
|
"west": {"uv": [15, 21], "uv_size": [0.25, 0.75]},
|
||||||
|
"up": {"uv": [7, 22], "uv_size": [0.25, 0.25]},
|
||||||
|
"down": {"uv": [22, 7.25], "uv_size": [0.25, -0.25]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [3.75859, 2.5, 3.58984],
|
||||||
|
"size": [0.7, 0.45, 0.7],
|
||||||
|
"pivot": [4.10859, 2.25, 3.93984],
|
||||||
|
"rotation": [0, -37.5, 0],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [8, 20], "uv_size": [0.75, 0.5]},
|
||||||
|
"east": {"uv": [20, 8], "uv_size": [0.75, 0.5]},
|
||||||
|
"south": {"uv": [9, 20], "uv_size": [0.75, 0.5]},
|
||||||
|
"west": {"uv": [20, 9], "uv_size": [0.75, 0.5]},
|
||||||
|
"up": {"uv": [12, 18], "uv_size": [0.75, 0.75]},
|
||||||
|
"down": {"uv": [13, 18.75], "uv_size": [0.75, -0.75]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [3.85859, 2.6, 1.08984],
|
||||||
|
"size": [0.5, 0.25, 2.5],
|
||||||
|
"pivot": [4.10859, 2.725, 3.93984],
|
||||||
|
"rotation": [-16.36452, -34.22348, 27.56928],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [2, 22], "uv_size": [0.5, 0.25]},
|
||||||
|
"east": {"uv": [17, 15], "uv_size": [2.5, 0.25]},
|
||||||
|
"south": {"uv": [22, 2], "uv_size": [0.5, 0.25]},
|
||||||
|
"west": {"uv": [17, 16], "uv_size": [2.5, 0.25]},
|
||||||
|
"up": {"uv": [14, 11], "uv_size": [0.5, 2.5]},
|
||||||
|
"down": {"uv": [12, 16.5], "uv_size": [0.5, -2.5]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [3.85859, 2.6, 4.28984],
|
||||||
|
"size": [0.5, 0.25, 2.5],
|
||||||
|
"pivot": [4.10859, 2.725, 3.93984],
|
||||||
|
"rotation": [16.36452, -34.22348, -27.56928],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [3, 22], "uv_size": [0.5, 0.25]},
|
||||||
|
"east": {"uv": [17, 17], "uv_size": [2.5, 0.25]},
|
||||||
|
"south": {"uv": [22, 3], "uv_size": [0.5, 0.25]},
|
||||||
|
"west": {"uv": [0, 18], "uv_size": [2.5, 0.25]},
|
||||||
|
"up": {"uv": [14, 14], "uv_size": [0.5, 2.5]},
|
||||||
|
"down": {"uv": [0, 17.5], "uv_size": [0.5, -2.5]}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -125,6 +125,7 @@
|
||||||
"item.target.dog_tag": "Dog Tag",
|
"item.target.dog_tag": "Dog Tag",
|
||||||
"curios.identifier.dog_tag": "Dog Tag",
|
"curios.identifier.dog_tag": "Dog Tag",
|
||||||
"item.target.shield_cell": "Cell",
|
"item.target.shield_cell": "Cell",
|
||||||
|
"item.target.mk42_spawn_egg": "MK-42 Spawn Egg",
|
||||||
|
|
||||||
"attribute.target.spread": "Spread",
|
"attribute.target.spread": "Spread",
|
||||||
|
|
||||||
|
|
|
@ -125,6 +125,7 @@
|
||||||
"item.target.dog_tag": "狗牌",
|
"item.target.dog_tag": "狗牌",
|
||||||
"curios.identifier.dog_tag": "狗牌",
|
"curios.identifier.dog_tag": "狗牌",
|
||||||
"item.target.shield_cell": "电池",
|
"item.target.shield_cell": "电池",
|
||||||
|
"item.target.mk42_spawn_egg": "MK-42刷怪蛋",
|
||||||
|
|
||||||
"attribute.target.spread": "散布",
|
"attribute.target.spread": "散布",
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "item/template_spawn_egg"
|
||||||
|
}
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "item/template_spawn_egg"
|
||||||
|
}
|
14
src/main/resources/assets/target/models/item/monitor.json
Normal file
14
src/main/resources/assets/target/models/item/monitor.json
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
"parent": "item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "target:item/monitor"
|
||||||
|
},
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"predicate": {
|
||||||
|
"target:monitor_linked": 1
|
||||||
|
},
|
||||||
|
"model": "target:item/monitor_linked"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "target:item/monitor_linked"
|
||||||
|
}
|
||||||
|
}
|
BIN
src/main/resources/assets/target/textures/entity/drone.png
Normal file
BIN
src/main/resources/assets/target/textures/entity/drone.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.1 KiB |
Binary file not shown.
After Width: | Height: | Size: 345 B |
BIN
src/main/resources/assets/target/textures/item/monitor.png
Normal file
BIN
src/main/resources/assets/target/textures/item/monitor.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 416 B |
Binary file not shown.
After Width: | Height: | Size: 437 B |
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"zoom_speed": 0.6,
|
"zoom_speed": 0.4,
|
||||||
"zoom": 6,
|
"zoom": 6,
|
||||||
"min_zoom": 1.3,
|
"min_zoom": 1.3,
|
||||||
"max_zoom": 6,
|
"max_zoom": 6,
|
||||||
|
@ -7,8 +7,8 @@
|
||||||
"dev": 6,
|
"dev": 6,
|
||||||
"recoil_x": 0.01,
|
"recoil_x": 0.01,
|
||||||
"recoil_y": 0.038,
|
"recoil_y": 0.038,
|
||||||
"damage": 140,
|
"damage": 100,
|
||||||
"headshot": 4,
|
"headshot": 3,
|
||||||
"velocity": 31,
|
"velocity": 31,
|
||||||
"projectile_amount": 1,
|
"projectile_amount": 1,
|
||||||
"mag": 3,
|
"mag": 3,
|
||||||
|
|
Loading…
Add table
Reference in a new issue