添加附魔
This commit is contained in:
parent
48c0d95a91
commit
990b882ed5
15 changed files with 566 additions and 22 deletions
|
@ -0,0 +1,28 @@
|
|||
package net.mcreator.target.client.layer;
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import net.mcreator.target.item.gun.Taser;
|
||||
import net.minecraft.client.renderer.LightTexture;
|
||||
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 TaserLayer extends GeoRenderLayer<Taser> {
|
||||
private static final ResourceLocation LAYER = new ResourceLocation("target", "textures/item/tasergun_e.png");
|
||||
|
||||
public TaserLayer(GeoRenderer<Taser> itemGeoRenderer) {
|
||||
super(itemGeoRenderer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void render(PoseStack poseStack, Taser animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int light, int packedOverlay) {
|
||||
|
||||
RenderType glowRenderType = RenderType.entityTranslucent(LAYER);
|
||||
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, 255, OverlayTexture.NO_OVERLAY, 1, 1, 1, 1);
|
||||
}
|
||||
}
|
|
@ -1,16 +1,19 @@
|
|||
package net.mcreator.target.client.model.item;
|
||||
|
||||
import net.mcreator.target.item.gun.Taser;
|
||||
import net.mcreator.target.network.TargetModVariables;
|
||||
import net.mcreator.target.tools.ItemNBTTool;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import software.bernie.geckolib.core.animatable.model.CoreGeoBone;
|
||||
import software.bernie.geckolib.core.animation.AnimationState;
|
||||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class TaserItemModel extends GeoModel<Taser> {
|
||||
|
||||
public static final String TAG_POWER = "Power";
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(Taser animatable) {
|
||||
return new ResourceLocation("target", "animations/taser.animation.json");
|
||||
|
@ -30,9 +33,25 @@ public class TaserItemModel extends GeoModel<Taser> {
|
|||
public void setCustomAnimations(Taser animatable, long instanceId, AnimationState animationState) {
|
||||
CoreGeoBone gun = getAnimationProcessor().getBone("bone");
|
||||
CoreGeoBone shen = getAnimationProcessor().getBone("shen");
|
||||
CoreGeoBone bar = getAnimationProcessor().getBone("bar");
|
||||
CoreGeoBone bar2 = getAnimationProcessor().getBone("bar2");
|
||||
CoreGeoBone screen = getAnimationProcessor().getBone("screen");
|
||||
CoreGeoBone screen2 = getAnimationProcessor().getBone("screen2");
|
||||
|
||||
Player player = Minecraft.getInstance().player;
|
||||
|
||||
ItemStack stack = player.getMainHandItem();
|
||||
bar.setScaleX((float) ItemNBTTool.getInt(stack, TAG_POWER, 1200) / 1200);
|
||||
bar2.setScaleX((float) ItemNBTTool.getInt(stack, TAG_POWER, 1200) / 1200);
|
||||
|
||||
if (ItemNBTTool.getInt(stack, TAG_POWER, 1200) >= 400) {
|
||||
screen.setHidden(false);
|
||||
screen2.setHidden(true);
|
||||
} else {
|
||||
screen.setHidden(true);
|
||||
screen2.setHidden(false);
|
||||
}
|
||||
|
||||
double fp = player.getPersistentData().getDouble("fire_pos");
|
||||
double fr = player.getPersistentData().getDouble("fire_rot");
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package net.mcreator.target.client.renderer.item;
|
||||
|
||||
import net.mcreator.target.client.layer.TaserLayer;
|
||||
import net.mcreator.target.item.gun.Taser;
|
||||
import net.mcreator.target.client.model.item.TaserItemModel;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
|
@ -8,6 +9,7 @@ import software.bernie.geckolib.renderer.GeoItemRenderer;
|
|||
public class TaserItemRenderer extends GeoItemRenderer<Taser> {
|
||||
public TaserItemRenderer() {
|
||||
super(new TaserItemModel());
|
||||
this.addRenderLayer(new TaserLayer(this));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
|
||||
package net.mcreator.target.enchantment;
|
||||
|
||||
import net.mcreator.target.init.TargetModItems;
|
||||
import net.mcreator.target.tools.EnchantmentCategoryTool;
|
||||
import net.minecraft.world.entity.EquipmentSlot;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.crafting.Ingredient;
|
||||
import net.minecraft.world.item.enchantment.Enchantment;
|
||||
|
||||
public class LongerWireEnchantment extends Enchantment {
|
||||
public LongerWireEnchantment(EquipmentSlot... slots) {
|
||||
super(Rarity.UNCOMMON, EnchantmentCategoryTool.TASER, slots);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMinCost(int pLevel) {
|
||||
return 8 + 6 * pLevel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxCost(int pLevel) {
|
||||
return super.getMaxCost(pLevel) + 20;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxLevel() {
|
||||
return 5;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canApplyAtEnchantingTable(ItemStack itemstack) {
|
||||
return Ingredient.of(new ItemStack(TargetModItems.TASER.get())).test(itemstack);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,35 @@
|
|||
|
||||
package net.mcreator.target.enchantment;
|
||||
|
||||
import net.mcreator.target.init.TargetModItems;
|
||||
import net.mcreator.target.tools.EnchantmentCategoryTool;
|
||||
import net.minecraft.world.entity.EquipmentSlot;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.crafting.Ingredient;
|
||||
import net.minecraft.world.item.enchantment.Enchantment;
|
||||
|
||||
public class SuperRechargeEnchantment extends Enchantment {
|
||||
public SuperRechargeEnchantment(EquipmentSlot... slots) {
|
||||
super(Rarity.UNCOMMON, EnchantmentCategoryTool.TASER, slots);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMinCost(int pLevel) {
|
||||
return 10 + 5 * pLevel;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxCost(int pLevel) {
|
||||
return super.getMaxCost(pLevel) + 25;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxLevel() {
|
||||
return 3;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canApplyAtEnchantingTable(ItemStack itemstack) {
|
||||
return Ingredient.of(new ItemStack(TargetModItems.TASER.get())).test(itemstack);
|
||||
}
|
||||
}
|
|
@ -30,11 +30,7 @@ import java.util.Optional;
|
|||
public class TaserBulletProjectileEntity extends ThrowableItemProjectile {
|
||||
private float damage = 1f;
|
||||
private int volt = 0;
|
||||
|
||||
public TaserBulletProjectileEntity damage(float damage) {
|
||||
this.damage = damage;
|
||||
return this;
|
||||
}
|
||||
private int wire_length = 0;
|
||||
|
||||
public TaserBulletProjectileEntity(EntityType<? extends TaserBulletProjectileEntity> type, Level world) {
|
||||
super(type, world);
|
||||
|
@ -44,10 +40,11 @@ public class TaserBulletProjectileEntity extends ThrowableItemProjectile {
|
|||
super(type, entity, world);
|
||||
}
|
||||
|
||||
public TaserBulletProjectileEntity(LivingEntity entity, Level level, float damage, int volt) {
|
||||
public TaserBulletProjectileEntity(LivingEntity entity, Level level, float damage, int volt, int wire_length) {
|
||||
super(TargetModEntities.TASER_BULLET_PROJECTILE.get(), entity, level);
|
||||
this.damage = damage;
|
||||
this.volt = volt;
|
||||
this.wire_length = wire_length;
|
||||
}
|
||||
|
||||
public TaserBulletProjectileEntity(PlayMessages.SpawnEntity packet, Level level) {
|
||||
|
@ -130,7 +127,7 @@ public class TaserBulletProjectileEntity extends ThrowableItemProjectile {
|
|||
public void tick() {
|
||||
super.tick();
|
||||
|
||||
if (this.tickCount == 5) {
|
||||
if (this.tickCount == 5 + wire_length) {
|
||||
this.setDeltaMovement(new Vec3(0, 0, 0));
|
||||
}
|
||||
|
||||
|
@ -142,8 +139,7 @@ public class TaserBulletProjectileEntity extends ThrowableItemProjectile {
|
|||
@Override
|
||||
protected void onHitBlock(BlockHitResult result) {
|
||||
if (!level().isClientSide) {
|
||||
this.setDeltaMovement(this.getDeltaMovement().multiply(0, 0, 0));
|
||||
this.setNoGravity(true);
|
||||
this.setDeltaMovement(new Vec3(0, 0, 0));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
|
||||
package net.mcreator.target.init;
|
||||
|
||||
import net.mcreator.target.enchantment.LongerWireEnchantment;
|
||||
import net.minecraftforge.registries.RegistryObject;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
import net.minecraftforge.registries.DeferredRegister;
|
||||
|
@ -8,9 +9,12 @@ import net.minecraftforge.registries.DeferredRegister;
|
|||
import net.minecraft.world.item.enchantment.Enchantment;
|
||||
|
||||
import net.mcreator.target.enchantment.VoltOverloadEnchantment;
|
||||
import net.mcreator.target.enchantment.SuperRechargeEnchantment;
|
||||
import net.mcreator.target.TargetMod;
|
||||
|
||||
public class TargetModEnchantments {
|
||||
public static final DeferredRegister<Enchantment> REGISTRY = DeferredRegister.create(ForgeRegistries.ENCHANTMENTS, TargetMod.MODID);
|
||||
public static final RegistryObject<Enchantment> VOLT_OVERLOAD = REGISTRY.register("volt_overload", () -> new VoltOverloadEnchantment());
|
||||
public static final RegistryObject<Enchantment> SUPER_RECHARGE = REGISTRY.register("super_recharge", () -> new SuperRechargeEnchantment());
|
||||
public static final RegistryObject<Enchantment> LONGER_WIRE = REGISTRY.register("longer_wire", () -> new LongerWireEnchantment());
|
||||
}
|
||||
|
|
|
@ -4,13 +4,11 @@ import com.google.common.collect.HashMultimap;
|
|||
import com.google.common.collect.Multimap;
|
||||
import net.mcreator.target.TargetMod;
|
||||
import net.mcreator.target.client.renderer.item.TaserItemRenderer;
|
||||
import net.mcreator.target.init.TargetModEnchantments;
|
||||
import net.mcreator.target.init.TargetModItems;
|
||||
import net.mcreator.target.init.TargetModSounds;
|
||||
import net.mcreator.target.item.AnimatedItem;
|
||||
import net.mcreator.target.tools.EnchantmentCategoryTool;
|
||||
import net.mcreator.target.tools.GunsTool;
|
||||
import net.mcreator.target.tools.SoundTool;
|
||||
import net.mcreator.target.tools.TooltipTool;
|
||||
import net.mcreator.target.tools.*;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.model.HumanoidModel;
|
||||
import net.minecraft.client.player.LocalPlayer;
|
||||
|
@ -18,6 +16,7 @@ import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
|
|||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.sounds.SoundEvent;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.EquipmentSlot;
|
||||
|
@ -28,6 +27,7 @@ import net.minecraft.world.entity.ai.attributes.Attributes;
|
|||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.item.*;
|
||||
import net.minecraft.world.item.enchantment.Enchantment;
|
||||
import net.minecraft.world.item.enchantment.EnchantmentHelper;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraftforge.client.extensions.common.IClientItemExtensions;
|
||||
import software.bernie.geckolib.animatable.GeoItem;
|
||||
|
@ -48,11 +48,27 @@ public class Taser extends GunItem implements GeoItem, AnimatedItem {
|
|||
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
|
||||
public String animationProcedure = "empty";
|
||||
public static ItemDisplayContext transformType;
|
||||
public static final String TAG_POWER = "Power";
|
||||
public static final int MAX_POWER_SIZE = 1200;
|
||||
|
||||
public Taser() {
|
||||
super(new Item.Properties().stacksTo(1).rarity(Rarity.COMMON));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isBarVisible(ItemStack pStack) {
|
||||
return ItemNBTTool.getInt(pStack, TAG_POWER, 1200) != 1200;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getBarWidth(ItemStack pStack) {
|
||||
return Math.round((float) ItemNBTTool.getInt(pStack, TAG_POWER, 1200) * 13.0F / 1200F);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getBarColor(ItemStack pStack) {
|
||||
return 0xFFFF00;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<SoundEvent> getReloadSound() {
|
||||
|
@ -217,6 +233,11 @@ public class Taser extends GunItem implements GeoItem, AnimatedItem {
|
|||
}
|
||||
}
|
||||
}
|
||||
int charge_speed = EnchantmentHelper.getTagEnchantmentLevel(TargetModEnchantments.SUPER_RECHARGE.get(), stack);
|
||||
|
||||
if (ItemNBTTool.getInt(stack, TAG_POWER, 1200) < 1200) {
|
||||
ItemNBTTool.setInt(stack, TAG_POWER, Mth.clamp(ItemNBTTool.getInt(stack, TAG_POWER, 1200) + 1 + charge_speed,0,1200));
|
||||
}
|
||||
}
|
||||
|
||||
protected static boolean check(ItemStack stack) {
|
||||
|
@ -246,7 +267,7 @@ public class Taser extends GunItem implements GeoItem, AnimatedItem {
|
|||
|
||||
@Override
|
||||
public int getEnchantmentValue(ItemStack stack) {
|
||||
return 15;
|
||||
return 10;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -6,6 +6,7 @@ import net.mcreator.target.init.TargetModEnchantments;
|
|||
import net.mcreator.target.init.TargetModItems;
|
||||
import net.mcreator.target.init.TargetModSounds;
|
||||
import net.mcreator.target.network.TargetModVariables;
|
||||
import net.mcreator.target.tools.ItemNBTTool;
|
||||
import net.mcreator.target.tools.SoundTool;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.sounds.SoundSource;
|
||||
|
@ -18,13 +19,14 @@ import net.minecraft.world.level.Level;
|
|||
|
||||
// TODO 内联这个类
|
||||
public class TaserfireProcedure {
|
||||
public static final String TAG_POWER = "Power";
|
||||
public static void execute(Entity entity) {
|
||||
if (entity == null) return;
|
||||
if (entity instanceof Player player && !player.isSpectator()) {
|
||||
ItemStack stack = player.getMainHandItem();
|
||||
if (stack.getItem() == TargetModItems.TASER.get() && !stack.getOrCreateTag().getBoolean("reloading")) {
|
||||
Player _plrCldCheck4 = (Player) entity;
|
||||
if (!_plrCldCheck4.getCooldowns().isOnCooldown(stack.getItem()) && stack.getOrCreateTag().getInt("ammo") > 0) {
|
||||
if (!_plrCldCheck4.getCooldowns().isOnCooldown(stack.getItem()) && stack.getOrCreateTag().getInt("ammo") > 0 && ItemNBTTool.getInt(stack, TAG_POWER, 1200) > 400) {
|
||||
|
||||
entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
|
||||
capability.recoilHorizon = Math.random() < 0.5 ? -1 : 1;
|
||||
|
@ -40,10 +42,11 @@ public class TaserfireProcedure {
|
|||
}
|
||||
|
||||
int volt = EnchantmentHelper.getTagEnchantmentLevel(TargetModEnchantments.VOLT_OVERLOAD.get(), stack);
|
||||
int wire_length = EnchantmentHelper.getTagEnchantmentLevel(TargetModEnchantments.LONGER_WIRE.get(), stack);
|
||||
|
||||
Level level = entity.level();
|
||||
if (!level.isClientSide()) {
|
||||
TaserBulletProjectileEntity taserBulletProjectile = new TaserBulletProjectileEntity(player, level, (float) stack.getOrCreateTag().getDouble("damage"), volt);
|
||||
TaserBulletProjectileEntity taserBulletProjectile = new TaserBulletProjectileEntity(player, level, (float) stack.getOrCreateTag().getDouble("damage"), volt, wire_length);
|
||||
|
||||
taserBulletProjectile.setPos(entity.getX(), entity.getEyeY() - 0.1, entity.getZ());
|
||||
taserBulletProjectile.shoot(entity.getLookAngle().x, entity.getLookAngle().y, entity.getLookAngle().z, (float) stack.getOrCreateTag().getDouble("velocity"),
|
||||
|
@ -52,6 +55,7 @@ public class TaserfireProcedure {
|
|||
}
|
||||
stack.getOrCreateTag().putInt("fire_animation", 4);
|
||||
stack.getOrCreateTag().putInt("ammo", (stack.getOrCreateTag().getInt("ammo") - 1));
|
||||
ItemNBTTool.setInt(stack, TAG_POWER, ItemNBTTool.getInt(stack, TAG_POWER, 1200) - 400);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -209,6 +209,398 @@
|
|||
"parent": "0",
|
||||
"pivot": [-0.00238, 0.35352, 0.03753]
|
||||
},
|
||||
{
|
||||
"name": "screen",
|
||||
"parent": "gun",
|
||||
"pivot": [-0.01562, 0, 0],
|
||||
"rotation": [22.5, 0, 0]
|
||||
},
|
||||
{
|
||||
"name": "bar",
|
||||
"parent": "screen",
|
||||
"pivot": [0.41875, 1.16114, 3.80684],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-0.43432, -0.28538, 3.21677],
|
||||
"size": [0.8687, 0.5, 0.00781],
|
||||
"uv": {
|
||||
"north": {"uv": [1.25, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [1.25, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [1.25, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [1.25, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [2.25, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [2.25, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cover",
|
||||
"parent": "screen",
|
||||
"pivot": [-0.01562, 1.11614, 2.90465],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-0.48437, 0.18212, 3.22067],
|
||||
"size": [0.96875, 0.1325, 0.00781],
|
||||
"uv": {
|
||||
"north": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [1, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [1, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.58007, 0.01476, 3.22067],
|
||||
"size": [0.92969, 0.14031, 0.00781],
|
||||
"pivot": [-0.09569, -0.25024, 3.22849],
|
||||
"rotation": [0, 0, 22.5],
|
||||
"uv": {
|
||||
"north": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [1, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [1, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.24804, 0.15507, 3.22067],
|
||||
"size": [0.54297, 0.13672, 0.00781],
|
||||
"pivot": [-0.09569, -0.25024, 3.22849],
|
||||
"rotation": [0, 0, 22.5],
|
||||
"uv": {
|
||||
"north": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [1, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [1, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [0.07618, 0.29179, 3.22067],
|
||||
"size": [0.17188, 0.05859, 0.00781],
|
||||
"pivot": [-0.09569, -0.25024, 3.22849],
|
||||
"rotation": [0, 0, 22.5],
|
||||
"uv": {
|
||||
"north": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [1, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [1, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.26523, -0.50562, 3.22067],
|
||||
"size": [0.46797, 0.07, 0.00781],
|
||||
"pivot": [0, -0.02062, 3.22458],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"north": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [1, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [1, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.26523, -0.35562, 3.22067],
|
||||
"size": [0.46797, 0.07, 0.00781],
|
||||
"pivot": [0, -0.02062, 3.22458],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"north": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [1, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [1, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.26523, -0.20562, 3.22067],
|
||||
"size": [0.46797, 0.07, 0.00781],
|
||||
"pivot": [0, -0.02062, 3.22458],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"north": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [1, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [1, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.26523, -0.05562, 3.22067],
|
||||
"size": [0.46797, 0.07, 0.00781],
|
||||
"pivot": [0, -0.02062, 3.22458],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"north": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [1, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [1, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.26523, 0.09438, 3.22067],
|
||||
"size": [0.46797, 0.07, 0.00781],
|
||||
"pivot": [0, -0.02062, 3.22458],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"north": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [1, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [1, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.26523, 0.24438, 3.22067],
|
||||
"size": [0.46797, 0.07, 0.00781],
|
||||
"pivot": [0, -0.02062, 3.22458],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"north": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [1, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [1, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.26523, 0.39438, 3.22067],
|
||||
"size": [0.46797, 0.07, 0.00781],
|
||||
"pivot": [0, -0.02062, 3.22458],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"north": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [1, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [1, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.48437, -0.35538, 3.22067],
|
||||
"size": [0.96875, 0.07, 0.00781],
|
||||
"uv": {
|
||||
"north": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [0, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [1, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [1, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "screen2",
|
||||
"parent": "gun",
|
||||
"pivot": [-0.01562, 0, 0],
|
||||
"rotation": [22.5, 0, 0]
|
||||
},
|
||||
{
|
||||
"name": "bar2",
|
||||
"parent": "screen2",
|
||||
"pivot": [0.41875, 1.16114, 3.80684],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-0.43432, -0.28538, 3.21677],
|
||||
"size": [0.8687, 0.5, 0.00781],
|
||||
"uv": {
|
||||
"north": {"uv": [3.75, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [3.75, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [3.75, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [3.75, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [4.75, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [4.75, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "cover2",
|
||||
"parent": "screen2",
|
||||
"pivot": [-0.01562, 1.11614, 2.90465],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-0.48437, 0.18212, 3.22067],
|
||||
"size": [0.96875, 0.1325, 0.00781],
|
||||
"uv": {
|
||||
"north": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [3.5, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [3.5, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.58007, 0.01476, 3.22067],
|
||||
"size": [0.92969, 0.14031, 0.00781],
|
||||
"pivot": [-0.09569, -0.25024, 3.22849],
|
||||
"rotation": [0, 0, 22.5],
|
||||
"uv": {
|
||||
"north": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [3.5, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [3.5, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.24804, 0.15507, 3.22067],
|
||||
"size": [0.54297, 0.13672, 0.00781],
|
||||
"pivot": [-0.09569, -0.25024, 3.22849],
|
||||
"rotation": [0, 0, 22.5],
|
||||
"uv": {
|
||||
"north": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [3.5, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [3.5, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [0.07618, 0.29179, 3.22067],
|
||||
"size": [0.17188, 0.05859, 0.00781],
|
||||
"pivot": [-0.09569, -0.25024, 3.22849],
|
||||
"rotation": [0, 0, 22.5],
|
||||
"uv": {
|
||||
"north": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [3.5, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [3.5, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.26523, -0.50562, 3.22067],
|
||||
"size": [0.46797, 0.07, 0.00781],
|
||||
"pivot": [0, -0.02062, 3.22458],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"north": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [3.5, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [3.5, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.26523, -0.35562, 3.22067],
|
||||
"size": [0.46797, 0.07, 0.00781],
|
||||
"pivot": [0, -0.02062, 3.22458],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"north": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [3.5, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [3.5, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.26523, -0.20562, 3.22067],
|
||||
"size": [0.46797, 0.07, 0.00781],
|
||||
"pivot": [0, -0.02062, 3.22458],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"north": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [3.5, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [3.5, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.26523, -0.05562, 3.22067],
|
||||
"size": [0.46797, 0.07, 0.00781],
|
||||
"pivot": [0, -0.02062, 3.22458],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"north": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [3.5, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [3.5, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.26523, 0.09438, 3.22067],
|
||||
"size": [0.46797, 0.07, 0.00781],
|
||||
"pivot": [0, -0.02062, 3.22458],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"north": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [3.5, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [3.5, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.26523, 0.24438, 3.22067],
|
||||
"size": [0.46797, 0.07, 0.00781],
|
||||
"pivot": [0, -0.02062, 3.22458],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"north": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [3.5, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [3.5, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.26523, 0.39438, 3.22067],
|
||||
"size": [0.46797, 0.07, 0.00781],
|
||||
"pivot": [0, -0.02062, 3.22458],
|
||||
"rotation": [0, 0, -90],
|
||||
"uv": {
|
||||
"north": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [3.5, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [3.5, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.48437, -0.35538, 3.22067],
|
||||
"size": [0.96875, 0.07, 0.00781],
|
||||
"uv": {
|
||||
"north": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"south": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [2.5, 23.25], "uv_size": [1, 0.75]},
|
||||
"up": {"uv": [3.5, 24], "uv_size": [-1, -0.75]},
|
||||
"down": {"uv": [3.5, 24], "uv_size": [-1, -0.75]}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "bone2",
|
||||
"parent": "gun",
|
||||
|
@ -391,9 +783,9 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.5, 0.84114, 2.60465],
|
||||
"size": [1, 0.67, 0.41],
|
||||
"pivot": [0, 1.11614, 2.90465],
|
||||
"origin": [-0.52344, 0.76912, 2.58967],
|
||||
"size": [1.04688, 0.72859, 0.41],
|
||||
"pivot": [0, 1.13341, 2.79467],
|
||||
"rotation": [22.5, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [14, 15], "uv_size": [1, 0.75]},
|
||||
|
|
|
@ -203,8 +203,12 @@
|
|||
"item.minecraft.splash_potion.effect.target_long_shock": "Splash Potion of Shock",
|
||||
"item.minecraft.lingering_potion.effect.target_long_shock": "Lingering Potion of Shock",
|
||||
|
||||
"enchantment.target.volt_overload": "Volt Overload ",
|
||||
"enchantment.target.volt_overload": "Volt Overload",
|
||||
"enchantment.target.volt_overload.desc": "Increases the shock damage of TaserGun",
|
||||
"enchantment.target.super_recharge": "Super Recharge",
|
||||
"enchantment.target.super_recharge.desc": "Increases the recharge speed of TaserGun",
|
||||
"enchantment.target.longer_wire": "Longer Wire",
|
||||
"enchantment.target.longer_wire.desc": "Increases the range of TaserGun",
|
||||
|
||||
"des.target.sensitivity": "Current Sensitivity of This Gun: %1$s",
|
||||
|
||||
|
|
|
@ -205,6 +205,10 @@
|
|||
|
||||
"enchantment.target.volt_overload": "电压过载",
|
||||
"enchantment.target.volt_overload.desc": "增加泰瑟枪电击的伤害",
|
||||
"enchantment.target.super_recharge": "超级快充",
|
||||
"enchantment.target.super_recharge.desc": "增加泰瑟枪充能的速度",
|
||||
"enchantment.target.longer_wire": "延长导线",
|
||||
"enchantment.target.longer_wire.desc": "增加泰瑟枪的射程",
|
||||
|
||||
"des.target.sensitivity": "当前枪械的灵敏度为:%1$s",
|
||||
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
BIN
src/main/resources/assets/target/textures/item/tasergun_e.png
Normal file
BIN
src/main/resources/assets/target/textures/item/tasergun_e.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 199 B |
|
@ -4,7 +4,7 @@
|
|||
"recoil_y": 0.002,
|
||||
"zoom_speed": 2,
|
||||
"zoom": 1.25,
|
||||
"damage": 5,
|
||||
"damage": 7,
|
||||
"velocity": 3,
|
||||
"mag": 1,
|
||||
"weight": 0,
|
||||
|
|
Loading…
Add table
Reference in a new issue