mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-02-24 15:00:48 +00:00
Merge pull request #2440 from MellowArpeggiation/drilldo
This was an animated terra drill PR but the drill is getting axed so this is now just a bugfix and cleanup PR yay
This commit is contained in:
commit
94e3df1751
@ -256,11 +256,11 @@ public class EntityMappings {
|
||||
|
||||
int id = 0;
|
||||
for(Quartet<Class<? extends Entity>, String, Integer, Boolean> entry : entityMappings) {
|
||||
EntityRegistry.registerModEntity(entry.getW(), entry.getX(), id++, MainRegistry.instance, entry.getY(), 1, entry.getZ());
|
||||
ModEntityList.registerEntity(entry.getW(), entry.getX(), id++, MainRegistry.instance, entry.getY(), 1, entry.getZ());
|
||||
}
|
||||
|
||||
for(Quartet<Class<? extends Entity>, String, Integer, Integer> entry : mobMappings) {
|
||||
EntityRegistry.registerGlobalEntityID(entry.getW(), entry.getX(), EntityRegistry.findGlobalUniqueEntityId(), entry.getY(), entry.getZ());
|
||||
ModEntityList.registerEntity(entry.getW(), entry.getX(), id++, MainRegistry.instance, entry.getY(), entry.getZ());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
149
src/main/java/com/hbm/entity/ModEntityList.java
Normal file
149
src/main/java/com/hbm/entity/ModEntityList.java
Normal file
@ -0,0 +1,149 @@
|
||||
package com.hbm.entity;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.hbm.lib.RefStrings;
|
||||
|
||||
import cpw.mods.fml.common.registry.EntityRegistry;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityList;
|
||||
import net.minecraft.entity.EntityList.EntityEggInfo;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class ModEntityList {
|
||||
|
||||
private static EntityData[] array = new EntityData[0];
|
||||
private static final Map<Integer, Class<? extends Entity>> map = new HashMap<Integer, Class<? extends Entity>>();
|
||||
|
||||
public static List<Integer> eggIdList = new ArrayList<Integer>();
|
||||
public static Map<Class<? extends Entity>, Integer> eggIdMap = new HashMap<Class<? extends Entity>, Integer>();
|
||||
|
||||
public static void registerEntity(Class<? extends Entity> entityClass, String entityName, int id, Object mod) {
|
||||
registerEntity(entityClass, entityName, id, mod, 80, 3, true, -1, -1, false);
|
||||
}
|
||||
|
||||
public static void registerEntity(Class<? extends Entity> entityClass, String entityName, int id, Object mod, int eggColor1, int eggColor2) {
|
||||
registerEntity(entityClass, entityName, id, mod, 80, 3, true, eggColor1, eggColor2, true);
|
||||
}
|
||||
|
||||
public static void registerEntity(Class<? extends Entity> entityClass, String entityName, int id, Object mod, int trackingRange, int updateFrequency, boolean sendsVelocityUpdates) {
|
||||
registerEntity(entityClass, entityName, id, mod, trackingRange, updateFrequency, sendsVelocityUpdates, -1, -1, false);
|
||||
}
|
||||
|
||||
public static void registerEntity(Class<? extends Entity> entityClass, String entityName, int id, Object mod, int trackingRange, int updateFrequency, boolean sendsVelocityUpdates, int eggColor1, int eggColor2) {
|
||||
registerEntity(entityClass, entityName, id, mod, trackingRange, updateFrequency, sendsVelocityUpdates, eggColor1, eggColor2, true);
|
||||
}
|
||||
|
||||
private static void registerEntity(Class<? extends Entity> entityClass, String entityName, int id, Object mod, int trackingRange, int updateFrequency, boolean sendsVelocityUpdates, int eggColor1, int eggColor2, boolean hasEgg) {
|
||||
EntityRegistry.registerModEntity(entityClass, entityName, id, mod, trackingRange, updateFrequency, sendsVelocityUpdates);
|
||||
|
||||
if(id >= array.length) {
|
||||
EntityData[] newArray = new EntityData[id + 5];
|
||||
System.arraycopy(array, 0, newArray, 0, array.length);
|
||||
array = newArray;
|
||||
}
|
||||
|
||||
if(array[id] != null)
|
||||
throw new IllegalArgumentException("ID " + id + " is already being used! Please report this error!");
|
||||
|
||||
array[id] = new EntityData(entityName, id, eggColor1, eggColor2, hasEgg);
|
||||
map.put(id, entityClass);
|
||||
|
||||
if(eggColor1 != -1)
|
||||
registerEntityEgg(entityClass, eggColor1, eggColor2);
|
||||
}
|
||||
|
||||
public static String getName(int id) {
|
||||
EntityData data = getData(id);
|
||||
if(data == null)
|
||||
return null;
|
||||
|
||||
return RefStrings.MODID + "." + data.name;
|
||||
}
|
||||
|
||||
public static EntityData getData(int id) {
|
||||
if(id >= array.length)
|
||||
return null;
|
||||
|
||||
return array[id];
|
||||
}
|
||||
|
||||
public static boolean hasEntitiesWithEggs() {
|
||||
for(EntityData data : array) {
|
||||
if(data != null && data.hasEgg) return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public static Entity createEntityByID(int id, World world) {
|
||||
EntityData data = getData(id);
|
||||
|
||||
if(data == null || !data.hasEgg)
|
||||
return null;
|
||||
|
||||
try {
|
||||
Class<? extends Entity> cls = map.get(id);
|
||||
|
||||
if(cls != null)
|
||||
return cls.getConstructor(World.class).newInstance(world);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public static EntityData[] getDatasWithEggs() {
|
||||
List<EntityData> list = new LinkedList<EntityData>();
|
||||
for(Integer id : map.keySet()) {
|
||||
EntityData data = getData(id);
|
||||
if(data != null && data.hasEgg)
|
||||
list.add(data);
|
||||
}
|
||||
return list.toArray(new EntityData[list.size()]);
|
||||
}
|
||||
|
||||
public static int eggIDCounter = 499;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static void registerEntityEgg(Class<? extends Entity> entity, int primaryColor, int secondaryColor) {
|
||||
int id = getUniqueEntityEggId();
|
||||
|
||||
EntityList.IDtoClassMapping.put(id, entity);
|
||||
EntityList.entityEggs.put(id, new EntityEggInfo(id, primaryColor, secondaryColor));
|
||||
eggIdMap.put(entity, id);
|
||||
}
|
||||
|
||||
public static ItemStack getEggFromEntity(Entity entity) {
|
||||
return new ItemStack(Items.spawn_egg, 1, eggIdMap.get(entity.getClass()));
|
||||
}
|
||||
|
||||
public static int getUniqueEntityEggId() {
|
||||
while(EntityList.getClassFromID(++eggIDCounter) != null) {}
|
||||
eggIdList.add(eggIDCounter);
|
||||
return eggIDCounter;
|
||||
}
|
||||
|
||||
public static class EntityData {
|
||||
|
||||
public final String name;
|
||||
public final int id, eggColor1, eggColor2;
|
||||
public final boolean hasEgg;
|
||||
|
||||
EntityData(String name, int id, int eggColor1, int eggColor2, boolean hasEgg) {
|
||||
this.name = name;
|
||||
this.id = id;
|
||||
this.eggColor1 = eggColor1;
|
||||
this.eggColor2 = eggColor2;
|
||||
this.hasEgg = hasEgg;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -7,8 +7,8 @@ import java.util.function.Consumer;
|
||||
|
||||
import com.hbm.items.weapon.sedna.Crosshair;
|
||||
import com.hbm.lib.HbmCollection.EnumGunManufacturer;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
@ -37,7 +37,7 @@ public class GunConfiguration implements Cloneable {
|
||||
public int durability;
|
||||
|
||||
//animations!
|
||||
public HashMap<AnimType, BusAnimation> animations = new HashMap<AnimType, BusAnimation>();
|
||||
public HashMap<GunAnimation, BusAnimation> animations = new HashMap<GunAnimation, BusAnimation>();
|
||||
//lazy-ish loading for animations, required for loading animations from ResourceManager, since that occurs after we've initialised the guns
|
||||
public Consumer<Void> loadAnimations;
|
||||
public boolean animationsLoaded = false;
|
||||
|
||||
@ -3,10 +3,15 @@ package com.hbm.handler.nei;
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.inventory.recipes.CompressorRecipes;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class CompressorHandler extends NEIUniversalHandler {
|
||||
|
||||
public CompressorHandler() {
|
||||
super(ModBlocks.machine_compressor.getLocalizedName(), ModBlocks.machine_compressor, CompressorRecipes.getRecipes());
|
||||
super(ModBlocks.machine_compressor.getLocalizedName(), new ItemStack[] {
|
||||
new ItemStack(ModBlocks.machine_compressor),
|
||||
new ItemStack(ModBlocks.machine_compressor_compact),
|
||||
}, CompressorRecipes.getRecipes());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@ -1,14 +1,29 @@
|
||||
package com.hbm.items;
|
||||
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.packet.toclient.HbmAnimationPacket;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
||||
public interface IAnimatedItem {
|
||||
public interface IAnimatedItem<T extends Enum<?>> {
|
||||
|
||||
/** Fetch the animation for a given type */
|
||||
public BusAnimation getAnimation(T type, ItemStack stack);
|
||||
|
||||
/** Should a player holding this item aim it like a gun/bow? */
|
||||
public boolean shouldPlayerModelAim(ItemStack stack);
|
||||
|
||||
// Runtime erasure means we have to explicitly give the class a second time :(
|
||||
public Class<T> getEnum();
|
||||
|
||||
// Run a specified animation
|
||||
public default void playAnimation(EntityPlayer player, T type) {
|
||||
if(player instanceof EntityPlayerMP) {
|
||||
PacketDispatcher.wrapper.sendTo(new HbmAnimationPacket(type.ordinal(), 0, 0), (EntityPlayerMP) player);
|
||||
}
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public BusAnimation getAnimation(NBTTagCompound data, ItemStack stack);
|
||||
}
|
||||
|
||||
@ -7,6 +7,7 @@ import com.hbm.items.ModItems;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.packet.toclient.AuxParticlePacketNT;
|
||||
import com.hbm.render.anim.AnimationEnums.ToolAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.util.EntityDamageUtil;
|
||||
@ -14,12 +15,9 @@ import com.hbm.util.EntityDamageUtil;
|
||||
import api.hbm.block.IToolable;
|
||||
import api.hbm.block.IToolable.ToolType;
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
@ -27,7 +25,7 @@ import net.minecraft.util.DamageSource;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
public class ItemBoltgun extends Item implements IAnimatedItem {
|
||||
public class ItemBoltgun extends Item implements IAnimatedItem<ToolAnimation> {
|
||||
|
||||
public ItemBoltgun() {
|
||||
this.setMaxStackSize(1);
|
||||
@ -73,13 +71,10 @@ public class ItemBoltgun extends Item implements IAnimatedItem {
|
||||
data.setFloat("size", 1F);
|
||||
data.setByte("count", (byte)1);
|
||||
PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, entity.posX, entity.posY + entity.height / 2 - entity.yOffset, entity.posZ), new TargetPoint(world.provider.dimensionId, entity.posX, entity.posY, entity.posZ, 50));
|
||||
} else {
|
||||
// doing this on the client outright removes the packet delay and makes the animation silky-smooth
|
||||
NBTTagCompound d0 = new NBTTagCompound();
|
||||
d0.setString("type", "anim");
|
||||
d0.setString("mode", "generic");
|
||||
MainRegistry.proxy.effectNT(d0);
|
||||
|
||||
playAnimation(player, ToolAnimation.SWING);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -110,10 +105,7 @@ public class ItemBoltgun extends Item implements IAnimatedItem {
|
||||
data.setByte("count", (byte)1);
|
||||
PacketThreading.createAllAroundThreadedPacket(new AuxParticlePacketNT(data, x + fX + dir.offsetX * off, y + fY + dir.offsetY * off, z + fZ + dir.offsetZ * off), new TargetPoint(world.provider.dimensionId, x, y, z, 50));
|
||||
|
||||
NBTTagCompound d0 = new NBTTagCompound();
|
||||
d0.setString("type", "anim");
|
||||
d0.setString("mode", "generic");
|
||||
PacketThreading.createSendToThreadedPacket(new AuxParticlePacketNT(d0, 0, 0, 0), (EntityPlayerMP) player);
|
||||
playAnimation(player, ToolAnimation.SWING);
|
||||
}
|
||||
|
||||
return false;
|
||||
@ -123,11 +115,21 @@ public class ItemBoltgun extends Item implements IAnimatedItem {
|
||||
}
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public BusAnimation getAnimation(NBTTagCompound data, ItemStack stack) {
|
||||
public Class<ToolAnimation> getEnum() {
|
||||
return ToolAnimation.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BusAnimation getAnimation(ToolAnimation type, ItemStack stack) {
|
||||
return new BusAnimation()
|
||||
.addBus("RECOIL", new BusAnimationSequence()
|
||||
.addPos(1, 0, 1, 50)
|
||||
.addPos(0, 0, 1, 100));
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldPlayerModelAim(ItemStack stack) {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,16 +1,19 @@
|
||||
package com.hbm.items.tool;
|
||||
|
||||
import com.hbm.handler.threading.PacketThreading;
|
||||
import com.hbm.inventory.fluid.FluidType;
|
||||
import com.hbm.items.IAnimatedItem;
|
||||
import com.hbm.items.IHeldSoundProvider;
|
||||
import com.hbm.packet.toclient.AuxParticlePacketNT;
|
||||
import com.hbm.render.anim.AnimationEnums.ToolAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.HbmAnimations;
|
||||
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
|
||||
public class ItemChainsaw extends ItemToolAbilityFueled implements IHeldSoundProvider {
|
||||
public class ItemChainsaw extends ItemToolAbilityFueled implements IHeldSoundProvider, IAnimatedItem<ToolAnimation> {
|
||||
|
||||
public ItemChainsaw(float damage, double movement, ToolMaterial material, EnumToolType type, int maxFuel, int consumption, int fillRate, FluidType... acceptedFuels) {
|
||||
super(damage, movement, material, type, maxFuel, consumption, fillRate, acceptedFuels);
|
||||
@ -25,11 +28,57 @@ public class ItemChainsaw extends ItemToolAbilityFueled implements IHeldSoundPro
|
||||
if(stack.getItemDamage() >= stack.getMaxDamage())
|
||||
return false;
|
||||
|
||||
NBTTagCompound nbt = new NBTTagCompound();
|
||||
nbt.setString("type", "anim");
|
||||
nbt.setString("mode", "sSwing");
|
||||
PacketThreading.createSendToThreadedPacket(new AuxParticlePacketNT(nbt, 0, 0, 0), (EntityPlayerMP)entityLiving);
|
||||
playAnimation((EntityPlayer) entityLiving, ToolAnimation.SWING);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BusAnimation getAnimation(ToolAnimation type, ItemStack stack) {
|
||||
int forward = 150;
|
||||
int sideways = 100;
|
||||
int retire = 200;
|
||||
|
||||
if(HbmAnimations.getRelevantAnim() == null) {
|
||||
|
||||
return new BusAnimation()
|
||||
.addBus("SWING_ROT", new BusAnimationSequence()
|
||||
.addPos(0, 0, 90, forward)
|
||||
.addPos(45, 0, 90, sideways)
|
||||
.addPos(0, 0, 0, retire))
|
||||
.addBus("SWING_TRANS", new BusAnimationSequence()
|
||||
.addPos(0, 0, 3, forward)
|
||||
.addPos(2, 0, 2, sideways)
|
||||
.addPos(0, 0, 0, retire));
|
||||
} else {
|
||||
|
||||
double[] rot = HbmAnimations.getRelevantTransformation("SWING_ROT");
|
||||
double[] trans = HbmAnimations.getRelevantTransformation("SWING_TRANS");
|
||||
|
||||
if(System.currentTimeMillis() - HbmAnimations.getRelevantAnim().startMillis < 50) return null;
|
||||
|
||||
return new BusAnimation()
|
||||
.addBus("SWING_ROT", new BusAnimationSequence()
|
||||
.addPos(rot[0], rot[1], rot[2], 0)
|
||||
.addPos(0, 0, 90, forward)
|
||||
.addPos(45, 0, 90, sideways)
|
||||
.addPos(0, 0, 0, retire))
|
||||
.addBus("SWING_TRANS", new BusAnimationSequence()
|
||||
.addPos(trans[0], trans[1], trans[2], 0)
|
||||
.addPos(0, 0, 3, forward)
|
||||
.addPos(2, 0, 2, sideways)
|
||||
.addPos(0, 0, 0, retire));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<ToolAnimation> getEnum() {
|
||||
return ToolAnimation.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldPlayerModelAim(ItemStack stack) {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,19 +1,27 @@
|
||||
package com.hbm.items.weapon;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
import com.google.common.collect.HashMultimap;
|
||||
import com.google.common.collect.Multimap;
|
||||
import com.hbm.handler.threading.PacketThreading;
|
||||
import com.hbm.items.IAnimatedItem;
|
||||
import com.hbm.items.IEquipReceiver;
|
||||
import com.hbm.items.tool.ItemSwordAbility;
|
||||
import com.hbm.packet.toclient.AuxParticlePacketNT;
|
||||
import com.hbm.render.anim.AnimationEnums.ToolAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.HbmAnimations;
|
||||
import com.hbm.util.ShadyUtil;
|
||||
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.audio.PositionedSoundRecord;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.SharedMonsterAttributes;
|
||||
import net.minecraft.entity.ai.attributes.AttributeModifier;
|
||||
@ -25,9 +33,10 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.ChatComponentText;
|
||||
import net.minecraft.util.ChatStyle;
|
||||
import net.minecraft.util.EnumChatFormatting;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
public class ItemCrucible extends ItemSwordAbility implements IEquipReceiver {
|
||||
public class ItemCrucible extends ItemSwordAbility implements IEquipReceiver, IAnimatedItem<ToolAnimation> {
|
||||
|
||||
public ItemCrucible(float damage, double movement, ToolMaterial material) {
|
||||
super(damage, movement, material);
|
||||
@ -44,10 +53,7 @@ public class ItemCrucible extends ItemSwordAbility implements IEquipReceiver {
|
||||
World world = player.worldObj;
|
||||
world.playSoundEffect(player.posX, player.posY, player.posZ, "hbm:weapon.cDeploy", 1.0F, 1.0F);
|
||||
|
||||
NBTTagCompound nbt = new NBTTagCompound();
|
||||
nbt.setString("type", "anim");
|
||||
nbt.setString("mode", "crucible");
|
||||
PacketThreading.createSendToThreadedPacket(new AuxParticlePacketNT(nbt, 0, 0, 0), (EntityPlayerMP)player);
|
||||
playAnimation(player, ToolAnimation.EQUIP);
|
||||
}
|
||||
}
|
||||
|
||||
@ -64,10 +70,7 @@ public class ItemCrucible extends ItemSwordAbility implements IEquipReceiver {
|
||||
if(stack.getItemDamage() >= stack.getMaxDamage())
|
||||
return false;
|
||||
|
||||
NBTTagCompound nbt = new NBTTagCompound();
|
||||
nbt.setString("type", "anim");
|
||||
nbt.setString("mode", "cSwing");
|
||||
PacketThreading.createSendToThreadedPacket(new AuxParticlePacketNT(nbt, 0, 0, 0), (EntityPlayerMP)entityLiving);
|
||||
playAnimation((EntityPlayerMP)entityLiving, ToolAnimation.SWING);
|
||||
|
||||
return false;
|
||||
}
|
||||
@ -132,4 +135,58 @@ public class ItemCrucible extends ItemSwordAbility implements IEquipReceiver {
|
||||
|
||||
list.add(charge);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BusAnimation getAnimation(ToolAnimation type, ItemStack stack) {
|
||||
/* crucible deploy */
|
||||
if(type == ToolAnimation.EQUIP) {
|
||||
|
||||
return new BusAnimation()
|
||||
.addBus("GUARD_ROT", new BusAnimationSequence()
|
||||
.addPos(90, 0, 1, 0)
|
||||
.addPos(90, 0, 1, 800)
|
||||
.addPos(0, 0, 1, 50));
|
||||
}
|
||||
|
||||
/* crucible swing */
|
||||
if(type == ToolAnimation.SWING) {
|
||||
|
||||
if(HbmAnimations.getRelevantTransformation("SWING_ROT")[0] == 0) {
|
||||
|
||||
int offset = itemRand.nextInt(80) - 20;
|
||||
|
||||
playSwing(0.8F + itemRand.nextFloat() * 0.2F);
|
||||
|
||||
return new BusAnimation()
|
||||
.addBus("SWING_ROT", new BusAnimationSequence()
|
||||
.addPos(90 - offset, 90 - offset, 35, 75)
|
||||
.addPos(90 + offset, 90 - offset, -45, 150)
|
||||
.addPos(0, 0, 0, 500))
|
||||
.addBus("SWING_TRANS", new BusAnimationSequence()
|
||||
.addPos(-3, 0, 0, 75)
|
||||
.addPos(8, 0, 0, 150)
|
||||
.addPos(0, 0, 0, 500));
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
// could do this better, but this preserves existing behaviour the closest with the least amount
|
||||
// of effort, without crashing servers (I'm learning my lesson :o_ )
|
||||
@SideOnly(Side.CLIENT)
|
||||
private void playSwing(float pitchProbablyIDontFuckingCare) {
|
||||
Minecraft.getMinecraft().getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("hbm:weapon.cSwing"), pitchProbablyIDontFuckingCare));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Class<ToolAnimation> getEnum() {
|
||||
return ToolAnimation.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldPlayerModelAim(ItemStack stack) {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -11,8 +11,8 @@ import com.hbm.items.weapon.sedna.factory.GunStateDecider;
|
||||
import com.hbm.items.weapon.sedna.factory.Lego;
|
||||
import com.hbm.items.weapon.sedna.hud.IHUDComponent;
|
||||
import com.hbm.items.weapon.sedna.mods.WeaponModManager;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
@ -25,7 +25,7 @@ import net.minecraft.util.ResourceLocation;
|
||||
* */
|
||||
public class GunConfig {
|
||||
|
||||
public List<SmokeNode> smokeNodes = new ArrayList();
|
||||
public List<SmokeNode> smokeNodes = new ArrayList<>();
|
||||
|
||||
public static final String O_RECEIVERS = "O_RECEIVERS";
|
||||
public static final String F_DURABILITY = "F_DURABILITY";
|
||||
@ -84,7 +84,7 @@ public class GunConfig {
|
||||
/** The engine for the state machine that determines the gun's overall behavior */
|
||||
protected BiConsumer<ItemStack, LambdaContext> decider_DNA;
|
||||
/** Lambda that returns the relevant animation for the given params */
|
||||
protected BiFunction<ItemStack, AnimType, BusAnimation> animations_DNA;
|
||||
protected BiFunction<ItemStack, GunAnimation, BusAnimation> animations_DNA;
|
||||
protected IHUDComponent[] hudComponents_DNA;
|
||||
|
||||
/* GETTERS */
|
||||
@ -115,8 +115,8 @@ public class GunConfig {
|
||||
|
||||
public BiConsumer<ItemStack, LambdaContext> getDecider(ItemStack stack) { return WeaponModManager.eval(this.decider_DNA, stack, CON_DECIDER, this, this.index); }
|
||||
|
||||
public BiFunction<ItemStack, AnimType, BusAnimation> getAnims(ItemStack stack) { return WeaponModManager.eval(this.animations_DNA, stack, FUN_ANIMNATIONS, this, this.index); }
|
||||
public IHUDComponent[] getHUDComponents(ItemStack stack) { return WeaponModManager.eval(this.hudComponents_DNA, stack, O_HUDCOMPONENTS, this, this.index); }
|
||||
public BiFunction<ItemStack, GunAnimation, BusAnimation> getAnims(ItemStack stack) { return WeaponModManager.eval(this.animations_DNA, stack, FUN_ANIMNATIONS, this, this.index); }
|
||||
public IHUDComponent[] getHUDComponents(ItemStack stack) { return WeaponModManager.eval(this.hudComponents_DNA, stack, O_HUDCOMPONENTS, this, this.index); }
|
||||
|
||||
/* SETTERS */
|
||||
|
||||
@ -151,8 +151,8 @@ public class GunConfig {
|
||||
public GunConfig decider(BiConsumer<ItemStack, LambdaContext> lambda) { this.decider_DNA = lambda; return this; }
|
||||
|
||||
//client
|
||||
public GunConfig anim(BiFunction<ItemStack, AnimType, BusAnimation> lambda) { this.animations_DNA = lambda; return this; }
|
||||
public GunConfig hud(IHUDComponent... components) { this.hudComponents_DNA = components; return this; }
|
||||
public GunConfig anim(BiFunction<ItemStack, GunAnimation, BusAnimation> lambda) { this.animations_DNA = lambda; return this; }
|
||||
public GunConfig hud(IHUDComponent... components) { this.hudComponents_DNA = components; return this; }
|
||||
|
||||
/** Standard package for keybind handling and decider using LEGO prefabs: Primary fire on LMB,
|
||||
* reload on R, aiming on MMB and the standard decider which includes jamming and auto fire handling*/
|
||||
|
||||
@ -24,8 +24,8 @@ import com.hbm.items.weapon.sedna.mods.WeaponModManager;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.packet.toclient.GunAnimationPacket;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
import com.hbm.packet.toclient.HbmAnimationPacket;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.util.RenderScreenOverlay;
|
||||
import com.hbm.sound.AudioWrapper;
|
||||
import com.hbm.util.BobMathUtil;
|
||||
@ -247,8 +247,8 @@ public class ItemGunBaseNT extends Item implements IKeybindReceiver, IItemHUD, I
|
||||
@Override
|
||||
public void onEquip(EntityPlayer player, ItemStack stack) {
|
||||
for(int i = 0; i < this.configs_DNA.length; i++) {
|
||||
if(this.getLastAnim(stack, i) == AnimType.EQUIP && this.getAnimTimer(stack, i) < 5) continue;
|
||||
playAnimation(player, stack, AnimType.EQUIP, i);
|
||||
if(this.getLastAnim(stack, i) == GunAnimation.EQUIP && this.getAnimTimer(stack, i) < 5) continue;
|
||||
playAnimation(player, stack, GunAnimation.EQUIP, i);
|
||||
this.setPrimary(stack, i, false);
|
||||
this.setSecondary(stack, i, false);
|
||||
this.setTertiary(stack, i, false);
|
||||
@ -256,9 +256,9 @@ public class ItemGunBaseNT extends Item implements IKeybindReceiver, IItemHUD, I
|
||||
}
|
||||
}
|
||||
|
||||
public static void playAnimation(EntityPlayer player, ItemStack stack, AnimType type, int index) {
|
||||
public static void playAnimation(EntityPlayer player, ItemStack stack, GunAnimation type, int index) {
|
||||
if(player instanceof EntityPlayerMP) {
|
||||
PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(type.ordinal(), 0, index), (EntityPlayerMP) player);
|
||||
PacketDispatcher.wrapper.sendTo(new HbmAnimationPacket(type.ordinal(), 0, index), (EntityPlayerMP) player);
|
||||
setLastAnim(stack, index, type);
|
||||
setAnimTimer(stack, index, 0);
|
||||
}
|
||||
@ -327,7 +327,7 @@ public class ItemGunBaseNT extends Item implements IKeybindReceiver, IItemHUD, I
|
||||
this.setState(stack, i, GunState.DRAWING);
|
||||
this.setTimer(stack, i, configs[i].getDrawDuration(stack));
|
||||
}
|
||||
this.setLastAnim(stack, i, AnimType.CYCLE); //prevents new guns from initializing with DRAWING, 0
|
||||
this.setLastAnim(stack, i, GunAnimation.CYCLE); //prevents new guns from initializing with DRAWING, 0
|
||||
}
|
||||
this.setIsAiming(stack, false);
|
||||
this.setReloadCancel(stack, false);
|
||||
@ -371,8 +371,8 @@ public class ItemGunBaseNT extends Item implements IKeybindReceiver, IItemHUD, I
|
||||
public static boolean getIsLockedOn(ItemStack stack) { return getValueBool(stack, KEY_LOCKEDON); }
|
||||
public static void setIsLockedOn(ItemStack stack, boolean value) { setValueBool(stack, KEY_LOCKEDON, value); }
|
||||
// ANIM TRACKING //
|
||||
public static AnimType getLastAnim(ItemStack stack, int index) { return EnumUtil.grabEnumSafely(AnimType.class, getValueInt(stack, KEY_LASTANIM + index)); }
|
||||
public static void setLastAnim(ItemStack stack, int index, AnimType value) { setValueInt(stack, KEY_LASTANIM + index, value.ordinal()); }
|
||||
public static GunAnimation getLastAnim(ItemStack stack, int index) { return EnumUtil.grabEnumSafely(GunAnimation.class, getValueInt(stack, KEY_LASTANIM + index)); }
|
||||
public static void setLastAnim(ItemStack stack, int index, GunAnimation value) { setValueInt(stack, KEY_LASTANIM + index, value.ordinal()); }
|
||||
public static int getAnimTimer(ItemStack stack, int index) { return getValueInt(stack, KEY_ANIMTIMER + index); }
|
||||
public static void setAnimTimer(ItemStack stack, int index, int value) { setValueInt(stack, KEY_ANIMTIMER + index, value); }
|
||||
|
||||
|
||||
@ -7,9 +7,9 @@ import com.hbm.items.weapon.sedna.GunConfig;
|
||||
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
|
||||
import com.hbm.items.weapon.sedna.Receiver;
|
||||
import com.hbm.items.weapon.sedna.mags.IMagazine;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.items.weapon.sedna.ItemGunBaseNT.GunState;
|
||||
import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
@ -69,19 +69,19 @@ public class GunStateDecider {
|
||||
if(!cancel && mag.canReload(stack, ctx.inventory)) {
|
||||
ItemGunBaseNT.setState(stack, gunIndex, GunState.RELOADING);
|
||||
ItemGunBaseNT.setTimer(stack, gunIndex, rec.getReloadCycleDuration(stack));
|
||||
ItemGunBaseNT.playAnimation(player, stack, AnimType.RELOAD_CYCLE, gunIndex);
|
||||
ItemGunBaseNT.playAnimation(player, stack, GunAnimation.RELOAD_CYCLE, gunIndex);
|
||||
//if no more reloading can be done, go idle
|
||||
} else {
|
||||
|
||||
if(getStandardJamChance(stack, cfg, gunIndex) > entity.getRNG().nextFloat()) {
|
||||
ItemGunBaseNT.setState(stack, gunIndex, GunState.JAMMED);
|
||||
ItemGunBaseNT.setTimer(stack, gunIndex, rec.getJamDuration(stack));
|
||||
ItemGunBaseNT.playAnimation(player, stack, AnimType.JAMMED, gunIndex);
|
||||
ItemGunBaseNT.playAnimation(player, stack, GunAnimation.JAMMED, gunIndex);
|
||||
} else {
|
||||
ItemGunBaseNT.setState(stack, gunIndex, GunState.DRAWING);
|
||||
int duration = rec.getReloadEndDuration(stack) + (mag.getAmountBeforeReload(stack) <= 0 ? rec.getReloadCockOnEmptyPost(stack) : 0);
|
||||
ItemGunBaseNT.setTimer(stack, gunIndex, duration);
|
||||
ItemGunBaseNT.playAnimation(player, stack, AnimType.RELOAD_END, gunIndex);
|
||||
ItemGunBaseNT.playAnimation(player, stack, GunAnimation.RELOAD_END, gunIndex);
|
||||
}
|
||||
|
||||
ItemGunBaseNT.setReloadCancel(stack, false);
|
||||
@ -124,7 +124,7 @@ public class GunStateDecider {
|
||||
//if refire after dry is allowed, switch to COOLDOWN which will trigger a refire, otherwise switch to DRAWING
|
||||
ItemGunBaseNT.setState(stack, gunIndex, rec.getRefireAfterDry(stack) ? GunState.COOLDOWN : GunState.DRAWING);
|
||||
ItemGunBaseNT.setTimer(stack, gunIndex, rec.getDelayAfterDryFire(stack));
|
||||
ItemGunBaseNT.playAnimation(player, stack, AnimType.CYCLE_DRY, gunIndex);
|
||||
ItemGunBaseNT.playAnimation(player, stack, GunAnimation.CYCLE_DRY, gunIndex);
|
||||
//if not, revert to idle
|
||||
} else {
|
||||
ItemGunBaseNT.setState(stack, gunIndex, GunState.IDLE);
|
||||
@ -143,7 +143,7 @@ public class GunStateDecider {
|
||||
mag.setAmountBeforeReload(stack, loaded);
|
||||
ItemGunBaseNT.setState(stack, ctx.configIndex, GunState.RELOADING);
|
||||
ItemGunBaseNT.setTimer(stack, ctx.configIndex, rec.getReloadBeginDuration(stack) + (loaded <= 0 ? rec.getReloadCockOnEmptyPre(stack) : 0));
|
||||
ItemGunBaseNT.playAnimation(player, stack, AnimType.RELOAD, ctx.configIndex);
|
||||
ItemGunBaseNT.playAnimation(player, stack, GunAnimation.RELOAD, ctx.configIndex);
|
||||
} else {
|
||||
ItemGunBaseNT.setState(stack, gunIndex, GunState.IDLE);
|
||||
ItemGunBaseNT.setTimer(stack, gunIndex, 0);
|
||||
|
||||
@ -25,9 +25,9 @@ import com.hbm.items.weapon.sedna.Receiver;
|
||||
import com.hbm.items.weapon.sedna.mags.IMagazine;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.particle.helper.BlackPowderCreator;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
@ -66,10 +66,10 @@ public class Lego {
|
||||
mag.setAmountBeforeReload(stack, loaded);
|
||||
ItemGunBaseNT.setState(stack, ctx.configIndex, GunState.RELOADING);
|
||||
ItemGunBaseNT.setTimer(stack, ctx.configIndex, rec.getReloadBeginDuration(stack) + (loaded <= 0 ? rec.getReloadCockOnEmptyPre(stack) : 0));
|
||||
ItemGunBaseNT.playAnimation(player, stack, AnimType.RELOAD, ctx.configIndex);
|
||||
ItemGunBaseNT.playAnimation(player, stack, GunAnimation.RELOAD, ctx.configIndex);
|
||||
if(ctx.config.getReloadChangesType(stack)) mag.initNewType(stack, ctx.inventory);
|
||||
} else {
|
||||
ItemGunBaseNT.playAnimation(player, stack, AnimType.INSPECT, ctx.configIndex);
|
||||
ItemGunBaseNT.playAnimation(player, stack, GunAnimation.INSPECT, ctx.configIndex);
|
||||
if(!ctx.config.getInspectCancel(stack)) {
|
||||
ItemGunBaseNT.setState(stack, ctx.configIndex, GunState.DRAWING);
|
||||
ItemGunBaseNT.setTimer(stack, ctx.configIndex, ctx.config.getInspectDuration(stack));
|
||||
@ -105,7 +105,7 @@ public class Lego {
|
||||
} else {
|
||||
|
||||
if(rec.getDoesDryFire(stack)) {
|
||||
ItemGunBaseNT.playAnimation(player, stack, AnimType.CYCLE_DRY, index);
|
||||
ItemGunBaseNT.playAnimation(player, stack, GunAnimation.CYCLE_DRY, index);
|
||||
ItemGunBaseNT.setState(stack, index, rec.getRefireAfterDry(stack) ? GunState.COOLDOWN : GunState.DRAWING);
|
||||
ItemGunBaseNT.setTimer(stack, index, rec.getDelayAfterDryFire(stack));
|
||||
}
|
||||
@ -187,19 +187,19 @@ public class Lego {
|
||||
|
||||
/** Spawns an EntityBulletBaseMK4 with the loaded bulletcfg */
|
||||
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_STANDARD_FIRE = (stack, ctx) -> {
|
||||
doStandardFire(stack, ctx, AnimType.CYCLE, true);
|
||||
doStandardFire(stack, ctx, GunAnimation.CYCLE, true);
|
||||
};
|
||||
/** Spawns an EntityBulletBaseMK4 with the loaded bulletcfg, ignores wear */
|
||||
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_NOWEAR_FIRE = (stack, ctx) -> {
|
||||
doStandardFire(stack, ctx, AnimType.CYCLE, false);
|
||||
doStandardFire(stack, ctx, GunAnimation.CYCLE, false);
|
||||
};
|
||||
/** Spawns an EntityBulletBaseMK4 with the loaded bulletcfg, then resets lockon progress */
|
||||
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_LOCKON_FIRE = (stack, ctx) -> {
|
||||
doStandardFire(stack, ctx, AnimType.CYCLE, true);
|
||||
doStandardFire(stack, ctx, GunAnimation.CYCLE, true);
|
||||
ItemGunBaseNT.setIsLockedOn(stack, false);
|
||||
};
|
||||
|
||||
public static void doStandardFire(ItemStack stack, LambdaContext ctx, AnimType anim, boolean calcWear) {
|
||||
public static void doStandardFire(ItemStack stack, LambdaContext ctx, GunAnimation anim, boolean calcWear) {
|
||||
EntityLivingBase entity = ctx.entity;
|
||||
EntityPlayer player = ctx.getPlayer();
|
||||
int index = ctx.configIndex;
|
||||
@ -303,7 +303,7 @@ public class Lego {
|
||||
}
|
||||
|
||||
/** anims for the DEBUG revolver, mostly a copy of the li'lpip but with some fixes regarding the cylinder movement */
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_DEBUG_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_DEBUG_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case CYCLE: return new BusAnimation()
|
||||
.addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, 0, 50).addPos(0, 0, -3, 50).addPos(0, 0, 0, 250))
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -17,10 +17,10 @@ import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
|
||||
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
|
||||
import com.hbm.particle.SpentCasing;
|
||||
import com.hbm.particle.SpentCasing.CasingType;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.MovingObjectPosition;
|
||||
@ -84,7 +84,7 @@ public class XFactory10ga {
|
||||
ItemGunBaseNT.setupRecoil(10, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5));
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_DOUBLE_BARREL_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_DOUBLE_BARREL_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(-60, 0, 0, 0).addPos(0, 0, -3, 500, IType.SIN_DOWN));
|
||||
|
||||
@ -32,10 +32,10 @@ import com.hbm.packet.PacketDispatcher;
|
||||
import com.hbm.packet.toclient.AuxParticlePacketNT;
|
||||
import com.hbm.particle.SpentCasing;
|
||||
import com.hbm.particle.SpentCasing.CasingType;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
import com.hbm.util.BobMathUtil;
|
||||
import com.hbm.util.TrackerUtil;
|
||||
import com.hbm.util.Vec3NT;
|
||||
@ -429,7 +429,7 @@ public class XFactory12ga {
|
||||
ItemGunBaseNT.setTimer(stack, index, 20);
|
||||
} else {
|
||||
if(rec.getDoesDryFire(stack)) {
|
||||
ItemGunBaseNT.playAnimation(player, stack, AnimType.CYCLE_DRY, index);
|
||||
ItemGunBaseNT.playAnimation(player, stack, GunAnimation.CYCLE_DRY, index);
|
||||
ItemGunBaseNT.setState(stack, index, GunState.DRAWING);
|
||||
ItemGunBaseNT.setTimer(stack, index, rec.getDelayAfterDryFire(stack));
|
||||
}
|
||||
@ -440,7 +440,7 @@ public class XFactory12ga {
|
||||
}
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_MARESLEG_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_MARESLEG_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(-60, 0, 0, 0).addPos(0, 0, -3, 500, IType.SIN_DOWN));
|
||||
@ -483,7 +483,7 @@ public class XFactory12ga {
|
||||
return null;
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_MARESLEG_SHORT_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_MARESLEG_SHORT_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(-60, 0, 0, 0).addPos(0, 0, -3, 250, IType.SIN_DOWN));
|
||||
@ -509,7 +509,7 @@ public class XFactory12ga {
|
||||
};
|
||||
|
||||
/** This fucking sucks */
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_LIBERATOR_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_LIBERATOR_ANIMS = (stack, type) -> {
|
||||
int ammo = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, MainRegistry.proxy.me().inventory);
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
@ -606,7 +606,7 @@ public class XFactory12ga {
|
||||
return null;
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_SPAS_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_SPAS_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(-60, 0, 0, 0).addPos(0, 0, -3, 500, IType.SIN_DOWN));
|
||||
@ -625,7 +625,7 @@ public class XFactory12ga {
|
||||
return null;
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_SHREDDER_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_SHREDDER_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_DOWN));
|
||||
@ -651,7 +651,7 @@ public class XFactory12ga {
|
||||
return null;
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_SEXY_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_SEXY_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(45, 0, 0, 0).addPos(0, 0, 0, 1000, IType.SIN_DOWN));
|
||||
|
||||
@ -20,10 +20,10 @@ import com.hbm.items.weapon.sedna.mods.WeaponModManager;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.particle.SpentCasing;
|
||||
import com.hbm.particle.SpentCasing.CasingType;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
@ -71,7 +71,7 @@ public class XFactory22lr {
|
||||
ItemGunBaseNT.setupRecoil((float) (ctx.getPlayer().getRNG().nextGaussian() * 0.25), (float) (ctx.getPlayer().getRNG().nextGaussian() * 0.25));
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_AM180_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_AM180_ANIMS = (stack, type) -> {
|
||||
if(ClientConfig.GUN_ANIMS_LEGACY.get()) {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
|
||||
@ -14,10 +14,10 @@ import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
|
||||
import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality;
|
||||
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
|
||||
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
@ -88,7 +88,7 @@ public class XFactory357 {
|
||||
ItemGunBaseNT.setupRecoil(5, (float) (ctx.getPlayer().getRNG().nextGaussian() * 0.75));
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_ATLAS_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_ATLAS_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(-90, 0, 0, 0).addPos(0, 0, 0, 350, IType.SIN_DOWN));
|
||||
@ -120,7 +120,7 @@ public class XFactory357 {
|
||||
return null;
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_DANI_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_DANI_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation().addBus("EQUIP", new BusAnimationSequence().addPos(360 * 3, 0, 0, 1000, IType.SIN_DOWN));
|
||||
}
|
||||
|
||||
@ -18,10 +18,10 @@ import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmoSecret;
|
||||
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
|
||||
import com.hbm.particle.SpentCasing;
|
||||
import com.hbm.particle.SpentCasing.CasingType;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
@ -93,7 +93,7 @@ public class XFactory35800 {
|
||||
ItemGunBaseNT.setupRecoil(10, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5));
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_ABERRATOR = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_ABERRATOR = (stack, type) -> {
|
||||
boolean aim = ItemGunBaseNT.getIsAiming(stack);
|
||||
int ammo = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, null);
|
||||
switch(type) {
|
||||
|
||||
@ -30,10 +30,10 @@ import com.hbm.main.MainRegistry;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.particle.SpentCasing;
|
||||
import com.hbm.particle.SpentCasing.CasingType;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
import com.hbm.util.EntityDamageUtil;
|
||||
import com.hbm.util.TrackerUtil;
|
||||
import com.hbm.util.DamageResistanceHandler.DamageClass;
|
||||
@ -184,7 +184,7 @@ public class XFactory40mm {
|
||||
ItemGunBaseNT.setupRecoil(10, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5));
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_FLAREGUN_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_FLAREGUN_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(-90, 0, 0, 0).addPos(0, 0, 0, 350, IType.SIN_DOWN));
|
||||
@ -207,7 +207,7 @@ public class XFactory40mm {
|
||||
return null;
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_CONGOLAKE_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_CONGOLAKE_ANIMS = (stack, type) -> {
|
||||
int ammo = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, MainRegistry.proxy.me().inventory);
|
||||
switch(type) {
|
||||
case EQUIP: return ResourceManager.congolake_anim.get("Equip");
|
||||
|
||||
@ -25,10 +25,10 @@ import com.hbm.items.weapon.sedna.mods.WeaponModManager;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.particle.SpentCasing;
|
||||
import com.hbm.particle.SpentCasing.CasingType;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.MovingObjectPosition;
|
||||
@ -156,11 +156,11 @@ public class XFactory44 {
|
||||
};
|
||||
|
||||
public static BiConsumer<ItemStack, LambdaContext> SMACK_A_FUCKER = (stack, ctx) -> {
|
||||
if(ItemGunBaseNT.getState(stack, ctx.configIndex) == GunState.IDLE || ItemGunBaseNT.getLastAnim(stack, ctx.configIndex) == AnimType.CYCLE) {
|
||||
if(ItemGunBaseNT.getState(stack, ctx.configIndex) == GunState.IDLE || ItemGunBaseNT.getLastAnim(stack, ctx.configIndex) == GunAnimation.CYCLE) {
|
||||
ItemGunBaseNT.setIsAiming(stack, false);
|
||||
ItemGunBaseNT.setState(stack, ctx.configIndex, GunState.DRAWING);
|
||||
ItemGunBaseNT.setTimer(stack, ctx.configIndex, ctx.config.getInspectDuration(stack));
|
||||
ItemGunBaseNT.playAnimation(ctx.getPlayer(), stack, AnimType.INSPECT, ctx.configIndex);
|
||||
ItemGunBaseNT.playAnimation(ctx.getPlayer(), stack, GunAnimation.INSPECT, ctx.configIndex);
|
||||
}
|
||||
};
|
||||
|
||||
@ -176,7 +176,7 @@ public class XFactory44 {
|
||||
ItemGunBaseNT.setupRecoil(5, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1));
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_HENRY_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_HENRY_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(-90, 0, 0, 0).addPos(0, 0, -3, 350, IType.SIN_DOWN))
|
||||
@ -219,7 +219,7 @@ public class XFactory44 {
|
||||
return null;
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_NOPIP_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_NOPIP_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case CYCLE: return new BusAnimation()
|
||||
.addBus("RECOIL", new BusAnimationSequence().addPos(0, 0, 0, 50).addPos(0, 0, -3, 50).addPos(0, 0, 0, 250))
|
||||
@ -244,7 +244,7 @@ public class XFactory44 {
|
||||
|
||||
return null;
|
||||
};
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_LILMAC_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_LILMAC_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation().addBus("SPIN", new BusAnimationSequence().addPos(-360, 0, 0, 350));
|
||||
}
|
||||
@ -252,7 +252,7 @@ public class XFactory44 {
|
||||
return LAMBDA_NOPIP_ANIMS.apply(stack, type);
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_HANGMAN_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_HANGMAN_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation().addBus("EQUIP", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_DOWN));
|
||||
case CYCLE: return new BusAnimation()
|
||||
|
||||
@ -21,10 +21,10 @@ import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.particle.SpentCasing;
|
||||
import com.hbm.particle.SpentCasing.CasingType;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.MovingObjectPosition;
|
||||
@ -135,7 +135,7 @@ public class XFactory50 {
|
||||
ItemGunBaseNT.setupRecoil((float) (ctx.getPlayer().getRNG().nextGaussian() * 0.5), (float) (ctx.getPlayer().getRNG().nextGaussian() * 0.5));
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_AMAT_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_AMAT_ANIMS = (stack, type) -> {
|
||||
double turn = -60;
|
||||
double pullAmount = -2.5;
|
||||
double side = 4;
|
||||
@ -173,7 +173,7 @@ public class XFactory50 {
|
||||
return null;
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_M2_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_M2_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(80, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_FULL));
|
||||
|
||||
@ -25,10 +25,10 @@ import com.hbm.main.MainRegistry;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.particle.SpentCasing;
|
||||
import com.hbm.particle.SpentCasing.CasingType;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@ -139,7 +139,7 @@ public class XFactory556mm {
|
||||
|
||||
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_RECOIL_STG = (stack, ctx) -> { };
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_G3_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_G3_ANIMS = (stack, type) -> {
|
||||
boolean empty = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, MainRegistry.proxy.me().inventory) <= 0;
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
@ -210,7 +210,7 @@ public class XFactory556mm {
|
||||
return null;
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_STG77_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_STG77_ANIMS = (stack, type) -> {
|
||||
if(ClientConfig.GUN_ANIMS_LEGACY.get()) {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
|
||||
@ -17,9 +17,9 @@ import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
|
||||
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
|
||||
import com.hbm.particle.SpentCasing;
|
||||
import com.hbm.particle.SpentCasing.CasingType;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@ -75,7 +75,7 @@ public class XFactory75Bolt {
|
||||
ItemGunBaseNT.setupRecoil((float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5), (float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5));
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_BOLTER_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_BOLTER_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case CYCLE: return new BusAnimation()
|
||||
.addBus("RECOIL", new BusAnimationSequence().addPos(1, 0, 0, 25).addPos(0, 0, 0, 75));
|
||||
|
||||
@ -20,10 +20,10 @@ import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.particle.SpentCasing;
|
||||
import com.hbm.particle.SpentCasing.CasingType;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
import com.hbm.util.DamageResistanceHandler.DamageClass;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
@ -155,7 +155,7 @@ public class XFactory762mm {
|
||||
|
||||
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_RECOIL_LACUNAE = (stack, ctx) -> { };
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_CARBINE_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_CARBINE_ANIMS = (stack, type) -> {
|
||||
int ammo = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, MainRegistry.proxy.me().inventory);
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
@ -187,7 +187,7 @@ public class XFactory762mm {
|
||||
return null;
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_MINIGUN_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_MINIGUN_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(45, 0, 0, 0).addPos(0, 0, 0, 1000, IType.SIN_FULL));
|
||||
@ -207,7 +207,7 @@ public class XFactory762mm {
|
||||
return null;
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_MAS36_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_MAS36_ANIMS = (stack, type) -> {
|
||||
int mag = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, MainRegistry.proxy.me().inventory);
|
||||
double turn = -90;
|
||||
double pullAmount = ItemGunBaseNT.getIsAiming(stack) ? -1F : -1.5D;
|
||||
|
||||
@ -22,10 +22,10 @@ import com.hbm.main.MainRegistry;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.particle.SpentCasing;
|
||||
import com.hbm.particle.SpentCasing.CasingType;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
import com.hbm.util.EntityDamageUtil;
|
||||
import com.hbm.util.DamageResistanceHandler.DamageClass;
|
||||
|
||||
@ -138,10 +138,10 @@ public class XFactory9mm {
|
||||
};
|
||||
|
||||
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_FIRE_LAG = (stack, ctx) -> {
|
||||
AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex);
|
||||
GunAnimation type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex);
|
||||
int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex);
|
||||
EntityPlayer player = ctx.getPlayer();
|
||||
if(player != null && type == AnimType.INSPECT && timer > 20 && timer < 60) {
|
||||
if(player != null && type == GunAnimation.INSPECT && timer > 20 && timer < 60) {
|
||||
int index = ctx.configIndex;
|
||||
Receiver primary = ctx.config.getReceivers(stack)[0];
|
||||
IMagazine mag = primary.getMagazine(stack);
|
||||
@ -154,7 +154,7 @@ public class XFactory9mm {
|
||||
ItemGunBaseNT.setTimer(stack, index, primary.getDelayAfterFire(stack));
|
||||
EntityDamageUtil.attackEntityFromNT(player, BulletConfig.getDamage(player, player, DamageClass.PHYSICAL), 1_000F, true, false, 1D, 5F, 0F);
|
||||
} else {
|
||||
Lego.doStandardFire(stack, ctx, AnimType.CYCLE, true);
|
||||
Lego.doStandardFire(stack, ctx, GunAnimation.CYCLE, true);
|
||||
}
|
||||
};
|
||||
|
||||
@ -162,7 +162,7 @@ public class XFactory9mm {
|
||||
Lego.handleStandardSmoke(ctx.entity, stack, 2000, 0.05D, 1.1D, ctx.configIndex);
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_GREASEGUN_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_GREASEGUN_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(80, 0, 0, 0).addPos(80, 0, 0, 500).addPos(0, 0, 0, 500, IType.SIN_FULL))
|
||||
@ -194,7 +194,7 @@ public class XFactory9mm {
|
||||
return null;
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_LAG_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_LAG_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(-90, 0, 0, 0).addPos(0, 0, 0, 350, IType.SIN_DOWN));
|
||||
@ -211,7 +211,7 @@ public class XFactory9mm {
|
||||
return null;
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_UZI_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_UZI_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(80, 0, 0, 0).addPos(80, 0, 0, 500).addPos(0, 0, 0, 500, IType.SIN_FULL))
|
||||
|
||||
@ -20,10 +20,10 @@ import com.hbm.items.weapon.sedna.mags.MagazineBelt;
|
||||
import com.hbm.items.weapon.sedna.mags.MagazineInfinite;
|
||||
import com.hbm.items.weapon.sedna.mags.MagazineSingleReload;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
import com.hbm.util.DamageResistanceHandler.DamageClass;
|
||||
import com.hbm.util.Vec3NT;
|
||||
|
||||
@ -143,14 +143,14 @@ public class XFactoryAccelerator {
|
||||
}
|
||||
|
||||
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_TAU_PRIMARY_RELEASE = (stack, ctx) -> {
|
||||
if(ctx.getPlayer() == null || ItemGunBaseNT.getLastAnim(stack, ctx.configIndex) != AnimType.CYCLE) return;
|
||||
if(ctx.getPlayer() == null || ItemGunBaseNT.getLastAnim(stack, ctx.configIndex) != GunAnimation.CYCLE) return;
|
||||
ctx.getPlayer().worldObj.playSoundEffect(ctx.getPlayer().posX, ctx.getPlayer().posY, ctx.getPlayer().posZ, "hbm:weapon.fire.tauRelease", 1F, 1F);
|
||||
};
|
||||
|
||||
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_TAU_SECONDARY_PRESS = (stack, ctx) -> {
|
||||
if(ctx.getPlayer() == null) return;
|
||||
if(ctx.config.getReceivers(stack)[0].getMagazine(stack).getAmount(stack, ctx.inventory) <= 0) return;
|
||||
ItemGunBaseNT.playAnimation(ctx.getPlayer(), stack, AnimType.SPINUP, ctx.configIndex);
|
||||
ItemGunBaseNT.playAnimation(ctx.getPlayer(), stack, GunAnimation.SPINUP, ctx.configIndex);
|
||||
tauChargeMag.getMagType(stack); //caches the last loaded ammo
|
||||
};
|
||||
|
||||
@ -158,8 +158,8 @@ public class XFactoryAccelerator {
|
||||
if(ctx.getPlayer() == null) return;
|
||||
int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex);
|
||||
|
||||
if(timer >= 10 && ItemGunBaseNT.getLastAnim(stack, ctx.configIndex) == AnimType.SPINUP) {
|
||||
ItemGunBaseNT.playAnimation(ctx.getPlayer(), stack, AnimType.ALT_CYCLE, ctx.configIndex);
|
||||
if(timer >= 10 && ItemGunBaseNT.getLastAnim(stack, ctx.configIndex) == GunAnimation.SPINUP) {
|
||||
ItemGunBaseNT.playAnimation(ctx.getPlayer(), stack, GunAnimation.ALT_CYCLE, ctx.configIndex);
|
||||
int unitsUsed = 1 + Math.min(12, timer / 10);
|
||||
|
||||
EntityLivingBase entity = ctx.entity;
|
||||
@ -181,7 +181,7 @@ public class XFactoryAccelerator {
|
||||
ItemGunBaseNT.setWear(stack, index, Math.min(ItemGunBaseNT.getWear(stack, index) + config.wear * unitsUsed, ctx.config.getDurability(stack)));
|
||||
|
||||
} else {
|
||||
ItemGunBaseNT.playAnimation(ctx.getPlayer(), stack, AnimType.CYCLE_DRY, ctx.configIndex);
|
||||
ItemGunBaseNT.playAnimation(ctx.getPlayer(), stack, GunAnimation.CYCLE_DRY, ctx.configIndex);
|
||||
}
|
||||
};
|
||||
|
||||
@ -212,7 +212,7 @@ public class XFactoryAccelerator {
|
||||
ItemGunBaseNT.setupRecoil(10, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5));
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_TAU_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_TAU_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(45, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_FULL));
|
||||
@ -233,14 +233,14 @@ public class XFactoryAccelerator {
|
||||
return null;
|
||||
};
|
||||
|
||||
public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_COILGUN_ANIMS = (stack, type) -> {
|
||||
if(type == AnimType.EQUIP) return new BusAnimation().addBus("RELOAD", new BusAnimationSequence().addPos(1, 0, 0, 0).addPos(0, 0, 0, 250));
|
||||
if(type == AnimType.CYCLE) return new BusAnimation().addBus("RECOIL", new BusAnimationSequence().addPos(ItemGunBaseNT.getIsAiming(stack) ? 0.5 : 1, 0, 0, 100).addPos(0, 0, 0, 200));
|
||||
if(type == AnimType.RELOAD) return new BusAnimation().addBus("RELOAD", new BusAnimationSequence().addPos(1, 0, 0, 250).addPos(1, 0, 0, 500).addPos(0, 0, 0, 250));
|
||||
public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_COILGUN_ANIMS = (stack, type) -> {
|
||||
if(type == GunAnimation.EQUIP) return new BusAnimation().addBus("RELOAD", new BusAnimationSequence().addPos(1, 0, 0, 0).addPos(0, 0, 0, 250));
|
||||
if(type == GunAnimation.CYCLE) return new BusAnimation().addBus("RECOIL", new BusAnimationSequence().addPos(ItemGunBaseNT.getIsAiming(stack) ? 0.5 : 1, 0, 0, 100).addPos(0, 0, 0, 200));
|
||||
if(type == GunAnimation.RELOAD) return new BusAnimation().addBus("RELOAD", new BusAnimationSequence().addPos(1, 0, 0, 250).addPos(1, 0, 0, 500).addPos(0, 0, 0, 250));
|
||||
return null;
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_NI4NI_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_NI4NI_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(-360 * 2, 0, 0, 500));
|
||||
|
||||
@ -13,10 +13,10 @@ import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
|
||||
import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality;
|
||||
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
|
||||
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
@ -45,7 +45,7 @@ public class XFactoryBlackPowder {
|
||||
ItemGunBaseNT.setupRecoil(10, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5));
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_PEPPERBOX_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_PEPPERBOX_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case CYCLE: return new BusAnimation()
|
||||
.addBus("ROTATE", new BusAnimationSequence().addPos(0, 0, 0, 1025).addPos(60, 0, 0, 250))
|
||||
|
||||
@ -28,10 +28,10 @@ import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmo;
|
||||
import com.hbm.items.weapon.sedna.mags.MagazineSingleReload;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.packet.toclient.AuxParticlePacketNT;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@ -176,7 +176,7 @@ public class XFactoryCatapult {
|
||||
|
||||
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_RECOIL_FATMAN = (stack, ctx) -> { };
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_FATMAN_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_FATMAN_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 1000, IType.SIN_DOWN));
|
||||
|
||||
@ -26,10 +26,10 @@ import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.packet.toclient.AuxParticlePacketNT;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
import com.hbm.util.DamageResistanceHandler.DamageClass;
|
||||
|
||||
import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint;
|
||||
@ -226,7 +226,7 @@ public class XFactoryEnergy {
|
||||
|
||||
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_RECOIL_ENERGY = (stack, ctx) -> { };
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_TESLA_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_TESLA_ANIMS = (stack, type) -> {
|
||||
int amount = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, MainRegistry.proxy.me().inventory);
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
@ -245,7 +245,7 @@ public class XFactoryEnergy {
|
||||
return null;
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_LASER_PISTOL = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_LASER_PISTOL = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_DOWN));
|
||||
@ -266,7 +266,7 @@ public class XFactoryEnergy {
|
||||
return null;
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_LASRIFLE = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_LASRIFLE = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_DOWN));
|
||||
|
||||
@ -22,10 +22,10 @@ import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.particle.helper.FlameCreator;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
import com.hbm.util.DamageResistanceHandler.DamageClass;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
@ -180,7 +180,7 @@ public class XFactoryFlamer {
|
||||
).setUnlocalizedName("gun_chemthrower");
|
||||
}
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_FLAMER_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_FLAMER_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(-45, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_DOWN));
|
||||
@ -193,7 +193,7 @@ public class XFactoryFlamer {
|
||||
return null;
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_CHEMTHROWER_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_CHEMTHROWER_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(-45, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_DOWN));
|
||||
|
||||
@ -22,10 +22,10 @@ import com.hbm.items.weapon.sedna.ItemGunBaseNT.WeaponQuality;
|
||||
import com.hbm.items.weapon.sedna.factory.GunFactory.EnumAmmoSecret;
|
||||
import com.hbm.items.weapon.sedna.mags.MagazineSingleReload;
|
||||
import com.hbm.packet.toclient.AuxParticlePacketNT;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
import com.hbm.util.ContaminationUtil;
|
||||
import com.hbm.util.EntityDamageUtil;
|
||||
import com.hbm.util.Vec3NT;
|
||||
@ -119,17 +119,17 @@ public class XFactoryFolly {
|
||||
if(ItemGunBaseNT.getState(stack, ctx.configIndex) == GunState.IDLE) {
|
||||
boolean wasAiming = ItemGunBaseNT.getIsAiming(stack);
|
||||
ItemGunBaseNT.setIsAiming(stack, !wasAiming);
|
||||
if(!wasAiming) ItemGunBaseNT.playAnimation(ctx.getPlayer(), stack, AnimType.SPINUP, ctx.configIndex);
|
||||
if(!wasAiming) ItemGunBaseNT.playAnimation(ctx.getPlayer(), stack, GunAnimation.SPINUP, ctx.configIndex);
|
||||
}
|
||||
};
|
||||
|
||||
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_FIRE = (stack, ctx) -> {
|
||||
Lego.doStandardFire(stack, ctx, AnimType.CYCLE, false);
|
||||
Lego.doStandardFire(stack, ctx, GunAnimation.CYCLE, false);
|
||||
};
|
||||
|
||||
public static BiFunction<ItemStack, LambdaContext, Boolean> LAMBDA_CAN_FIRE = (stack, ctx) -> {
|
||||
if(!ItemGunBaseNT.getIsAiming(stack)) return false;
|
||||
if(ItemGunBaseNT.getLastAnim(stack, ctx.configIndex) != AnimType.SPINUP) return false;
|
||||
if(ItemGunBaseNT.getLastAnim(stack, ctx.configIndex) != GunAnimation.SPINUP) return false;
|
||||
if(ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex) < 100) return false;
|
||||
return ctx.config.getReceivers(stack)[0].getMagazine(stack).getAmount(stack, ctx.inventory) > 0;
|
||||
};
|
||||
@ -138,7 +138,7 @@ public class XFactoryFolly {
|
||||
ItemGunBaseNT.setupRecoil(25, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5));
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_FOLLY_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_FOLLY_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(-60, 0, 0, 0).addPos(5, 0, 0, 1500, IType.SIN_DOWN).addPos(0, 0, 0, 500, IType.SIN_FULL));
|
||||
|
||||
@ -26,10 +26,10 @@ import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
|
||||
import com.hbm.items.weapon.sedna.mags.MagazineSingleReload;
|
||||
import com.hbm.lib.Library;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
import com.hbm.util.EntityDamageUtil;
|
||||
import com.hbm.util.DamageResistanceHandler.DamageClass;
|
||||
|
||||
@ -225,7 +225,7 @@ public class XFactoryRocket {
|
||||
|
||||
public static BiConsumer<ItemStack, LambdaContext> LAMBDA_RECOIL_ROCKET = (stack, ctx) -> { };
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_PANZERSCHRECK_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_PANZERSCHRECK_ANIMS = (stack, type) -> {
|
||||
boolean empty = ((ItemGunBaseNT) stack.getItem()).getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack).getAmount(stack, MainRegistry.proxy.me().inventory) <= 0;
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
@ -242,7 +242,7 @@ public class XFactoryRocket {
|
||||
return null;
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_QUADRO_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_QUADRO_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_DOWN));
|
||||
@ -258,7 +258,7 @@ public class XFactoryRocket {
|
||||
return null;
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_MISSILE_LAUNCHER_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_MISSILE_LAUNCHER_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 1000, IType.SIN_DOWN));
|
||||
|
||||
@ -28,10 +28,10 @@ import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
|
||||
import com.hbm.lib.RefStrings;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.particle.helper.ExplosionCreator;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
import com.hbm.tileentity.IRepairable;
|
||||
import com.hbm.tileentity.IRepairable.EnumExtinguishType;
|
||||
import com.hbm.util.CompatExternal;
|
||||
@ -281,7 +281,7 @@ public class XFactoryTool {
|
||||
ItemGunBaseNT.setupRecoil(10, (float) (ctx.getPlayer().getRNG().nextGaussian() * 1.5));
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_CT_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_CT_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation()
|
||||
.addBus("EQUIP", new BusAnimationSequence().addPos(-45, 0, 0, 0).addPos(0, 0, 0, 500, IType.SIN_DOWN));
|
||||
|
||||
@ -11,7 +11,7 @@ import com.hbm.items.weapon.sedna.ItemGunBaseNT;
|
||||
import com.hbm.items.weapon.sedna.Receiver;
|
||||
import com.hbm.items.weapon.sedna.mags.IMagazine;
|
||||
import com.hbm.items.weapon.sedna.mags.MagazineFluid;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
|
||||
import api.hbm.fluidmk2.IFillableItem;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
@ -81,7 +81,7 @@ public class ItemGunChemthrower extends ItemGunBaseNT implements IFillableItem {
|
||||
EntityLivingBase entity = ctx.entity;
|
||||
EntityPlayer player = ctx.getPlayer();
|
||||
int index = ctx.configIndex;
|
||||
ItemGunBaseNT.playAnimation(player, stack, AnimType.CYCLE, ctx.configIndex);
|
||||
ItemGunBaseNT.playAnimation(player, stack, GunAnimation.CYCLE, ctx.configIndex);
|
||||
|
||||
Receiver primary = ctx.config.getReceivers(stack)[0];
|
||||
IMagazine mag = primary.getMagazine(stack);
|
||||
|
||||
@ -4,10 +4,10 @@ import java.util.function.BiFunction;
|
||||
|
||||
import com.hbm.items.weapon.sedna.GunConfig;
|
||||
import com.hbm.items.weapon.sedna.factory.XFactory556mm;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
@ -24,7 +24,7 @@ public class WeapnModG3SawedOff extends WeaponModBase {
|
||||
return base;
|
||||
}
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_G3_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_G3_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation().addBus("EQUIP", new BusAnimationSequence().addPos(45, 0, 0, 0).addPos(0, 0, 0, 250, IType.SIN_FULL));
|
||||
}
|
||||
|
||||
@ -9,10 +9,10 @@ import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
|
||||
import com.hbm.items.weapon.sedna.factory.Orchestras;
|
||||
import com.hbm.items.weapon.sedna.factory.XFactory44;
|
||||
import com.hbm.items.weapon.sedna.factory.XFactory762mm;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
import com.hbm.util.EntityDamageUtil;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
@ -40,10 +40,10 @@ public class WeaponModCarbineBayonet extends WeaponModBase {
|
||||
public static BiConsumer<ItemStack, LambdaContext> ORCHESTRA_CARBINE = (stack, ctx) -> {
|
||||
EntityLivingBase entity = ctx.entity;
|
||||
if(entity.worldObj.isRemote) return;
|
||||
AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex);
|
||||
GunAnimation type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex);
|
||||
int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex);
|
||||
|
||||
if(type == AnimType.INSPECT) {
|
||||
if(type == GunAnimation.INSPECT) {
|
||||
|
||||
if(timer == 15 && ctx.getPlayer() != null) {
|
||||
MovingObjectPosition mop = EntityDamageUtil.getMouseOver(ctx.getPlayer(), 3.0D);
|
||||
@ -67,7 +67,7 @@ public class WeaponModCarbineBayonet extends WeaponModBase {
|
||||
Orchestras.ORCHESTRA_CARBINE.accept(stack, ctx);
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_CARBINE_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_CARBINE_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case INSPECT: return new BusAnimation()
|
||||
.addBus("STAB", new BusAnimationSequence().addPos(0, 1, -2, 250, IType.SIN_DOWN).hold(250).addPos(0, 1, 5, 250, IType.SIN_UP).hold(250).addPos(0, 0, 0, 500, IType.SIN_FULL));
|
||||
|
||||
@ -9,7 +9,7 @@ import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
|
||||
import com.hbm.items.weapon.sedna.factory.Orchestras;
|
||||
import com.hbm.particle.SpentCasing;
|
||||
import com.hbm.particle.helper.CasingCreator;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@ -34,11 +34,11 @@ public class WeaponModGreasegun extends WeaponModBase {
|
||||
public static BiConsumer<ItemStack, LambdaContext> ORCHESTRA_GREASEGUN = (stack, ctx) -> {
|
||||
EntityLivingBase entity = ctx.entity;
|
||||
if(entity.worldObj.isRemote) return;
|
||||
AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex);
|
||||
GunAnimation type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex);
|
||||
int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex);
|
||||
boolean aiming = ItemGunBaseNT.getIsAiming(stack);
|
||||
|
||||
if(type == AnimType.CYCLE) {
|
||||
if(type == GunAnimation.CYCLE) {
|
||||
if(timer == 1) {
|
||||
SpentCasing casing = ctx.config.getReceivers(stack)[0].getMagazine(stack).getCasing(stack, ctx.inventory);
|
||||
if(casing != null) CasingCreator.composeEffect(entity.worldObj, entity, 0.55, aiming ? 0 : -0.125, aiming ? 0 : -0.25D, 0, 0.18, -0.12, 0.01, -7.5F + (float)entity.getRNG().nextGaussian() * 5F, 12F + (float)entity.getRNG().nextGaussian() * 5F, casing.getName());
|
||||
|
||||
@ -8,10 +8,10 @@ import com.hbm.items.weapon.sedna.factory.XFactory12ga;
|
||||
import com.hbm.items.weapon.sedna.mags.IMagazine;
|
||||
import com.hbm.items.weapon.sedna.mags.MagazineFullReload;
|
||||
import com.hbm.items.weapon.sedna.mags.MagazineSingleReload;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
@ -35,7 +35,7 @@ public class WeaponModLiberatorSpeedloader extends WeaponModBase {
|
||||
return base;
|
||||
}
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_LIBERATOR_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_LIBERATOR_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case RELOAD: return new BusAnimation()
|
||||
.addBus("LATCH", new BusAnimationSequence().addPos(15, 0, 0, 100))
|
||||
|
||||
@ -9,10 +9,10 @@ import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
|
||||
import com.hbm.items.weapon.sedna.factory.Orchestras;
|
||||
import com.hbm.items.weapon.sedna.factory.XFactory44;
|
||||
import com.hbm.items.weapon.sedna.factory.XFactory762mm;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
import com.hbm.util.EntityDamageUtil;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
@ -40,10 +40,10 @@ public class WeaponModMASBayonet extends WeaponModBase {
|
||||
public static BiConsumer<ItemStack, LambdaContext> ORCHESTRA_MAS36 = (stack, ctx) -> {
|
||||
EntityLivingBase entity = ctx.entity;
|
||||
if(entity.worldObj.isRemote) return;
|
||||
AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex);
|
||||
GunAnimation type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex);
|
||||
int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex);
|
||||
|
||||
if(type == AnimType.INSPECT) {
|
||||
if(type == GunAnimation.INSPECT) {
|
||||
|
||||
if(timer == 15 && ctx.getPlayer() != null) {
|
||||
MovingObjectPosition mop = EntityDamageUtil.getMouseOver(ctx.getPlayer(), 3.0D);
|
||||
@ -67,7 +67,7 @@ public class WeaponModMASBayonet extends WeaponModBase {
|
||||
Orchestras.ORCHESTRA_MAS36.accept(stack, ctx);
|
||||
};
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_MAS36_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_MAS36_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case INSPECT: return new BusAnimation()
|
||||
.addBus("STAB", new BusAnimationSequence().addPos(0, 1, -2, 250, IType.SIN_DOWN).hold(250).addPos(0, 1, 5, 250, IType.SIN_UP).hold(250).addPos(0, 0, 0, 500, IType.SIN_FULL));
|
||||
|
||||
@ -10,10 +10,10 @@ import com.hbm.items.weapon.sedna.Receiver;
|
||||
import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
|
||||
import com.hbm.items.weapon.sedna.factory.Lego;
|
||||
import com.hbm.items.weapon.sedna.factory.XFactoryRocket;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.BusAnimationSequence;
|
||||
import com.hbm.render.anim.BusAnimationKeyframe.IType;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
import com.hbm.util.EntityDamageUtil;
|
||||
import com.hbm.util.DamageResistanceHandler.DamageClass;
|
||||
|
||||
@ -32,7 +32,7 @@ public class WeaponModPanzerschreckSawedOff extends WeaponModBase {
|
||||
return base;
|
||||
}
|
||||
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, AnimType, BusAnimation> LAMBDA_PANZERSCHRECK_ANIMS = (stack, type) -> {
|
||||
@SuppressWarnings("incomplete-switch") public static BiFunction<ItemStack, GunAnimation, BusAnimation> LAMBDA_PANZERSCHRECK_ANIMS = (stack, type) -> {
|
||||
switch(type) {
|
||||
case EQUIP: return new BusAnimation().addBus("EQUIP", new BusAnimationSequence().addPos(60, 0, 0, 0).addPos(0, 0, 0, 250, IType.SIN_DOWN));
|
||||
}
|
||||
|
||||
@ -1788,105 +1788,6 @@ public class ClientProxy extends ServerProxy {
|
||||
Minecraft.getMinecraft().effectRenderer.addEffect(new ParticleDeadLeaf(man, world, x, y, z));
|
||||
}
|
||||
|
||||
if("anim".equals(type)) {
|
||||
|
||||
String mode = data.getString("mode");
|
||||
|
||||
/* crucible deploy */
|
||||
if("crucible".equals(mode) && player.getHeldItem() != null) {
|
||||
|
||||
BusAnimation animation = new BusAnimation()
|
||||
.addBus("GUARD_ROT", new BusAnimationSequence()
|
||||
.addPos(90, 0, 1, 0)
|
||||
.addPos(90, 0, 1, 800)
|
||||
.addPos(0, 0, 1, 50));
|
||||
|
||||
String id = ModItems.crucible.getUnlocalizedName();
|
||||
HbmAnimations.hotbar[player.inventory.currentItem][0] = new Animation(id, System.currentTimeMillis(), animation, null);
|
||||
}
|
||||
|
||||
/* crucible swing */
|
||||
if("cSwing".equals(mode)) {
|
||||
|
||||
if(HbmAnimations.getRelevantTransformation("SWING_ROT")[0] == 0) {
|
||||
|
||||
int offset = rand.nextInt(80) - 20;
|
||||
|
||||
BusAnimation animation = new BusAnimation()
|
||||
.addBus("SWING_ROT", new BusAnimationSequence()
|
||||
.addPos(90 - offset, 90 - offset, 35, 75)
|
||||
.addPos(90 + offset, 90 - offset, -45, 150)
|
||||
.addPos(0, 0, 0, 500))
|
||||
.addBus("SWING_TRANS", new BusAnimationSequence()
|
||||
.addPos(-3, 0, 0, 75)
|
||||
.addPos(8, 0, 0, 150)
|
||||
.addPos(0, 0, 0, 500));
|
||||
|
||||
Minecraft.getMinecraft().getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("hbm:weapon.cSwing"), 0.8F + player.getRNG().nextFloat() * 0.2F));
|
||||
String id = ModItems.crucible.getUnlocalizedName();
|
||||
HbmAnimations.hotbar[player.inventory.currentItem][0] = new Animation(id, System.currentTimeMillis(), animation, null);
|
||||
}
|
||||
}
|
||||
|
||||
/* chainsaw swing */
|
||||
if("sSwing".equals(mode) || "lSwing".equals(mode)) { //temp for lance
|
||||
|
||||
int forward = 150;
|
||||
int sideways = 100;
|
||||
int retire = 200;
|
||||
|
||||
if(HbmAnimations.getRelevantAnim() == null) {
|
||||
|
||||
BusAnimation animation = new BusAnimation()
|
||||
.addBus("SWING_ROT", new BusAnimationSequence()
|
||||
.addPos(0, 0, 90, forward)
|
||||
.addPos(45, 0, 90, sideways)
|
||||
.addPos(0, 0, 0, retire))
|
||||
.addBus("SWING_TRANS", new BusAnimationSequence()
|
||||
.addPos(0, 0, 3, forward)
|
||||
.addPos(2, 0, 2, sideways)
|
||||
.addPos(0, 0, 0, retire));
|
||||
|
||||
|
||||
HbmAnimations.hotbar[player.inventory.currentItem][0] = new Animation(player.getHeldItem().getItem().getUnlocalizedName(), System.currentTimeMillis(), animation, null);
|
||||
|
||||
} else {
|
||||
|
||||
double[] rot = HbmAnimations.getRelevantTransformation("SWING_ROT");
|
||||
double[] trans = HbmAnimations.getRelevantTransformation("SWING_TRANS");
|
||||
|
||||
if(System.currentTimeMillis() - HbmAnimations.getRelevantAnim().startMillis < 50) return;
|
||||
|
||||
BusAnimation animation = new BusAnimation()
|
||||
.addBus("SWING_ROT", new BusAnimationSequence()
|
||||
.addPos(rot[0], rot[1], rot[2], 0)
|
||||
.addPos(0, 0, 90, forward)
|
||||
.addPos(45, 0, 90, sideways)
|
||||
.addPos(0, 0, 0, retire))
|
||||
.addBus("SWING_TRANS", new BusAnimationSequence()
|
||||
.addPos(trans[0], trans[1], trans[2], 0)
|
||||
.addPos(0, 0, 3, forward)
|
||||
.addPos(2, 0, 2, sideways)
|
||||
.addPos(0, 0, 0, retire));
|
||||
|
||||
HbmAnimations.hotbar[player.inventory.currentItem][0] = new Animation(player.getHeldItem().getItem().getUnlocalizedName(), System.currentTimeMillis(), animation, null);
|
||||
}
|
||||
}
|
||||
|
||||
if("generic".equals(mode)) {
|
||||
ItemStack stack = player.getHeldItem();
|
||||
|
||||
if(stack != null && stack.getItem() instanceof IAnimatedItem) {
|
||||
IAnimatedItem item = (IAnimatedItem) stack.getItem();
|
||||
BusAnimation anim = item.getAnimation(data, stack);
|
||||
|
||||
if(anim != null) {
|
||||
HbmAnimations.hotbar[player.inventory.currentItem][0] = new Animation(player.getHeldItem().getItem().getUnlocalizedName(), System.currentTimeMillis(), anim, null);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if("tau".equals(type)) {
|
||||
|
||||
for(int i = 0; i < data.getByte("count"); i++)
|
||||
|
||||
@ -4,6 +4,7 @@ import com.hbm.blocks.ICustomBlockHighlight;
|
||||
import com.hbm.config.ClientConfig;
|
||||
import com.hbm.config.RadiationConfig;
|
||||
import com.hbm.handler.pollution.PollutionHandler.PollutionType;
|
||||
import com.hbm.items.IAnimatedItem;
|
||||
import com.hbm.items.armor.IArmorDisableModel;
|
||||
import com.hbm.items.armor.IArmorDisableModel.EnumPlayerPart;
|
||||
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
|
||||
@ -210,7 +211,17 @@ public class ModEventHandlerRenderer {
|
||||
RenderPlayer renderer = event.renderer;
|
||||
ItemStack held = player.getHeldItem();
|
||||
|
||||
if(held != null && player.getHeldItem().getItem() instanceof ItemGunBaseNT) {
|
||||
if(held == null) return;
|
||||
|
||||
if(held.getItem() instanceof IAnimatedItem) {
|
||||
if(((IAnimatedItem<?>) held.getItem()).shouldPlayerModelAim(held)) {
|
||||
renderer.modelBipedMain.aimedBow = true;
|
||||
renderer.modelArmor.aimedBow = true;
|
||||
renderer.modelArmorChestplate.aimedBow = true;
|
||||
}
|
||||
}
|
||||
|
||||
if(held.getItem() instanceof ItemGunBaseNT) {
|
||||
renderer.modelBipedMain.aimedBow = true;
|
||||
renderer.modelArmor.aimedBow = true;
|
||||
renderer.modelArmorChestplate.aimedBow = true;
|
||||
|
||||
@ -44,7 +44,7 @@ public class PacketDispatcher {
|
||||
//Signals server to do coord based satellite stuff
|
||||
wrapper.registerMessage(SatCoordPacket.Handler.class, SatCoordPacket.class, i++, Side.SERVER);
|
||||
//Triggers gun animations of the client
|
||||
wrapper.registerMessage(GunAnimationPacket.Handler.class, GunAnimationPacket.class, i++, Side.CLIENT);
|
||||
wrapper.registerMessage(HbmAnimationPacket.Handler.class, HbmAnimationPacket.class, i++, Side.CLIENT);
|
||||
//Sends a funi text to display like a music disc announcement
|
||||
wrapper.registerMessage(PlayerInformPacket.Handler.class, PlayerInformPacket.class, i++, Side.CLIENT);
|
||||
//Universal keybind packet
|
||||
|
||||
@ -3,15 +3,17 @@ package com.hbm.packet.toclient;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.BiFunction;
|
||||
|
||||
import com.hbm.items.IAnimatedItem;
|
||||
import com.hbm.items.armor.ArmorTrenchmaster;
|
||||
import com.hbm.items.weapon.sedna.GunConfig;
|
||||
import com.hbm.items.weapon.sedna.ItemGunBaseNT;
|
||||
import com.hbm.items.weapon.sedna.Receiver;
|
||||
import com.hbm.items.weapon.sedna.ItemGunBaseNT.LambdaContext;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.BusAnimation;
|
||||
import com.hbm.render.anim.HbmAnimations;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
import com.hbm.render.anim.HbmAnimations.Animation;
|
||||
import com.hbm.util.EnumUtil;
|
||||
|
||||
import cpw.mods.fml.common.network.simpleimpl.IMessage;
|
||||
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
|
||||
@ -23,51 +25,51 @@ import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
public class GunAnimationPacket implements IMessage {
|
||||
public class HbmAnimationPacket implements IMessage {
|
||||
|
||||
public short type;
|
||||
public int receiverIndex;
|
||||
public int gunIndex;
|
||||
public int itemIndex;
|
||||
|
||||
public GunAnimationPacket() { }
|
||||
public HbmAnimationPacket() { }
|
||||
|
||||
public GunAnimationPacket(int type) {
|
||||
public HbmAnimationPacket(int type) {
|
||||
this.type = (short) type;
|
||||
this.receiverIndex = 0;
|
||||
this.gunIndex = 0;
|
||||
this.itemIndex = 0;
|
||||
}
|
||||
|
||||
public GunAnimationPacket(int type, int rec) {
|
||||
public HbmAnimationPacket(int type, int rec) {
|
||||
this.type = (short) type;
|
||||
this.receiverIndex = rec;
|
||||
this.gunIndex = 0;
|
||||
this.itemIndex = 0;
|
||||
}
|
||||
|
||||
public GunAnimationPacket(int type, int rec, int gun) {
|
||||
public HbmAnimationPacket(int type, int rec, int gun) {
|
||||
this.type = (short) type;
|
||||
this.receiverIndex = rec;
|
||||
this.gunIndex = gun;
|
||||
this.itemIndex = gun;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fromBytes(ByteBuf buf) {
|
||||
type = buf.readShort();
|
||||
receiverIndex = buf.readInt();
|
||||
gunIndex = buf.readInt();
|
||||
itemIndex = buf.readInt();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void toBytes(ByteBuf buf) {
|
||||
buf.writeShort(type);
|
||||
buf.writeInt(receiverIndex);
|
||||
buf.writeInt(gunIndex);
|
||||
buf.writeInt(itemIndex);
|
||||
}
|
||||
|
||||
public static class Handler implements IMessageHandler<GunAnimationPacket, IMessage> {
|
||||
public static class Handler implements IMessageHandler<HbmAnimationPacket, IMessage> {
|
||||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public IMessage onMessage(GunAnimationPacket m, MessageContext ctx) {
|
||||
public IMessage onMessage(HbmAnimationPacket m, MessageContext ctx) {
|
||||
|
||||
try {
|
||||
|
||||
@ -78,7 +80,9 @@ public class GunAnimationPacket implements IMessage {
|
||||
if(stack == null) return null;
|
||||
|
||||
if(stack.getItem() instanceof ItemGunBaseNT) {
|
||||
handleSedna(player, stack, slot, AnimType.values()[m.type], m.receiverIndex, m.gunIndex);
|
||||
handleSedna(player, stack, slot, GunAnimation.values()[m.type], m.receiverIndex, m.itemIndex);
|
||||
} else if(stack.getItem() instanceof IAnimatedItem) {
|
||||
handleItem(player, stack, slot, m.type, m.receiverIndex, m.itemIndex);
|
||||
}
|
||||
|
||||
} catch(Exception x) { }
|
||||
@ -86,11 +90,11 @@ public class GunAnimationPacket implements IMessage {
|
||||
return null;
|
||||
}
|
||||
|
||||
public static void handleSedna(EntityPlayer player, ItemStack stack, int slot, AnimType type, int receiverIndex, int gunIndex) {
|
||||
public static void handleSedna(EntityPlayer player, ItemStack stack, int slot, GunAnimation type, int receiverIndex, int gunIndex) {
|
||||
ItemGunBaseNT gun = (ItemGunBaseNT) stack.getItem();
|
||||
GunConfig config = gun.getConfig(stack, gunIndex);
|
||||
|
||||
if(type == AnimType.CYCLE) {
|
||||
if(type == GunAnimation.CYCLE) {
|
||||
if(gunIndex < gun.lastShot.length) gun.lastShot[gunIndex] = System.currentTimeMillis();
|
||||
gun.shotRand = player.worldObj.rand.nextDouble();
|
||||
|
||||
@ -102,23 +106,32 @@ public class GunAnimationPacket implements IMessage {
|
||||
}
|
||||
}
|
||||
|
||||
BiFunction<ItemStack, AnimType, BusAnimation> anims = config.getAnims(stack);
|
||||
BiFunction<ItemStack, GunAnimation, BusAnimation> anims = config.getAnims(stack);
|
||||
BusAnimation animation = anims.apply(stack, type);
|
||||
|
||||
if(animation == null && type == AnimType.RELOAD_EMPTY) {
|
||||
animation = anims.apply(stack, AnimType.RELOAD);
|
||||
}
|
||||
if(animation == null && (type == AnimType.ALT_CYCLE || type == AnimType.CYCLE_EMPTY)) {
|
||||
animation = anims.apply(stack, AnimType.CYCLE);
|
||||
if(animation == null && (type == GunAnimation.ALT_CYCLE || type == GunAnimation.CYCLE_EMPTY)) {
|
||||
animation = anims.apply(stack, GunAnimation.CYCLE);
|
||||
}
|
||||
|
||||
if(animation != null) {
|
||||
Minecraft.getMinecraft().entityRenderer.itemRenderer.resetEquippedProgress();
|
||||
Minecraft.getMinecraft().entityRenderer.itemRenderer.itemToRender = stack;
|
||||
boolean isReloadAnimation = type == AnimType.RELOAD || type == AnimType.RELOAD_CYCLE || type == AnimType.RELOAD_EMPTY;
|
||||
boolean isReloadAnimation = type == GunAnimation.RELOAD || type == GunAnimation.RELOAD_CYCLE;
|
||||
if(isReloadAnimation && ArmorTrenchmaster.isTrenchMaster(player)) animation.setTimeMult(0.5D);
|
||||
HbmAnimations.hotbar[slot][gunIndex] = new Animation(stack.getItem().getUnlocalizedName(), System.currentTimeMillis(), animation, type, isReloadAnimation && config.getReloadAnimSequential(stack));
|
||||
HbmAnimations.hotbar[slot][gunIndex] = new Animation(stack.getItem().getUnlocalizedName(), System.currentTimeMillis(), animation, isReloadAnimation && config.getReloadAnimSequential(stack));
|
||||
}
|
||||
}
|
||||
|
||||
public static void handleItem(EntityPlayer player, ItemStack stack, int slot, short type, int receiverIndex, int itemIndex) {
|
||||
IAnimatedItem<?> item = (IAnimatedItem<?>) stack.getItem();
|
||||
Class<? extends Enum<?>> animClass = item.getEnum();
|
||||
BusAnimation animation = item.getAnimation(EnumUtil.grabEnumSafely(animClass, type), stack);
|
||||
|
||||
if(animation != null) {
|
||||
HbmAnimations.hotbar[slot][itemIndex] = new Animation(stack.getItem().getUnlocalizedName(), System.currentTimeMillis(), animation);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
27
src/main/java/com/hbm/render/anim/AnimationEnums.java
Normal file
27
src/main/java/com/hbm/render/anim/AnimationEnums.java
Normal file
@ -0,0 +1,27 @@
|
||||
package com.hbm.render.anim;
|
||||
|
||||
public class AnimationEnums {
|
||||
|
||||
// A NOTE ON SHOTGUN STYLE RELOADS
|
||||
// Make sure the RELOAD adds shells, not just RELOAD_CYCLE, they all proc once for each loaded shell
|
||||
public static enum GunAnimation {
|
||||
RELOAD, //either a full reload or start of a reload
|
||||
RELOAD_CYCLE, //animation that plays for every individual round (for shotguns and similar single round loading weapons)
|
||||
RELOAD_END, //animation for transitioning from our RELOAD_CYCLE to idle
|
||||
CYCLE, //animation for every firing cycle
|
||||
CYCLE_EMPTY, //animation for the final shot in the magazine
|
||||
CYCLE_DRY, //animation for trying to fire, but no round is available
|
||||
ALT_CYCLE, //animation for alt fire cycles
|
||||
SPINUP, //animation for actionstart
|
||||
SPINDOWN, //animation for actionend
|
||||
EQUIP, //animation for drawing the weapon
|
||||
INSPECT, //animation for inspecting the weapon
|
||||
JAMMED, //animation for jammed weapons
|
||||
}
|
||||
|
||||
public static enum ToolAnimation {
|
||||
SWING,
|
||||
EQUIP,
|
||||
}
|
||||
|
||||
}
|
||||
@ -18,25 +18,6 @@ public class HbmAnimations {
|
||||
//animation is playing, though this will cancel the animation entirely.
|
||||
public static final Animation[][] hotbar = new Animation[9][8]; //now with 8 parallel rails per slot! time to get railed!
|
||||
|
||||
public static enum AnimType {
|
||||
RELOAD, //either a full reload or start of a reload
|
||||
@Deprecated RELOAD_EMPTY, //same as reload, but the mag is completely empty
|
||||
RELOAD_CYCLE, //animation that plays for every individual round (for shotguns and similar single round loading weapons)
|
||||
RELOAD_END, //animation for transitioning from our RELOAD_CYCLE to idle
|
||||
CYCLE, //animation for every firing cycle
|
||||
CYCLE_EMPTY, //animation for the final shot in the magazine
|
||||
CYCLE_DRY, //animation for trying to fire, but no round is available
|
||||
ALT_CYCLE, //animation for alt fire cycles
|
||||
SPINUP, //animation for actionstart
|
||||
SPINDOWN, //animation for actionend
|
||||
EQUIP, //animation for drawing the weapon
|
||||
INSPECT, //animation for inspecting the weapon
|
||||
JAMMED //animation for jammed weapons
|
||||
}
|
||||
|
||||
// A NOTE ON SHOTGUN STYLE RELOADS
|
||||
// Make sure the RELOAD and RELOAD_EMPTY adds shells, not just RELOAD_CYCLE, they all proc once for each loaded shell
|
||||
|
||||
public static class Animation {
|
||||
|
||||
//the "name" of the animation slot. if the item has a different key than
|
||||
@ -48,22 +29,16 @@ public class HbmAnimations {
|
||||
public BusAnimation animation;
|
||||
// If set, don't cancel this animation when the timer ends, instead wait for the next to start
|
||||
public boolean holdLastFrame = false;
|
||||
// so we know what type of animation we're playing, only used rarely
|
||||
public AnimType type;
|
||||
|
||||
public Animation(String key, long startMillis, BusAnimation animation, AnimType type) {
|
||||
public Animation(String key, long startMillis, BusAnimation animation) {
|
||||
this.key = key;
|
||||
this.startMillis = startMillis;
|
||||
this.animation = animation;
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public Animation(String key, long startMillis, BusAnimation animation, AnimType type, boolean holdLastFrame) {
|
||||
this.key = key;
|
||||
this.startMillis = startMillis;
|
||||
this.animation = animation;
|
||||
public Animation(String key, long startMillis, BusAnimation animation, boolean holdLastFrame) {
|
||||
this(key, startMillis, animation);
|
||||
this.holdLastFrame = holdLastFrame;
|
||||
this.type = type;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -9,8 +9,8 @@ import com.hbm.items.weapon.sedna.mags.IMagazine;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.particle.SpentCasing;
|
||||
import com.hbm.render.anim.AnimationEnums.GunAnimation;
|
||||
import com.hbm.render.anim.HbmAnimations;
|
||||
import com.hbm.render.anim.HbmAnimations.AnimType;
|
||||
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@ -94,7 +94,7 @@ public class ItemRenderCongoLake extends ItemRenderWeaponBase {
|
||||
GL11.glPushMatrix();
|
||||
{
|
||||
IMagazine mag = gun.getConfig(stack, 0).getReceivers(stack)[0].getMagazine(stack);
|
||||
if(gun.getLastAnim(stack, 0) != AnimType.INSPECT || mag.getAmount(stack, MainRegistry.proxy.me().inventory) > 0) { //omit when inspecting and no shell is loaded
|
||||
if(gun.getLastAnim(stack, 0) != GunAnimation.INSPECT || mag.getAmount(stack, MainRegistry.proxy.me().inventory) > 0) { //omit when inspecting and no shell is loaded
|
||||
|
||||
Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.casings_tex);
|
||||
|
||||
|
||||
@ -266,12 +266,8 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn
|
||||
for(int i = 0; i < 4; i++) tanks[i].deserialize(buf);
|
||||
boolean left = buf.readBoolean();
|
||||
boolean right = buf.readBoolean();
|
||||
if(left) {
|
||||
this.leftStack = new MaterialStack(Mats.matById.get(buf.readInt()), buf.readInt());
|
||||
}
|
||||
if(right) {
|
||||
this.rightStack = new MaterialStack(Mats.matById.get(buf.readInt()), buf.readInt());
|
||||
}
|
||||
this.leftStack = left ? new MaterialStack(Mats.matById.get(buf.readInt()), buf.readInt()) : null;
|
||||
this.rightStack = right ? new MaterialStack(Mats.matById.get(buf.readInt()), buf.readInt()) : null;
|
||||
this.lastSelectedGUI = buf.readInt();
|
||||
}
|
||||
|
||||
|
||||
@ -5,6 +5,7 @@ import java.util.*;
|
||||
|
||||
import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.blocks.generic.BlockDepth;
|
||||
import com.hbm.blocks.generic.BlockBedrockOreTE.TileEntityBedrockOre;
|
||||
import com.hbm.blocks.network.CraneInserter;
|
||||
import com.hbm.entity.item.EntityMovingItem;
|
||||
@ -270,7 +271,12 @@ public class TileEntityMachineExcavator extends TileEntityMachineBase implements
|
||||
break;
|
||||
}
|
||||
|
||||
if(shouldIgnoreBlock(b, x, y ,z)) continue;
|
||||
// if hitting depth rock, turn off the drill
|
||||
if(b instanceof BlockDepth) {
|
||||
this.enableDrill = false;
|
||||
}
|
||||
|
||||
if(shouldIgnoreBlock(b, x, y, z)) continue;
|
||||
|
||||
ignoreAll = false;
|
||||
|
||||
|
||||
@ -1098,9 +1098,7 @@ public class NBTStructure {
|
||||
private SpawnCondition nextSpawn;
|
||||
|
||||
public void generateStructures(World world, Random rand, IChunkProvider chunkProvider, int chunkX, int chunkZ) {
|
||||
Block[] ablock = new Block[65536];
|
||||
|
||||
func_151539_a(chunkProvider, world, chunkX, chunkZ, ablock);
|
||||
func_151539_a(chunkProvider, world, chunkX, chunkZ, null);
|
||||
generateStructuresInChunk(world, rand, chunkX, chunkZ);
|
||||
}
|
||||
|
||||
|
||||
@ -614,34 +614,34 @@ digamma.playerHealth=Digammaeinfluss:
|
||||
digamma.playerRes=Digammaresistenz:
|
||||
digamma.title=DIGAMMA-DIAGNOSEGERÄT
|
||||
|
||||
entity.entity_cyber_crab.name=Cyber-Krabbe
|
||||
entity.entity_elder_one.name=Quackos der Älteste
|
||||
entity.entity_fucc_a_ducc.name=Ente
|
||||
entity.entity_glyphid.name=Glyphid
|
||||
entity.entity_glyphid_behemoth.name=Glyphid-Behemoth
|
||||
entity.entity_glyphid_blaster.name=Glyphid-Blaster
|
||||
entity.entity_glyphid_bombardier.name=Glyphid-Bombardierer
|
||||
entity.entity_glyphid_brawler.name=Glyphid-Schläger
|
||||
entity.entity_glyphid_brenda.name=Brenda
|
||||
entity.entity_glyphid_digger.name=Glyphid-Gräber
|
||||
entity.entity_glyphid_nuclear.name=Der dicke Johnson
|
||||
entity.entity_glyphid_scout.name=Glyphid-Späher
|
||||
entity.entity_ntm_fbi.name=FBI Agent
|
||||
entity.entity_ntm_fbi_drone.name=FBI Drone
|
||||
entity.entity_ntm_radiation_blaze.name=Kernschmelze-Elementar
|
||||
entity.hbm.entity_cyber_crab.name=Cyber-Krabbe
|
||||
entity.hbm.entity_elder_one.name=Quackos der Älteste
|
||||
entity.hbm.entity_fucc_a_ducc.name=Ente
|
||||
entity.hbm.entity_glyphid.name=Glyphid
|
||||
entity.hbm.entity_glyphid_behemoth.name=Glyphid-Behemoth
|
||||
entity.hbm.entity_glyphid_blaster.name=Glyphid-Blaster
|
||||
entity.hbm.entity_glyphid_bombardier.name=Glyphid-Bombardierer
|
||||
entity.hbm.entity_glyphid_brawler.name=Glyphid-Schläger
|
||||
entity.hbm.entity_glyphid_brenda.name=Brenda
|
||||
entity.hbm.entity_glyphid_digger.name=Glyphid-Gräber
|
||||
entity.hbm.entity_glyphid_nuclear.name=Der dicke Johnson
|
||||
entity.hbm.entity_glyphid_scout.name=Glyphid-Späher
|
||||
entity.hbm.entity_ntm_fbi.name=FBI Agent
|
||||
entity.hbm.entity_ntm_fbi_drone.name=FBI Drone
|
||||
entity.hbm.entity_ntm_radiation_blaze.name=Kernschmelze-Elementar
|
||||
entity.hbm.entity_ntm_ufo.name=Marsianisches Invasionsschiff
|
||||
entity.entity_mob_hunter_chopper.name=Jagdschrauber
|
||||
entity.entity_mob_mask_man.name=Maskenmann
|
||||
entity.entity_mob_gold_creeper.name=Goldener Creeper
|
||||
entity.entity_mob_nuclear_creeper.name=Nuklearer Creeper
|
||||
entity.entity_mob_phosgene_creeper.name=Phosgen-Creeper
|
||||
entity.entity_mob_tainted_creeper.name=Verseuchter Creeper
|
||||
entity.entity_mob_volatile_creeper.name=Instabiler Creeper
|
||||
entity.entity_parasite_maggot.name=Parasitische Made
|
||||
entity.entity_pigeon.name=Taube
|
||||
entity.entity_plastic_bag.name=Plastiktüte
|
||||
entity.entity_taint_crab.name=Verseuchte Krabbe
|
||||
entity.entity_tesla_crab.name=Tesla-Krabbe
|
||||
entity.hbm.entity_mob_hunter_chopper.name=Jagdschrauber
|
||||
entity.hbm.entity_mob_mask_man.name=Maskenmann
|
||||
entity.hbm.entity_mob_gold_creeper.name=Goldener Creeper
|
||||
entity.hbm.entity_mob_nuclear_creeper.name=Nuklearer Creeper
|
||||
entity.hbm.entity_mob_phosgene_creeper.name=Phosgen-Creeper
|
||||
entity.hbm.entity_mob_tainted_creeper.name=Verseuchter Creeper
|
||||
entity.hbm.entity_mob_volatile_creeper.name=Instabiler Creeper
|
||||
entity.hbm.entity_parasite_maggot.name=Parasitische Made
|
||||
entity.hbm.entity_pigeon.name=Taube
|
||||
entity.hbm.entity_plastic_bag.name=Plastiktüte
|
||||
entity.hbm.entity_taint_crab.name=Verseuchte Krabbe
|
||||
entity.hbm.entity_tesla_crab.name=Tesla-Krabbe
|
||||
entity.hbm.entity_balls_o_tron.name=Balls-O-Tron Prime
|
||||
entity.hbm.entity_balls_o_tron_seg.name=Balls-O-Tron Segment
|
||||
entity.hbm.entity_bullet.name=Patrone
|
||||
|
||||
@ -1197,34 +1197,34 @@ digamma.playerHealth=Digamma influence:
|
||||
digamma.playerRes=Digamma resistance:
|
||||
digamma.title=DIGAMMA DIAGNOSTIC
|
||||
|
||||
entity.entity_cyber_crab.name=Cyber Crab
|
||||
entity.entity_elder_one.name=Quackos The Elder One
|
||||
entity.entity_fucc_a_ducc.name=Duck
|
||||
entity.entity_glyphid.name=Glyphid
|
||||
entity.entity_glyphid_behemoth.name=Glyphid Behemoth
|
||||
entity.entity_glyphid_blaster.name=Glyphid Blaster
|
||||
entity.entity_glyphid_bombardier.name=Glyphid Bombardier
|
||||
entity.entity_glyphid_brawler.name=Glyphid Brawler
|
||||
entity.entity_glyphid_brenda.name=Brenda
|
||||
entity.entity_glyphid_digger.name=Glyphid Digger
|
||||
entity.entity_glyphid_nuclear.name=Big Man Johnson
|
||||
entity.entity_glyphid_scout.name=Glyphid Scout
|
||||
entity.entity_ntm_fbi.name=FBI Agent
|
||||
entity.entity_ntm_fbi_drone.name=FBI Drone
|
||||
entity.entity_ntm_radiation_blaze.name=Meltdown Elemental
|
||||
entity.hbm.entity_cyber_crab.name=Cyber Crab
|
||||
entity.hbm.entity_elder_one.name=Quackos The Elder One
|
||||
entity.hbm.entity_fucc_a_ducc.name=Duck
|
||||
entity.hbm.entity_glyphid.name=Glyphid
|
||||
entity.hbm.entity_glyphid_behemoth.name=Glyphid Behemoth
|
||||
entity.hbm.entity_glyphid_blaster.name=Glyphid Blaster
|
||||
entity.hbm.entity_glyphid_bombardier.name=Glyphid Bombardier
|
||||
entity.hbm.entity_glyphid_brawler.name=Glyphid Brawler
|
||||
entity.hbm.entity_glyphid_brenda.name=Brenda
|
||||
entity.hbm.entity_glyphid_digger.name=Glyphid Digger
|
||||
entity.hbm.entity_glyphid_nuclear.name=Big Man Johnson
|
||||
entity.hbm.entity_glyphid_scout.name=Glyphid Scout
|
||||
entity.hbm.entity_ntm_fbi.name=FBI Agent
|
||||
entity.hbm.entity_ntm_fbi_drone.name=FBI Drone
|
||||
entity.hbm.entity_ntm_radiation_blaze.name=Meltdown Elemental
|
||||
entity.hbm.entity_ntm_ufo.name=Martian Invasion Ship
|
||||
entity.entity_mob_hunter_chopper.name=Hunter Chopper
|
||||
entity.entity_mob_mask_man.name=Mask Man
|
||||
entity.entity_mob_gold_creeper.name=Golden Creeper
|
||||
entity.entity_mob_nuclear_creeper.name=Nuclear Creeper
|
||||
entity.entity_mob_phosgene_creeper.name=Phosgene Creeper
|
||||
entity.entity_mob_tainted_creeper.name=Tainted Creeper
|
||||
entity.entity_mob_volatile_creeper.name=Volatile Creeper
|
||||
entity.entity_parasite_maggot.name=Parasitic Maggot
|
||||
entity.entity_pigeon.name=Pigeon
|
||||
entity.entity_plastic_bag.name=Plastic Bag
|
||||
entity.entity_taint_crab.name=Taint Crab
|
||||
entity.entity_tesla_crab.name=Tesla Crab
|
||||
entity.hbm.entity_mob_hunter_chopper.name=Hunter Chopper
|
||||
entity.hbm.entity_mob_mask_man.name=Mask Man
|
||||
entity.hbm.entity_mob_gold_creeper.name=Golden Creeper
|
||||
entity.hbm.entity_mob_nuclear_creeper.name=Nuclear Creeper
|
||||
entity.hbm.entity_mob_phosgene_creeper.name=Phosgene Creeper
|
||||
entity.hbm.entity_mob_tainted_creeper.name=Tainted Creeper
|
||||
entity.hbm.entity_mob_volatile_creeper.name=Volatile Creeper
|
||||
entity.hbm.entity_parasite_maggot.name=Parasitic Maggot
|
||||
entity.hbm.entity_pigeon.name=Pigeon
|
||||
entity.hbm.entity_plastic_bag.name=Plastic Bag
|
||||
entity.hbm.entity_taint_crab.name=Taint Crab
|
||||
entity.hbm.entity_tesla_crab.name=Tesla Crab
|
||||
entity.hbm.entity_balls_o_tron.name=Balls-O-Tron Prime
|
||||
entity.hbm.entity_balls_o_tron_seg.name=Balls-O-Tron Segment
|
||||
entity.hbm.entity_bullet.name=Bullet
|
||||
|
||||
@ -1127,9 +1127,9 @@ item.stealth_boy.name=Module de furtiviter
|
||||
entity.hbm.entity_bullet.name=Balle
|
||||
entity.hbm.entity_rocket.name=Roquettes
|
||||
entity.hbm.entity_schrabnel.name=Shrapnel
|
||||
entity.entity_mob_nuclear_creeper.name=Creeper nucléaire
|
||||
entity.entity_mob_hunter_chopper.name=Hélicoptère de chasse
|
||||
entity.entity_cyber_crab.name=Cyber-crabe
|
||||
entity.hbm.entity_mob_nuclear_creeper.name=Creeper nucléaire
|
||||
entity.hbm.entity_mob_hunter_chopper.name=Hélicoptère de chasse
|
||||
entity.hbm.entity_cyber_crab.name=Cyber-crabe
|
||||
|
||||
item.cap_aluminium.name=Capuchon en aluminium
|
||||
item.hull_small_steel.name=Petite coque en acier
|
||||
|
||||
@ -1379,34 +1379,34 @@ digamma.playerHealth=Digamma influence:
|
||||
digamma.playerRes=Digamma resistance:
|
||||
digamma.title=DIGAMMA DIAGNOSTIC
|
||||
|
||||
entity.entity_cyber_crab.name=Cyber Crab
|
||||
entity.entity_elder_one.name=Quackos The Elder One
|
||||
entity.entity_fucc_a_ducc.name=Duck
|
||||
entity.entity_glyphid.name=Glyphid
|
||||
entity.entity_glyphid_behemoth.name=Glyphid Behemoth
|
||||
entity.entity_glyphid_blaster.name=Glyphid Blaster
|
||||
entity.entity_glyphid_bombardier.name=Glyphid Bombardier
|
||||
entity.entity_glyphid_brawler.name=Glyphid Brawler
|
||||
entity.entity_glyphid_brenda.name=Brenda
|
||||
entity.entity_glyphid_digger.name=Glyphid Digger
|
||||
entity.entity_glyphid_nuclear.name=Big Man Johnson
|
||||
entity.entity_glyphid_scout.name=Glyphid Scout
|
||||
entity.entity_ntm_fbi.name=FBI Agent
|
||||
entity.entity_ntm_fbi_drone.name=FBI Drone
|
||||
entity.entity_ntm_radiation_blaze.name=Meltdown Elemental
|
||||
entity.hbm.entity_cyber_crab.name=Cyber Crab
|
||||
entity.hbm.entity_elder_one.name=Quackos The Elder One
|
||||
entity.hbm.entity_fucc_a_ducc.name=Duck
|
||||
entity.hbm.entity_glyphid.name=Glyphid
|
||||
entity.hbm.entity_glyphid_behemoth.name=Glyphid Behemoth
|
||||
entity.hbm.entity_glyphid_blaster.name=Glyphid Blaster
|
||||
entity.hbm.entity_glyphid_bombardier.name=Glyphid Bombardier
|
||||
entity.hbm.entity_glyphid_brawler.name=Glyphid Brawler
|
||||
entity.hbm.entity_glyphid_brenda.name=Brenda
|
||||
entity.hbm.entity_glyphid_digger.name=Glyphid Digger
|
||||
entity.hbm.entity_glyphid_nuclear.name=Big Man Johnson
|
||||
entity.hbm.entity_glyphid_scout.name=Glyphid Scout
|
||||
entity.hbm.entity_ntm_fbi.name=FBI Agent
|
||||
entity.hbm.entity_ntm_fbi_drone.name=FBI Drone
|
||||
entity.hbm.entity_ntm_radiation_blaze.name=Meltdown Elemental
|
||||
entity.hbm.entity_ntm_ufo.name=Martian Invasion Ship
|
||||
entity.entity_mob_hunter_chopper.name=Hunter Chopper
|
||||
entity.entity_mob_mask_man.name=Mask Man
|
||||
entity.entity_mob_gold_creeper.name=Golden Creeper
|
||||
entity.entity_mob_nuclear_creeper.name=Nuclear Creeper
|
||||
entity.entity_mob_phosgene_creeper.name=Phosgene Creeper
|
||||
entity.entity_mob_tainted_creeper.name=Tainted Creeper
|
||||
entity.entity_mob_volatile_creeper.name=Volatile Creeper
|
||||
entity.entity_parasite_maggot.name=Parasitic Maggot
|
||||
entity.entity_pigeon.name=Pigeon
|
||||
entity.entity_plastic_bag.name=Plastic Bag
|
||||
entity.entity_taint_crab.name=Taint Crab
|
||||
entity.entity_tesla_crab.name=Tesla Crab
|
||||
entity.hbm.entity_mob_hunter_chopper.name=Hunter Chopper
|
||||
entity.hbm.entity_mob_mask_man.name=Mask Man
|
||||
entity.hbm.entity_mob_gold_creeper.name=Golden Creeper
|
||||
entity.hbm.entity_mob_nuclear_creeper.name=Nuclear Creeper
|
||||
entity.hbm.entity_mob_phosgene_creeper.name=Phosgene Creeper
|
||||
entity.hbm.entity_mob_tainted_creeper.name=Tainted Creeper
|
||||
entity.hbm.entity_mob_volatile_creeper.name=Volatile Creeper
|
||||
entity.hbm.entity_parasite_maggot.name=Parasitic Maggot
|
||||
entity.hbm.entity_pigeon.name=Pigeon
|
||||
entity.hbm.entity_plastic_bag.name=Plastic Bag
|
||||
entity.hbm.entity_taint_crab.name=Taint Crab
|
||||
entity.hbm.entity_tesla_crab.name=Tesla Crab
|
||||
entity.hbm.entity_balls_o_tron.name=Balls-O-Tron Prime
|
||||
entity.hbm.entity_balls_o_tron_seg.name=Balls-O-Tron Segment
|
||||
entity.hbm.entity_bullet.name=Bullet
|
||||
|
||||
@ -1013,29 +1013,29 @@ digamma.playerHealth=Wpływ Digammy:
|
||||
digamma.playerRes=Odporność na digamę:
|
||||
digamma.title=DIAGNOSTYKA DIGAMMY
|
||||
|
||||
entity.entity_cyber_crab.name=Cyberkrab
|
||||
entity.entity_elder_one.name=Quackos Starszy
|
||||
entity.entity_fucc_a_ducc.name=Kaczka
|
||||
entity.entity_glyphid.name=Glyfid
|
||||
entity.entity_glyphid_behemoth.name=Glyfid Behemot
|
||||
entity.entity_glyphid_blaster.name=Glyfid Blaster
|
||||
entity.entity_glyphid_bombardier.name=Glyfid Bombardier
|
||||
entity.entity_glyphid_brawler.name=Glyfid Awanturnik
|
||||
entity.entity_glyphid_brenda.name=Brenda
|
||||
entity.entity_glyphid_nuclear.name=Big Men Dżonson
|
||||
entity.entity_glyphid_scout.name=Glyfid Skaut
|
||||
entity.entity_ntm_fbi.name=Agent FBI
|
||||
entity.entity_ntm_radiation_blaze.name=Żywiołak stopienia
|
||||
entity.hbm.entity_cyber_crab.name=Cyberkrab
|
||||
entity.hbm.entity_elder_one.name=Quackos Starszy
|
||||
entity.hbm.entity_fucc_a_ducc.name=Kaczka
|
||||
entity.hbm.entity_glyphid.name=Glyfid
|
||||
entity.hbm.entity_glyphid_behemoth.name=Glyfid Behemot
|
||||
entity.hbm.entity_glyphid_blaster.name=Glyfid Blaster
|
||||
entity.hbm.entity_glyphid_bombardier.name=Glyfid Bombardier
|
||||
entity.hbm.entity_glyphid_brawler.name=Glyfid Awanturnik
|
||||
entity.hbm.entity_glyphid_brenda.name=Brenda
|
||||
entity.hbm.entity_glyphid_nuclear.name=Big Men Dżonson
|
||||
entity.hbm.entity_glyphid_scout.name=Glyfid Skaut
|
||||
entity.hbm.entity_ntm_fbi.name=Agent FBI
|
||||
entity.hbm.entity_ntm_radiation_blaze.name=Żywiołak stopienia
|
||||
entity.hbm.entity_ntm_ufo.name=Statek Inwazji Marsjan
|
||||
entity.entity_mob_hunter_chopper.name=Chopper Myśliwy
|
||||
entity.entity_mob_mask_man.name=Pan w Masce
|
||||
entity.entity_mob_gold_creeper.name=Złoty Creeper
|
||||
entity.entity_mob_nuclear_creeper.name=Jądrowy creeper
|
||||
entity.entity_mob_phosgene_creeper.name=Fosgenowy Creeper
|
||||
entity.entity_mob_tainted_creeper.name=Skażony creeper
|
||||
entity.entity_mob_volatile_creeper.name=Lotny Creeper
|
||||
entity.entity_taint_crab.name=Skażony krab
|
||||
entity.entity_tesla_crab.name=Krab Tesli
|
||||
entity.hbm.entity_mob_hunter_chopper.name=Chopper Myśliwy
|
||||
entity.hbm.entity_mob_mask_man.name=Pan w Masce
|
||||
entity.hbm.entity_mob_gold_creeper.name=Złoty Creeper
|
||||
entity.hbm.entity_mob_nuclear_creeper.name=Jądrowy creeper
|
||||
entity.hbm.entity_mob_phosgene_creeper.name=Fosgenowy Creeper
|
||||
entity.hbm.entity_mob_tainted_creeper.name=Skażony creeper
|
||||
entity.hbm.entity_mob_volatile_creeper.name=Lotny Creeper
|
||||
entity.hbm.entity_taint_crab.name=Skażony krab
|
||||
entity.hbm.entity_tesla_crab.name=Krab Tesli
|
||||
entity.hbm.entity_balls_o_tron.name=Jądro-Tron
|
||||
entity.hbm.entity_balls_o_tron_seg.name=Segment Jądro-Trona
|
||||
entity.hbm.entity_bullet.name=Pocisk
|
||||
|
||||
@ -1193,34 +1193,34 @@ digamma.playerHealth=Влияние дигаммы:
|
||||
digamma.playerRes=Сопротивление к дигамме:
|
||||
digamma.title=ДИАГНОСТИКА ДИГАММЫ
|
||||
|
||||
entity.entity_cyber_crab.name=Киберкраб
|
||||
entity.entity_elder_one.name=Крякос Старший
|
||||
entity.entity_fucc_a_ducc.name=Утка
|
||||
entity.entity_glyphid.name=Глифид
|
||||
entity.entity_glyphid_behemoth.name=Глифид-страж
|
||||
entity.entity_glyphid_blaster.name=Глифид-стрелок
|
||||
entity.entity_glyphid_bombardier.name=Глифид-бомбардир
|
||||
entity.entity_glyphid_brawler.name=Глифид-солдат
|
||||
entity.entity_glyphid_brenda.name=Бренда
|
||||
entity.entity_glyphid_digger.name=Глифид-копатель
|
||||
entity.entity_glyphid_nuclear.name=Чмяк
|
||||
entity.entity_glyphid_scout.name=Глифид-скаут
|
||||
entity.entity_ntm_fbi.name=Агент ФБР
|
||||
entity.entity_ntm_fbi_drone.name=Дрон ФБР
|
||||
entity.entity_ntm_radiation_blaze.name=Элементаль Расплавления
|
||||
entity.hbm.entity_cyber_crab.name=Киберкраб
|
||||
entity.hbm.entity_elder_one.name=Крякос Старший
|
||||
entity.hbm.entity_fucc_a_ducc.name=Утка
|
||||
entity.hbm.entity_glyphid.name=Глифид
|
||||
entity.hbm.entity_glyphid_behemoth.name=Глифид-страж
|
||||
entity.hbm.entity_glyphid_blaster.name=Глифид-стрелок
|
||||
entity.hbm.entity_glyphid_bombardier.name=Глифид-бомбардир
|
||||
entity.hbm.entity_glyphid_brawler.name=Глифид-солдат
|
||||
entity.hbm.entity_glyphid_brenda.name=Бренда
|
||||
entity.hbm.entity_glyphid_digger.name=Глифид-копатель
|
||||
entity.hbm.entity_glyphid_nuclear.name=Чмяк
|
||||
entity.hbm.entity_glyphid_scout.name=Глифид-скаут
|
||||
entity.hbm.entity_ntm_fbi.name=Агент ФБР
|
||||
entity.hbm.entity_ntm_fbi_drone.name=Дрон ФБР
|
||||
entity.hbm.entity_ntm_radiation_blaze.name=Элементаль Расплавления
|
||||
entity.hbm.entity_ntm_ufo.name=Марсианский корабль вторжения
|
||||
entity.entity_mob_hunter_chopper.name=Вертолёт-охотник
|
||||
entity.entity_mob_mask_man.name=Маскмен
|
||||
entity.entity_mob_gold_creeper.name=Золотой крипер
|
||||
entity.entity_mob_nuclear_creeper.name=Ядерный крипер
|
||||
entity.entity_mob_phosgene_creeper.name=Фосгеновый крипер
|
||||
entity.entity_mob_tainted_creeper.name=Заражённый порчей крипер
|
||||
entity.entity_mob_volatile_creeper.name=Возгораемый крипер
|
||||
entity.entity_parasite_maggot.name=Паразитическая личинка
|
||||
entity.entity_pigeon.name=Голубь
|
||||
entity.entity_plastic_bag.name=Пластиковый пакетик
|
||||
entity.entity_taint_crab.name=Заражённый порчей теслакраб
|
||||
entity.entity_tesla_crab.name=Теслакраб
|
||||
entity.hbm.entity_mob_hunter_chopper.name=Вертолёт-охотник
|
||||
entity.hbm.entity_mob_mask_man.name=Маскмен
|
||||
entity.hbm.entity_mob_gold_creeper.name=Золотой крипер
|
||||
entity.hbm.entity_mob_nuclear_creeper.name=Ядерный крипер
|
||||
entity.hbm.entity_mob_phosgene_creeper.name=Фосгеновый крипер
|
||||
entity.hbm.entity_mob_tainted_creeper.name=Заражённый порчей крипер
|
||||
entity.hbm.entity_mob_volatile_creeper.name=Возгораемый крипер
|
||||
entity.hbm.entity_parasite_maggot.name=Паразитическая личинка
|
||||
entity.hbm.entity_pigeon.name=Голубь
|
||||
entity.hbm.entity_plastic_bag.name=Пластиковый пакетик
|
||||
entity.hbm.entity_taint_crab.name=Заражённый порчей теслакраб
|
||||
entity.hbm.entity_tesla_crab.name=Теслакраб
|
||||
entity.hbm.entity_balls_o_tron.name=Баллс-О-Трон Прайм
|
||||
entity.hbm.entity_balls_o_tron_seg.name=Баллс-О-Трон Сегмент
|
||||
entity.hbm.entity_bullet.name=Пуля
|
||||
|
||||
@ -1196,34 +1196,34 @@ digamma.playerHealth=Digamma influence:
|
||||
digamma.playerRes=Digamma resistance:
|
||||
digamma.title=DIGAMMA DIAGNOSTIC
|
||||
|
||||
entity.entity_cyber_crab.name=Кіберкраб
|
||||
entity.entity_elder_one.name=Крякос Старший
|
||||
entity.entity_fucc_a_ducc.name=Качка
|
||||
entity.entity_glyphid.name=Гліфід
|
||||
entity.entity_glyphid_behemoth.name=Гліфід Бегемот
|
||||
entity.entity_glyphid_blaster.name=Гліфід Бластер
|
||||
entity.entity_glyphid_bombardier.name=Гліфід Бомбардир
|
||||
entity.entity_glyphid_brawler.name=Гліфід Боєць
|
||||
entity.entity_glyphid_brenda.name=Бренда
|
||||
entity.entity_glyphid_digger.name=Гліфід Копач
|
||||
entity.entity_glyphid_nuclear.name=Великий Джонсон
|
||||
entity.entity_glyphid_scout.name=Гліфід Розвідник
|
||||
entity.entity_ntm_fbi.name=Агент ФБР
|
||||
entity.entity_ntm_fbi_drone.name=Дрон ФБР
|
||||
entity.entity_ntm_radiation_blaze.name=Елементаль Розплавлення
|
||||
entity.hbm.entity_cyber_crab.name=Кіберкраб
|
||||
entity.hbm.entity_elder_one.name=Крякос Старший
|
||||
entity.hbm.entity_fucc_a_ducc.name=Качка
|
||||
entity.hbm.entity_glyphid.name=Гліфід
|
||||
entity.hbm.entity_glyphid_behemoth.name=Гліфід Бегемот
|
||||
entity.hbm.entity_glyphid_blaster.name=Гліфід Бластер
|
||||
entity.hbm.entity_glyphid_bombardier.name=Гліфід Бомбардир
|
||||
entity.hbm.entity_glyphid_brawler.name=Гліфід Боєць
|
||||
entity.hbm.entity_glyphid_brenda.name=Бренда
|
||||
entity.hbm.entity_glyphid_digger.name=Гліфід Копач
|
||||
entity.hbm.entity_glyphid_nuclear.name=Великий Джонсон
|
||||
entity.hbm.entity_glyphid_scout.name=Гліфід Розвідник
|
||||
entity.hbm.entity_ntm_fbi.name=Агент ФБР
|
||||
entity.hbm.entity_ntm_fbi_drone.name=Дрон ФБР
|
||||
entity.hbm.entity_ntm_radiation_blaze.name=Елементаль Розплавлення
|
||||
entity.hbm.entity_ntm_ufo.name=Марсіанький корабель НЛО
|
||||
entity.entity_mob_hunter_chopper.name=Гвинтокрил Мислиивець
|
||||
entity.entity_mob_mask_man.name=Маскмен
|
||||
entity.entity_mob_gold_creeper.name=Золотий Кріпер
|
||||
entity.entity_mob_nuclear_creeper.name=Ядерний Кріпер
|
||||
entity.entity_mob_phosgene_creeper.name=Фосгений Кріпер
|
||||
entity.entity_mob_tainted_creeper.name=Інфікований Кріпер
|
||||
entity.entity_mob_volatile_creeper.name=Шлаковий Кріпер
|
||||
entity.entity_parasite_maggot.name=Паразитична личинка
|
||||
entity.entity_pigeon.name=Голуб
|
||||
entity.entity_plastic_bag.name=Пластиковий пакет
|
||||
entity.entity_taint_crab.name=Інфікований Краб
|
||||
entity.entity_tesla_crab.name=Тесла Краб
|
||||
entity.hbm.entity_mob_hunter_chopper.name=Гвинтокрил Мислиивець
|
||||
entity.hbm.entity_mob_mask_man.name=Маскмен
|
||||
entity.hbm.entity_mob_gold_creeper.name=Золотий Кріпер
|
||||
entity.hbm.entity_mob_nuclear_creeper.name=Ядерний Кріпер
|
||||
entity.hbm.entity_mob_phosgene_creeper.name=Фосгений Кріпер
|
||||
entity.hbm.entity_mob_tainted_creeper.name=Інфікований Кріпер
|
||||
entity.hbm.entity_mob_volatile_creeper.name=Шлаковий Кріпер
|
||||
entity.hbm.entity_parasite_maggot.name=Паразитична личинка
|
||||
entity.hbm.entity_pigeon.name=Голуб
|
||||
entity.hbm.entity_plastic_bag.name=Пластиковий пакет
|
||||
entity.hbm.entity_taint_crab.name=Інфікований Краб
|
||||
entity.hbm.entity_tesla_crab.name=Тесла Краб
|
||||
entity.hbm.entity_balls_o_tron.name=Баллс-О-Трон Прайм
|
||||
entity.hbm.entity_balls_o_tron_seg.name=Баллс-О-Трон Сегмент
|
||||
entity.hbm.entity_bullet.name=Куля
|
||||
|
||||
@ -1067,34 +1067,34 @@ digamma.playerDigamma=玩家F-迪伽马辐照水平:
|
||||
digamma.playerHealth=玩家所受F-迪伽马辐照影响:
|
||||
digamma.playerRes=玩家F-迪伽马防护水平:
|
||||
digamma.title=玩家F-迪伽马辐射自检器
|
||||
entity.entity_cyber_crab.name=赛博螃蟹
|
||||
entity.entity_elder_one.name=上古鸭神
|
||||
entity.entity_fucc_a_ducc.name=鸭子
|
||||
entity.entity_glyphid.name=异虫
|
||||
entity.entity_glyphid_behemoth.name=巨兽异虫
|
||||
entity.entity_glyphid_blaster.name=爆破异虫
|
||||
entity.entity_glyphid_bombardier.name=投弹手异虫
|
||||
entity.entity_glyphid_brawler.name=狂战士异虫
|
||||
entity.entity_glyphid_brenda.name=布伦达
|
||||
entity.entity_glyphid_digger.name=掘地异虫
|
||||
entity.entity_glyphid_nuclear.name=大个子强森
|
||||
entity.entity_glyphid_scout.name=侦察异虫
|
||||
entity.entity_ntm_fbi.name=FBI探员
|
||||
entity.entity_ntm_fbi_drone.name=FBI无人机
|
||||
entity.entity_ntm_radiation_blaze.name=核融元素
|
||||
entity.hbm.entity_cyber_crab.name=赛博螃蟹
|
||||
entity.hbm.entity_elder_one.name=上古鸭神
|
||||
entity.hbm.entity_fucc_a_ducc.name=鸭子
|
||||
entity.hbm.entity_glyphid.name=异虫
|
||||
entity.hbm.entity_glyphid_behemoth.name=巨兽异虫
|
||||
entity.hbm.entity_glyphid_blaster.name=爆破异虫
|
||||
entity.hbm.entity_glyphid_bombardier.name=投弹手异虫
|
||||
entity.hbm.entity_glyphid_brawler.name=狂战士异虫
|
||||
entity.hbm.entity_glyphid_brenda.name=布伦达
|
||||
entity.hbm.entity_glyphid_digger.name=掘地异虫
|
||||
entity.hbm.entity_glyphid_nuclear.name=大个子强森
|
||||
entity.hbm.entity_glyphid_scout.name=侦察异虫
|
||||
entity.hbm.entity_ntm_fbi.name=FBI探员
|
||||
entity.hbm.entity_ntm_fbi_drone.name=FBI无人机
|
||||
entity.hbm.entity_ntm_radiation_blaze.name=核融元素
|
||||
entity.hbm.entity_ntm_ufo.name=火星入侵者飞船
|
||||
entity.entity_mob_hunter_chopper.name=猎人直升机
|
||||
entity.entity_mob_mask_man.name=面具人
|
||||
entity.entity_mob_gold_creeper.name=黄金爬行者
|
||||
entity.entity_mob_nuclear_creeper.name=核爆爬行者
|
||||
entity.entity_mob_phosgene_creeper.name=光气爬行者
|
||||
entity.entity_mob_tainted_creeper.name=污染爬行者
|
||||
entity.entity_mob_volatile_creeper.name=不稳定爬行者
|
||||
entity.entity_parasite_maggot.name=寄生虫
|
||||
entity.entity_pigeon.name=鸽子
|
||||
entity.entity_plastic_bag.name=塑料袋
|
||||
entity.entity_taint_crab.name=污染螃蟹
|
||||
entity.entity_tesla_crab.name=磁暴螃蟹
|
||||
entity.hbm.entity_mob_hunter_chopper.name=猎人直升机
|
||||
entity.hbm.entity_mob_mask_man.name=面具人
|
||||
entity.hbm.entity_mob_gold_creeper.name=黄金爬行者
|
||||
entity.hbm.entity_mob_nuclear_creeper.name=核爆爬行者
|
||||
entity.hbm.entity_mob_phosgene_creeper.name=光气爬行者
|
||||
entity.hbm.entity_mob_tainted_creeper.name=污染爬行者
|
||||
entity.hbm.entity_mob_volatile_creeper.name=不稳定爬行者
|
||||
entity.hbm.entity_parasite_maggot.name=寄生虫
|
||||
entity.hbm.entity_pigeon.name=鸽子
|
||||
entity.hbm.entity_plastic_bag.name=塑料袋
|
||||
entity.hbm.entity_taint_crab.name=污染螃蟹
|
||||
entity.hbm.entity_tesla_crab.name=磁暴螃蟹
|
||||
entity.hbm.entity_balls_o_tron.name=机械蠕虫
|
||||
entity.hbm.entity_balls_o_tron_seg.name=机械蠕虫
|
||||
entity.hbm.entity_bullet.name=子弹
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user