diff --git a/changelog b/changelog index ca9f03dff..0e5beef67 100644 --- a/changelog +++ b/changelog @@ -6,6 +6,7 @@ * Doubled the liberator's base damage to be on-par with the lever action shotgun in order to offset its poor performance due to the reload speed * All non black powder shotgun shells now have some amount of damage threshold negation in order to not immediately become useless when used against early power armor * Obviously shot will always fare worse against higher tier armor, in those cases either use flechettes, slugs, any of the high tier rounds or a different caliber entirely +* Bombers and cargo planes now use interpolation, making their movement smoother and fixing potential desyncs due to TPS ## Fixed * Fixed 9mm soft points being called ".9mm" diff --git a/src/main/java/com/hbm/entity/logic/EntityPlaneBase.java b/src/main/java/com/hbm/entity/logic/EntityPlaneBase.java index d34fec111..ebb1accb2 100644 --- a/src/main/java/com/hbm/entity/logic/EntityPlaneBase.java +++ b/src/main/java/com/hbm/entity/logic/EntityPlaneBase.java @@ -22,6 +22,19 @@ import net.minecraftforge.common.ForgeChunkManager.Ticket; import net.minecraftforge.common.ForgeChunkManager.Type; public abstract class EntityPlaneBase extends Entity implements IChunkLoader { + + protected int turnProgress; + protected double syncPosX; + protected double syncPosY; + protected double syncPosZ; + protected double syncYaw; + protected double syncPitch; + @SideOnly(Side.CLIENT) + protected double velocityX; + @SideOnly(Side.CLIENT) + protected double velocityY; + @SideOnly(Side.CLIENT) + protected double velocityZ; private Ticket loaderTicket; private List loadedChunks = new ArrayList(); @@ -72,37 +85,57 @@ public abstract class EntityPlaneBase extends Entity implements IChunkLoader { @Override public void onUpdate() { - - this.lastTickPosX = this.prevPosX = posX; - this.lastTickPosY = this.prevPosY = posY; - this.lastTickPosZ = this.prevPosZ = posZ; - this.setPosition(posX + motionX, posY + motionY, posZ + motionZ); if(!worldObj.isRemote) { this.dataWatcher.updateObject(17, health); } else { health = this.dataWatcher.getWatchableObjectFloat(17); } - - this.rotation(); - - if(this.health <= 0) { - motionY -= 0.025; + + if(worldObj.isRemote) { - for(int i = 0; i < 10; i++) ParticleUtil.spawnGasFlame(this.worldObj, this.posX + rand.nextGaussian() * 0.5 - motionX * 2, this.posY + rand.nextGaussian() * 0.5 - motionY * 2, this.posZ + rand.nextGaussian() * 0.5 - motionZ * 2, 0.0, 0.1, 0.0); - - if((!worldObj.getBlock((int) posX, (int) posY, (int) posZ).isAir(worldObj, (int) posX, (int) posY, (int) posZ) || posY < 0) && !worldObj.isRemote) { - this.setDead(); - new ExplosionVNT(worldObj, posX, posY, posZ, 15F).makeStandard().explode(); - worldObj.playSoundEffect(posX, posY, posZ, "hbm:entity.planeCrash", 25.0F, 1.0F); - return; + this.lastTickPosX = this.posX; + this.lastTickPosY = this.posY; + this.lastTickPosZ = this.posZ; + if(this.turnProgress > 0) { + double interpX = this.posX + (this.syncPosX - this.posX) / (double) this.turnProgress; + double interpY = this.posY + (this.syncPosY - this.posY) / (double) this.turnProgress; + double interpZ = this.posZ + (this.syncPosZ - this.posZ) / (double) this.turnProgress; + double d = MathHelper.wrapAngleTo180_double(this.syncYaw - (double) this.rotationYaw); + this.rotationYaw = (float) ((double) this.rotationYaw + d / (double) this.turnProgress); + this.rotationPitch = (float)((double)this.rotationPitch + (this.syncPitch - (double)this.rotationPitch) / (double)this.turnProgress); + --this.turnProgress; + this.setPosition(interpX, interpY, interpZ); + } else { + this.setPosition(this.posX, this.posY, this.posZ); } + } else { - this.motionY = 0F; + this.lastTickPosX = this.prevPosX = posX; + this.lastTickPosY = this.prevPosY = posY; + this.lastTickPosZ = this.prevPosZ = posZ; + this.setPosition(posX + motionX, posY + motionY, posZ + motionZ); + + this.rotation(); + + if(this.health <= 0) { + motionY -= 0.025; + + for(int i = 0; i < 10; i++) ParticleUtil.spawnGasFlame(this.worldObj, this.posX + rand.nextGaussian() * 0.5 - motionX * 2, this.posY + rand.nextGaussian() * 0.5 - motionY * 2, this.posZ + rand.nextGaussian() * 0.5 - motionZ * 2, 0.0, 0.1, 0.0); + + if((!worldObj.getBlock((int) posX, (int) posY, (int) posZ).isAir(worldObj, (int) posX, (int) posY, (int) posZ) || posY < 0)) { + this.setDead(); + new ExplosionVNT(worldObj, posX, posY, posZ, 15F).makeStandard().explode(); + worldObj.playSoundEffect(posX, posY, posZ, "hbm:entity.planeCrash", 25.0F, 1.0F); + return; + } + } else { + this.motionY = 0F; + } + + if(this.ticksExisted > timer) this.setDead(); + loadNeighboringChunks((int)Math.floor(posX / 16D), (int)Math.floor(posZ / 16D)); } - - if(this.ticksExisted > timer) this.setDead(); - if(!worldObj.isRemote) loadNeighboringChunks((int)Math.floor(posX / 16D), (int)Math.floor(posZ / 16D)); } protected void rotation() { @@ -113,6 +146,26 @@ public abstract class EntityPlaneBase extends Entity implements IChunkLoader { while(this.rotationYaw - this.prevRotationYaw < -180.0F) this.prevRotationYaw -= 360.0F; while(this.rotationYaw - this.prevRotationYaw >= 180.0F) this.prevRotationYaw += 360.0F; } + + @SideOnly(Side.CLIENT) + public void setVelocity(double velX, double velY, double velZ) { + this.velocityX = this.motionX = velX; + this.velocityY = this.motionY = velY; + this.velocityZ = this.motionZ = velZ; + } + + @SideOnly(Side.CLIENT) + public void setPositionAndRotation2(double x, double y, double z, float yaw, float pitch, int theNumberThree) { + this.syncPosX = x; + this.syncPosY = y; + this.syncPosZ = z; + this.syncYaw = yaw; + this.syncPitch = pitch; + this.turnProgress = theNumberThree; + this.motionX = this.velocityX; + this.motionY = this.velocityY; + this.motionZ = this.velocityZ; + } @Override public void setDead() { diff --git a/src/main/java/com/hbm/entity/projectile/EntityBoxcar.java b/src/main/java/com/hbm/entity/projectile/EntityBoxcar.java index 2df7eb030..7baf2de1f 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityBoxcar.java +++ b/src/main/java/com/hbm/entity/projectile/EntityBoxcar.java @@ -5,12 +5,16 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.explosion.ExplosionLarge; import com.hbm.lib.ModDamageSource; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.Entity; import net.minecraft.entity.projectile.EntityThrowable; import net.minecraft.init.Blocks; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; @@ -26,6 +30,17 @@ public class EntityBoxcar extends EntityThrowable { @Override public void onUpdate() { + if(!worldObj.isRemote && this.ticksExisted == 1) { + for(int i = 0; i < 50; i++) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "bf"); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, + posX + (rand.nextDouble() - 0.5) * 3, + posY + (rand.nextDouble() - 0.5) * 15, + posZ + (rand.nextDouble() - 0.5) * 3), + new TargetPoint(dimension, posX, posY, posZ, 150)); + } + } this.lastTickPosX = this.prevPosX = posX; this.lastTickPosY = this.prevPosY = posY; diff --git a/src/main/java/com/hbm/entity/projectile/EntityDuchessGambit.java b/src/main/java/com/hbm/entity/projectile/EntityDuchessGambit.java index 7e717bc29..57cae2213 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityDuchessGambit.java +++ b/src/main/java/com/hbm/entity/projectile/EntityDuchessGambit.java @@ -5,12 +5,16 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.explosion.ExplosionLarge; import com.hbm.lib.ModDamageSource; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.Entity; import net.minecraft.entity.projectile.EntityThrowable; import net.minecraft.init.Blocks; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; @@ -26,52 +30,54 @@ public class EntityDuchessGambit extends EntityThrowable { @Override public void onUpdate() { + if(!worldObj.isRemote && this.ticksExisted == 1) { + for(int i = 0; i < 50; i++) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "bf"); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, + posX + (rand.nextDouble() - 0.5) * 5, + posY + (rand.nextDouble() - 0.5) * 7, + posZ + (rand.nextDouble() - 0.5) * 20), + new TargetPoint(dimension, posX, posY, posZ, 150)); + } + } + this.lastTickPosX = this.prevPosX = posX; this.lastTickPosY = this.prevPosY = posY; this.lastTickPosZ = this.prevPosZ = posZ; this.setPosition(posX + this.motionX, posY + this.motionY, posZ + this.motionZ); - /*this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ;*/ - this.motionY -= 0.03; if(motionY < -1.5) motionY = -1.5; - - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) - { - this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "hbm:alarm.gambit", 10000.0F, 1F); - this.setDead(); - - List list = (List)worldObj.getEntitiesWithinAABBExcludingEntity(null, - AxisAlignedBB.getBoundingBox(posX - 5, posY - 2, posZ - 9, posX + 5, posY + 2, posZ + 9)); - - for(Entity e : list) { - e.attackEntityFrom(ModDamageSource.boat, 1000); - } - - if(!worldObj.isRemote) { - ExplosionLarge.explode(worldObj, posX, posY, posZ - 6, 2, true, false, false); - ExplosionLarge.explode(worldObj, posX, posY, posZ - 3, 2, true, false, false); - ExplosionLarge.explode(worldObj, posX, posY, posZ, 2, true, false, false); - ExplosionLarge.explode(worldObj, posX, posY, posZ + 3, 2, true, false, false); - ExplosionLarge.explode(worldObj, posX, posY, posZ + 6, 2, true, false, false); - - worldObj.setBlock((int)(this.posX - 0.5), (int)(this.posY + 0.5), (int)(this.posZ - 0.5), ModBlocks.boat); - } - ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 3); - ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 2.5); - ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 2); - ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 1.5); - ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 1); - } - } + + if(this.worldObj.getBlock((int) this.posX, (int) this.posY, (int) this.posZ) != Blocks.air) { + this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "hbm:alarm.gambit", 10000.0F, 1F); + this.setDead(); + + List list = (List) worldObj.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(posX - 5, posY - 2, posZ - 9, posX + 5, posY + 2, posZ + 9)); + + for(Entity e : list) { + e.attackEntityFrom(ModDamageSource.boat, 1000); + } + + if(!worldObj.isRemote) { + ExplosionLarge.explode(worldObj, posX, posY, posZ - 6, 2, true, false, false); + ExplosionLarge.explode(worldObj, posX, posY, posZ - 3, 2, true, false, false); + ExplosionLarge.explode(worldObj, posX, posY, posZ, 2, true, false, false); + ExplosionLarge.explode(worldObj, posX, posY, posZ + 3, 2, true, false, false); + ExplosionLarge.explode(worldObj, posX, posY, posZ + 6, 2, true, false, false); + + worldObj.setBlock((int) (this.posX - 0.5), (int) (this.posY + 0.5), (int) (this.posZ - 0.5), ModBlocks.boat); + } + ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 3); + ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 2.5); + ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 2); + ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 1.5); + ExplosionLarge.spawnShock(worldObj, posX, posY + 1, posZ, 24, 1); + } + } @Override protected void onImpact(MovingObjectPosition p_70184_1_) { diff --git a/src/main/java/com/hbm/entity/projectile/EntityTorpedo.java b/src/main/java/com/hbm/entity/projectile/EntityTorpedo.java index 9d459200d..ddd1dc760 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityTorpedo.java +++ b/src/main/java/com/hbm/entity/projectile/EntityTorpedo.java @@ -1,12 +1,16 @@ package com.hbm.entity.projectile; import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.toclient.AuxParticlePacketNT; import com.hbm.particle.helper.ExplosionCreator; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.entity.projectile.EntityThrowable; import net.minecraft.init.Blocks; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; @@ -21,21 +25,35 @@ public class EntityTorpedo extends EntityThrowable { @Override public void onUpdate() { + if(!worldObj.isRemote && this.ticksExisted == 1) { + for(int i = 0; i < 15; i++) { + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "bf"); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, + posX + (rand.nextDouble() - 0.5) * 2, + posY + (rand.nextDouble() - 0.5) * 1, + posZ + (rand.nextDouble() - 0.5) * 2), + new TargetPoint(dimension, posX, posY, posZ, 150)); + } + } + this.lastTickPosX = this.prevPosX = posX; this.lastTickPosY = this.prevPosY = posY; this.lastTickPosZ = this.prevPosZ = posZ; this.setPosition(posX + this.motionX, posY + this.motionY, posZ + this.motionZ); - this.motionY -= 0.03; - if(motionY < -1.5) motionY = -1.5; + this.motionY -= 0.04; + if(motionY < -2.5) motionY = -2.5; if(this.worldObj.getBlock((int) this.posX, (int) this.posY, (int) this.posZ) != Blocks.air) { - this.setDead(); - ExplosionCreator.composeEffectStandard(worldObj, posX, posY + 1, posZ); - ExplosionVNT vnt = new ExplosionVNT(worldObj, posX, posY, posZ, 20F); - vnt.makeStandard(); - vnt.explode(); + if(!worldObj.isRemote) { + this.setDead(); + ExplosionCreator.composeEffectStandard(worldObj, posX, posY + 1, posZ); + ExplosionVNT vnt = new ExplosionVNT(worldObj, posX, posY, posZ, 20F); + vnt.makeStandard(); + vnt.explode(); + } } } diff --git a/src/main/java/com/hbm/inventory/recipes/PedestalRecipes.java b/src/main/java/com/hbm/inventory/recipes/PedestalRecipes.java new file mode 100644 index 000000000..b91856a80 --- /dev/null +++ b/src/main/java/com/hbm/inventory/recipes/PedestalRecipes.java @@ -0,0 +1,93 @@ +package com.hbm.inventory.recipes; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; +import com.hbm.inventory.RecipesCommon.AStack; +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.inventory.recipes.loader.SerializableRecipe; +import com.hbm.items.ModItems; + +import net.minecraft.item.ItemStack; + +public class PedestalRecipes extends SerializableRecipe { + + public static List recipes = new ArrayList(); + + @Override + public void registerDefaults() { + + recipes.add(new PedestalRecipe(new ItemStack(ModItems.gun_light_revolver_dani), + null, null, null, + null, new ComparableStack(ModItems.gun_light_revolver), null, + null, null, null)); + } + + @Override + public String getFileName() { + return "hbmPedestal.json"; + } + + @Override + public Object getRecipeObject() { + return recipes; + } + + @Override + public void deleteRecipes() { + recipes.clear(); + } + + @Override + public void readRecipe(JsonElement recipe) { + JsonObject obj = (JsonObject) recipe; + + ItemStack output = this.readItemStack(obj.get("output").getAsJsonArray()); + JsonArray inputArray = obj.get("input").getAsJsonArray(); + AStack[] input = new AStack[9]; + + for(int i = 0; i < 9; i++) { + JsonElement element = inputArray.get(i); + if(element.isJsonNull()) { + input[i] = null; + } else { + input[i] = this.readAStack(element.getAsJsonArray()); + } + } + + this.recipes.add(new PedestalRecipe(output, input)); + } + + @Override + public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { + PedestalRecipe rec = (PedestalRecipe) recipe; + + writer.name("output"); + this.writeItemStack(rec.output, writer); + + writer.name("input").beginArray(); + for(int i = 0; i < rec.input.length; i++) { + if(rec.input[i] == null) { + writer.nullValue(); + } else { + this.writeAStack(rec.input[i], writer); + } + } + writer.endArray(); + } + + public static class PedestalRecipe { + public ItemStack output; + public AStack[] input; + + public PedestalRecipe(ItemStack output, AStack... input) { + this.output = output; + this.input = input; + } + } +} diff --git a/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java b/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java index 5edad0845..de9283804 100644 --- a/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java +++ b/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java @@ -75,6 +75,7 @@ public abstract class SerializableRecipe { recipeHandlers.add(new ExposureChamberRecipes()); recipeHandlers.add(new AmmoPressRecipes()); recipeHandlers.add(new AssemblerRecipes()); + recipeHandlers.add(new PedestalRecipes()); recipeHandlers.add(new MatDistribution()); recipeHandlers.add(new CustomMachineRecipes()); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index fac873ebd..dc05a705e 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1590,6 +1590,7 @@ public class ModItems { public static Item gun_flaregun; public static Item gun_heavy_revolver; public static Item gun_heavy_revolver_lilmac; + public static Item gun_heavy_revolver_protege; public static Item gun_carbine; public static Item gun_am180; public static Item gun_liberator; @@ -2313,6 +2314,7 @@ public class ModItems { public static Item book_lore; public static Item holotape_image; public static Item holotape_damaged; + public static Item clay_tablet; public static Item polaroid; public static Item glitch; @@ -5217,6 +5219,7 @@ public class ModItems { book_lore = new ItemBookLore().setUnlocalizedName("book_lore").setCreativeTab(null).setTextureName(RefStrings.MODID + ":book_pages"); holotape_image = new ItemHolotapeImage().setUnlocalizedName("holotape_image").setCreativeTab(null).setTextureName(RefStrings.MODID + ":holotape"); holotape_damaged = new Item().setUnlocalizedName("holotape_damaged").setCreativeTab(null).setTextureName(RefStrings.MODID + ":holotape_damaged"); + clay_tablet = new Item().setUnlocalizedName("clay_tablet").setCreativeTab(null).setTextureName(RefStrings.MODID + ":clay_tablet"); polaroid = new ItemPolaroid().setUnlocalizedName("polaroid").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":polaroid_" + MainRegistry.polaroidID); glitch = new ItemGlitch().setUnlocalizedName("glitch").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":glitch_" + MainRegistry.polaroidID); @@ -6809,6 +6812,7 @@ public class ModItems { GameRegistry.registerItem(gun_flaregun, gun_flaregun.getUnlocalizedName()); GameRegistry.registerItem(gun_heavy_revolver, gun_heavy_revolver.getUnlocalizedName()); GameRegistry.registerItem(gun_heavy_revolver_lilmac, gun_heavy_revolver_lilmac.getUnlocalizedName()); + GameRegistry.registerItem(gun_heavy_revolver_protege, gun_heavy_revolver_protege.getUnlocalizedName()); GameRegistry.registerItem(gun_carbine, gun_carbine.getUnlocalizedName()); GameRegistry.registerItem(gun_am180, gun_am180.getUnlocalizedName()); GameRegistry.registerItem(gun_liberator, gun_liberator.getUnlocalizedName()); @@ -7582,6 +7586,7 @@ public class ModItems { GameRegistry.registerItem(book_lore, book_lore.getUnlocalizedName()); GameRegistry.registerItem(holotape_image, holotape_image.getUnlocalizedName()); GameRegistry.registerItem(holotape_damaged, holotape_damaged.getUnlocalizedName()); + GameRegistry.registerItem(clay_tablet, clay_tablet.getUnlocalizedName()); //Technical Items GameRegistry.registerItem(b_smoke1, b_smoke1.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactoryClient.java b/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactoryClient.java index a6d1fd2fd..d2377a9dd 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactoryClient.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/GunFactoryClient.java @@ -48,6 +48,7 @@ public class GunFactoryClient { MinecraftForgeClient.registerItemRenderer(ModItems.gun_flaregun, new ItemRenderFlaregun()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_heavy_revolver, new ItemRenderHeavyRevolver(ResourceManager.heavy_revolver_tex)); MinecraftForgeClient.registerItemRenderer(ModItems.gun_heavy_revolver_lilmac, new ItemRenderHeavyRevolver(ResourceManager.lilmac_tex)); + MinecraftForgeClient.registerItemRenderer(ModItems.gun_heavy_revolver_protege, new ItemRenderHeavyRevolver(ResourceManager.heavy_revolver_protege_tex)); MinecraftForgeClient.registerItemRenderer(ModItems.gun_carbine, new ItemRenderCarbine()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_am180, new ItemRenderAm180()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_liberator, new ItemRenderLiberator()); @@ -101,7 +102,8 @@ public class GunFactoryClient { m44_jhp.setRenderer(LegoClient.RENDER_STANDARD_BULLET); m44_ap.setRenderer(LegoClient.RENDER_AP_BULLET); m44_express.setRenderer(LegoClient.RENDER_EXPRESS_BULLET); - m44_equestrian.setRenderer(LegoClient.RENDER_LEGENDARY_BULLET); + m44_equestrian_pip.setRenderer(LegoClient.RENDER_LEGENDARY_BULLET); + m44_equestrian_mn7.setRenderer(LegoClient.RENDER_LEGENDARY_BULLET); p22_sp.setRenderer(LegoClient.RENDER_STANDARD_BULLET); p22_fmj.setRenderer(LegoClient.RENDER_STANDARD_BULLET); @@ -144,7 +146,8 @@ public class GunFactoryClient { g12_explosive.setRenderer(LegoClient.RENDER_EXPRESS_BULLET); g12_phosphorus.setRenderer(LegoClient.RENDER_AP_BULLET); //g12_anthrax.setRenderer(LegoClient.RENDER_STANDARD_BULLET); - g12_equestrian.setRenderer(LegoClient.RENDER_LEGENDARY_BULLET); + g12_equestrian_bj.setRenderer(LegoClient.RENDER_LEGENDARY_BULLET); + g12_equestrian_tkr.setRenderer(LegoClient.RENDER_LEGENDARY_BULLET); g26_flare.setRenderer(LegoClient.RENDER_FLARE); g26_flare_supply.setRenderer(LegoClient.RENDER_FLARE_SUPPLY); @@ -185,6 +188,7 @@ public class GunFactoryClient { ((ItemGunBaseNT) ModItems.gun_flaregun) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); ((ItemGunBaseNT) ModItems.gun_heavy_revolver) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); ((ItemGunBaseNT) ModItems.gun_heavy_revolver_lilmac) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); + ((ItemGunBaseNT) ModItems.gun_heavy_revolver_protege) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); ((ItemGunBaseNT) ModItems.gun_carbine) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); ((ItemGunBaseNT) ModItems.gun_am180) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); ((ItemGunBaseNT) ModItems.gun_liberator) .getConfig(null, 0).hud(LegoClient.HUD_COMPONENT_DURABILITY, LegoClient.HUD_COMPONENT_AMMO); diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/Orchestras.java b/src/main/java/com/hbm/items/weapon/sedna/factory/Orchestras.java index 8349ae7a4..6768da3e8 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/Orchestras.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/Orchestras.java @@ -874,6 +874,12 @@ public class Orchestras { AnimType type = ItemGunBaseNT.getLastAnim(stack, ctx.configIndex); int timer = ItemGunBaseNT.getAnimTimer(stack, ctx.configIndex); + if(type == AnimType.CYCLE) { + if(timer == 0 && ctx.config.getReceivers(stack)[0].getMagazine(stack).getType(stack, null) == XFactory12ga.g12_equestrian_bj) { + ItemGunBaseNT.setTimer(stack, 0, 20); + } + } + if(type == AnimType.CYCLE_DRY) { if(timer == 0) entity.worldObj.playSoundAtEntity(entity, "hbm:weapon.reload.dryFireClick", 1F, 1F); } diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory12ga.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory12ga.java index 7452523f6..5ad1fbd0d 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory12ga.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory12ga.java @@ -4,6 +4,7 @@ import java.util.function.BiConsumer; import java.util.function.BiFunction; import com.hbm.entity.projectile.EntityBulletBaseMK4; +import com.hbm.entity.projectile.EntityDuchessGambit; import com.hbm.extprop.HbmLivingProps; import com.hbm.items.ModItems; import com.hbm.items.weapon.sedna.BulletConfig; @@ -44,12 +45,23 @@ public class XFactory12ga { public static BulletConfig g12_explosive; public static BulletConfig g12_phosphorus; public static BulletConfig g12_anthrax; - public static BulletConfig g12_equestrian; + public static BulletConfig g12_equestrian_bj; + public static BulletConfig g12_equestrian_tkr; public static BiConsumer LAMBDA_STANDARD_EXPLODE = (bullet, mop) -> { Lego.standardExplode(bullet, mop, 2F); bullet.setDead(); }; + public static BiConsumer LAMBDA_BOAT = (bullet, mop) -> { + EntityDuchessGambit pippo = new EntityDuchessGambit(bullet.worldObj); + pippo.posX = mop.hitVec.xCoord; + pippo.posY = mop.hitVec.yCoord + 50; + pippo.posZ = mop.hitVec.zCoord;; + bullet.worldObj.spawnEntityInWorld(pippo); + bullet.worldObj.playSoundEffect(pippo.posX, pippo.posY + 50, pippo.posZ, "hbm:weapon.boat", 100F, 1F); + bullet.setDead(); + }; + public static void init() { g12_bp = new BulletConfig().setItem(EnumAmmo.G12_BP).setBlackPowder(true).setProjectiles(8).setDamage(0.5F/8F).setSpread(0.05F).setRicochetAngle(15).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(SpentCasing.COLOR_CASE_BRASS, SpentCasing.COLOR_CASE_BRASS).setScale(0.75F).register("12GA_BP")); @@ -63,7 +75,8 @@ public class XFactory12ga { g12_phosphorus = new BulletConfig().setItem(EnumAmmo.G12_PHOSPHORUS).setProjectiles(8).setDamage(1F/8F).setSpread(0.015F).setRicochetAngle(15).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0x910001, SpentCasing.COLOR_CASE_12GA).setScale(0.75F).register("12GA_PHOSPHORUS")) .setOnImpact((bullet, mop) -> { if(mop.entityHit != null && mop.entityHit instanceof EntityLivingBase) { HbmLivingProps data = HbmLivingProps.getData((EntityLivingBase) mop.entityHit); if(data.phosphorus < 300) data.phosphorus = 300; } }); //g12_anthrax = new BulletConfig().setItem(EnumAmmo.G12_ANTHRAX).setProjectiles(8).setDamage(1F/8F).setSpread(0.015F).setRicochetAngle(15).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(0x749300, SpentCasing.COLOR_CASE_12GA).setScale(0.75F).register("12GA_ANTHRAX")); - g12_equestrian = new BulletConfig().setItem(EnumAmmoSecret.G12_EQUESTRIAN).setDamage(0F).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(SpentCasing.COLOR_CASE_EQUESTRIAN, SpentCasing.COLOR_CASE_12GA).setScale(0.75F).register("12gaEquestrian")); + g12_equestrian_bj = new BulletConfig().setItem(EnumAmmoSecret.G12_EQUESTRIAN).setDamage(0F).setOnImpact(LAMBDA_BOAT).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(SpentCasing.COLOR_CASE_EQUESTRIAN, SpentCasing.COLOR_CASE_12GA).setScale(0.75F).register("12gaEquestrianBJ")); + g12_equestrian_tkr = new BulletConfig().setItem(EnumAmmoSecret.G12_EQUESTRIAN).setDamage(0F).setCasing(new SpentCasing(CasingType.SHOTGUN).setColor(SpentCasing.COLOR_CASE_EQUESTRIAN, SpentCasing.COLOR_CASE_12GA).setScale(0.75F).register("12gaEquestrianTKR")); BulletConfig[] all = new BulletConfig[] {g12_bp, g12_bp_magnum, g12_bp_slug, g12, g12_slug, g12_flechette, g12_magnum, g12_explosive, g12_phosphorus}; @@ -101,7 +114,7 @@ public class XFactory12ga { .dura(0).draw(5).inspect(39).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) .dmg(32F).delay(20).reload(22, 10, 13, 0).jam(24).sound("hbm:weapon.fire.shotgun", 1.0F, 1.0F) - .mag(new MagazineSingleReload(0, 6).addConfigs(all)) + .mag(new MagazineSingleReload(0, 6).addConfigs(g12_equestrian_tkr, g12_bp, g12_bp_magnum, g12_bp_slug, g12, g12_slug, g12_flechette, g12_magnum, g12_explosive, g12_phosphorus)) .offset(0.75, -0.0625, -0.1875) .canFire(Lego.LAMBDA_STANDARD_CAN_FIRE).fire(Lego.LAMBDA_NOWEAR_FIRE).recoil(LAMBDA_RECOIL_MARESLEG)) .setupStandardConfiguration() @@ -144,7 +157,7 @@ public class XFactory12ga { .dura(5_000).draw(10).inspect(33).reloadSequential(true).crosshair(Crosshair.L_CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) .dmg(64F).delay(1).auto(true).dryfireAfterAuto(true).reload(44).jam(19).sound("hbm:weapon.fire.shotgunAuto", 1.0F, 1.0F) - .mag(new MagazineFullReload(0, 100).addConfigs(g12_equestrian, g12_bp, g12_bp_magnum, g12_bp_slug, g12, g12_slug, g12_flechette, g12_magnum, g12_explosive, g12_phosphorus)) + .mag(new MagazineFullReload(0, 100).addConfigs(g12_equestrian_bj, g12_bp, g12_bp_magnum, g12_bp_slug, g12, g12_slug, g12_flechette, g12_magnum, g12_explosive, g12_phosphorus)) .offset(0.75, -0.125, -0.25) .setupStandardFire().recoil(LAMBDA_RECOIL_SEXY)) .setupStandardConfiguration() @@ -253,11 +266,13 @@ public class XFactory12ga { .addBus("SIGHT", new BusAnimationSequence().addPos(35, 0, 0, 100, IType.SIN_DOWN).addPos(0, 0, 0, 100, IType.SIN_FULL)) .addBus("LEVER", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(-85, 0, 0, 200).addPos(0, 0, 0, 200)) .addBus("HAMMER", new BusAnimationSequence().addPos(30, 0, 0, 50).addPos(30, 0, 0, 550).addPos(0, 0, 0, 200)) - .addBus("FLIP", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(360, 0, 0, 400)); + .addBus("FLIP", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(360, 0, 0, 400)) + .addBus("SHELL", new BusAnimationSequence().addPos(-20, 0, 0, 0)); //gets rid of the shell in the barrel during cycling case CYCLE_DRY: return new BusAnimation() .addBus("LEVER", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(-90, 0, 0, 200).addPos(0, 0, 0, 200)) .addBus("HAMMER", new BusAnimationSequence().addPos(30, 0, 0, 50).addPos(30, 0, 0, 550).addPos(0, 0, 0, 200)) - .addBus("FLIP", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(360, 0, 0, 400)); + .addBus("FLIP", new BusAnimationSequence().addPos(0, 0, 0, 600).addPos(360, 0, 0, 400)) + .addBus("SHELL", new BusAnimationSequence().addPos(-20, 0, 0, 0)); case JAMMED: return new BusAnimation() .addBus("LIFT", new BusAnimationSequence().addPos(30, 0, 0, 0).addPos(30, 0, 0, 250).addPos(0, 0, 0, 400, IType.SIN_FULL)) .addBus("LEVER", new BusAnimationSequence().addPos(-85, 0, 0, 0).addPos(-15, 0, 0, 200).addPos(-15, 0, 0, 650).addPos(-85, 0, 0, 200).addPos(-15, 0, 0, 200).addPos(-15, 0, 0, 200).addPos(-85, 0, 0, 200).addPos(0, 0, 0, 200)) diff --git a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory44.java b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory44.java index afdb0be1d..7cc8d57ec 100644 --- a/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory44.java +++ b/src/main/java/com/hbm/items/weapon/sedna/factory/XFactory44.java @@ -3,6 +3,9 @@ package com.hbm.items.weapon.sedna.factory; import java.util.function.BiConsumer; import java.util.function.BiFunction; +import com.hbm.entity.projectile.EntityBoxcar; +import com.hbm.entity.projectile.EntityBulletBaseMK4; +import com.hbm.entity.projectile.EntityTorpedo; import com.hbm.items.ModItems; import com.hbm.items.weapon.sedna.BulletConfig; import com.hbm.items.weapon.sedna.Crosshair; @@ -25,6 +28,7 @@ import com.hbm.render.anim.BusAnimationKeyframe.IType; import com.hbm.render.anim.HbmAnimations.AnimType; import net.minecraft.item.ItemStack; +import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.ResourceLocation; public class XFactory44 { @@ -37,7 +41,28 @@ public class XFactory44 { public static BulletConfig m44_jhp; public static BulletConfig m44_ap; public static BulletConfig m44_express; - public static BulletConfig m44_equestrian; + public static BulletConfig m44_equestrian_pip; + public static BulletConfig m44_equestrian_mn7; + + public static BiConsumer LAMBDA_BOXCAR = (bullet, mop) -> { + EntityBoxcar pippo = new EntityBoxcar(bullet.worldObj); + pippo.posX = mop.hitVec.xCoord; + pippo.posY = mop.hitVec.yCoord + 50; + pippo.posZ = mop.hitVec.zCoord;; + bullet.worldObj.spawnEntityInWorld(pippo); + bullet.worldObj.playSoundEffect(pippo.posX, pippo.posY + 50, pippo.posZ, "hbm:alarm.trainHorn", 100F, 1F); + bullet.setDead(); + }; + + public static BiConsumer LAMBDA_TORPEDO = (bullet, mop) -> { + EntityTorpedo pippo = new EntityTorpedo(bullet.worldObj); + pippo.posX = mop.hitVec.xCoord; + pippo.posY = mop.hitVec.yCoord + 50; + pippo.posZ = mop.hitVec.zCoord;; + bullet.worldObj.spawnEntityInWorld(pippo); + //bullet.worldObj.playSoundEffect(pippo.posX, pippo.posY + 50, pippo.posZ, "hbm:alarm.trainHorn", 100F, 1F); + bullet.setDead(); + }; public static void init() { SpentCasing casing44 = new SpentCasing(CasingType.STRAIGHT).setColor(SpentCasing.COLOR_CASE_BRASS).setupSmoke(1F, 0.5D, 60, 20); @@ -53,8 +78,10 @@ public class XFactory44 { .setCasing(casing44.clone().setColor(SpentCasing.COLOR_CASE_44).register("m44ap")); m44_express = new BulletConfig().setItem(EnumAmmo.M44_EXPRESS).setDoesPenetrate(true).setDamage(1.5F).setThresholdNegation(3F).setArmorPiercing(0.1F).setWear(1.5F) .setCasing(casing44.clone().register("m44express")); - m44_equestrian = new BulletConfig().setItem(EnumAmmoSecret.M44_EQUESTRIAN).setDamage(0F) - .setCasing(casing44.clone().setColor(SpentCasing.COLOR_CASE_EQUESTRIAN).register("m44equestrian")); + m44_equestrian_pip = new BulletConfig().setItem(EnumAmmoSecret.M44_EQUESTRIAN).setDamage(0F).setOnImpact(LAMBDA_BOXCAR) + .setCasing(casing44.clone().setColor(SpentCasing.COLOR_CASE_EQUESTRIAN).register("m44equestrianPip")); + m44_equestrian_mn7 = new BulletConfig().setItem(EnumAmmoSecret.M44_EQUESTRIAN).setDamage(0F).setOnImpact(LAMBDA_TORPEDO) + .setCasing(casing44.clone().setColor(SpentCasing.COLOR_CASE_EQUESTRIAN).register("m44equestrianMn7")); ModItems.gun_henry = new ItemGunBaseNT(WeaponQuality.A_SIDE, new GunConfig() .dura(300).draw(15).inspect(23).reloadSequential(true).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) @@ -81,12 +108,22 @@ public class XFactory44 { .dura(31_000).draw(10).inspect(23).crosshair(Crosshair.L_CLASSIC).scopeTexture(scope_lilmac).smoke(Lego.LAMBDA_STANDARD_SMOKE) .rec(new Receiver(0) .dmg(30F).delay(14).reload(46).jam(23).sound("hbm:weapon.44Shoot", 1.0F, 1.0F) - .mag(new MagazineFullReload(0, 6).addConfigs(m44_equestrian, m44_bp, m44_sp, m44_fmj, m44_jhp, m44_ap, m44_express)) + .mag(new MagazineFullReload(0, 6).addConfigs(m44_equestrian_pip, m44_bp, m44_sp, m44_fmj, m44_jhp, m44_ap, m44_express)) .offset(0.75, -0.0625, -0.3125D) .setupStandardFire().recoil(LAMBDA_RECOIL_NOPIP)) .setupStandardConfiguration() .anim(LAMBDA_LILMAC_ANIMS).orchestra(Orchestras.ORCHESTRA_NOPIP) ).setUnlocalizedName("gun_heavy_revolver_lilmac"); + ModItems.gun_heavy_revolver_protege = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() + .dura(31_000).draw(10).inspect(23).crosshair(Crosshair.L_CLASSIC).smoke(Lego.LAMBDA_STANDARD_SMOKE) + .rec(new Receiver(0) + .dmg(30F).delay(14).reload(46).jam(23).sound("hbm:weapon.44Shoot", 1.0F, 0.8F) + .mag(new MagazineFullReload(0, 6).addConfigs(m44_equestrian_mn7, m44_bp, m44_sp, m44_fmj, m44_jhp, m44_ap, m44_express)) + .offset(0.75, -0.0625, -0.3125D) + .setupStandardFire().recoil(LAMBDA_RECOIL_NOPIP)) + .setupStandardConfiguration() + .anim(LAMBDA_LILMAC_ANIMS).orchestra(Orchestras.ORCHESTRA_NOPIP) + ).setUnlocalizedName("gun_heavy_revolver_protege"); ModItems.gun_hangman = new ItemGunBaseNT(WeaponQuality.LEGENDARY, new GunConfig() .dura(600).draw(10).inspect(31).inspectCancel(false).crosshair(Crosshair.CIRCLE).smoke(Lego.LAMBDA_STANDARD_SMOKE) diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 33f5090d5..36b899380 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -575,6 +575,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityBoxcar.class, new RenderBoxcar()); RenderingRegistry.registerEntityRenderingHandler(EntityDuchessGambit.class, new RenderBoxcar()); RenderingRegistry.registerEntityRenderingHandler(EntityBuilding.class, new RenderBoxcar()); + RenderingRegistry.registerEntityRenderingHandler(EntityTorpedo.class, new RenderBoxcar()); RenderingRegistry.registerEntityRenderingHandler(EntityBomber.class, new RenderBomber()); RenderingRegistry.registerEntityRenderingHandler(EntityC130.class, new RenderC130()); RenderingRegistry.registerEntityRenderingHandler(EntityBurningFOEQ.class, new RenderFOEQ()); @@ -1567,6 +1568,11 @@ public class ClientProxy extends ServerProxy { Minecraft.getMinecraft().effectRenderer.addEffect(cloud); } + if("bf".equals(type)) { + ParticleMukeCloud cloud = new ParticleMukeCloudBF(man, world, x, y, z, 0, 0, 0); + Minecraft.getMinecraft().effectRenderer.addEffect(cloud); + } + if("haze".equals(type)) { ParticleHaze fog = new ParticleHaze(man, world, x, y, z); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 87b6df678..719b3a74e 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -987,6 +987,7 @@ public class ResourceManager { public static final ResourceLocation maresleg_broken_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/maresleg_broken.png"); public static final ResourceLocation flaregun_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/flaregun.png"); public static final ResourceLocation heavy_revolver_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/heavy_revolver.png"); + public static final ResourceLocation heavy_revolver_protege_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/protege.png"); public static final ResourceLocation lilmac_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lilmac.png"); public static final ResourceLocation lilmac_scope_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lilmac_scope.png"); public static final ResourceLocation carbine_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/huntsman.png"); diff --git a/src/main/java/com/hbm/render/entity/projectile/RenderBoxcar.java b/src/main/java/com/hbm/render/entity/projectile/RenderBoxcar.java index 2840cf000..ca4dfe348 100644 --- a/src/main/java/com/hbm/render/entity/projectile/RenderBoxcar.java +++ b/src/main/java/com/hbm/render/entity/projectile/RenderBoxcar.java @@ -46,6 +46,8 @@ public class RenderBoxcar extends Render { } if(entity instanceof EntityTorpedo) { + float f = entity.ticksExisted + f1; + GL11.glRotatef(Math.min(85, f * 3), 1, 0, 0); GL11.glShadeModel(GL11.GL_SMOOTH); bindTexture(ResourceManager.torpedo_tex); ResourceManager.torpedo.renderAll(); @@ -59,5 +61,4 @@ public class RenderBoxcar extends Render { protected ResourceLocation getEntityTexture(Entity entity) { return ResourceManager.boxcar_tex; } - -} \ No newline at end of file +} diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 093a5ac05..08c9f7719 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -2223,6 +2223,7 @@ item.gun_greasegun.name=Grease Gun item.gun_hangman.name=Hangman item.gun_heavy_revolver.name=Schwerer Revolver item.gun_heavy_revolver_lilmac.name=Little Macintosh +item.gun_heavy_revolver_protege.name=Protège item.gun_henry.name=Repetiergewehr item.gun_hk69.name=Granatenpistole item.gun_hp.name=HPP Lazerjet diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 9198b725a..c74efefc5 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -3032,6 +3032,7 @@ item.gun_greasegun.name=Grease Gun item.gun_hangman.name=Hangman item.gun_heavy_revolver.name=Heavy Revolver item.gun_heavy_revolver_lilmac.name=Little Macintosh +item.gun_heavy_revolver_protege.name=Protège item.gun_henry.name=Lever Action Rifle item.gun_hk69.name=Grenade Pistol item.gun_hp.name=HPP Lazerjet diff --git a/src/main/resources/assets/hbm/textures/gui/guide_pedestal.png b/src/main/resources/assets/hbm/textures/gui/guide_pedestal.png new file mode 100644 index 000000000..57c5c39bc Binary files /dev/null and b/src/main/resources/assets/hbm/textures/gui/guide_pedestal.png differ diff --git a/src/main/resources/assets/hbm/textures/items/clay_tablet.png b/src/main/resources/assets/hbm/textures/items/clay_tablet.png new file mode 100644 index 000000000..640d51e22 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/items/clay_tablet.png differ diff --git a/src/main/resources/assets/hbm/textures/items/motor_dnt.png b/src/main/resources/assets/hbm/textures/items/motor_dnt.png deleted file mode 100644 index 73e4c1e5b..000000000 Binary files a/src/main/resources/assets/hbm/textures/items/motor_dnt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/BFLauncher.png b/src/main/resources/assets/hbm/textures/models/BFLauncher.png deleted file mode 100644 index b1f69982c..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/BFLauncher.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/BaleFlare.png b/src/main/resources/assets/hbm/textures/models/BaleFlare.png deleted file mode 100644 index f75ae16be..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/BaleFlare.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/FatmanLauncher.png b/src/main/resources/assets/hbm/textures/models/FatmanLauncher.png deleted file mode 100644 index 44968347b..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/FatmanLauncher.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelB92.png b/src/main/resources/assets/hbm/textures/models/ModelB92.png deleted file mode 100644 index 86dbc2994..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelB92.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelB92Dark.png b/src/main/resources/assets/hbm/textures/models/ModelB92Dark.png deleted file mode 100644 index e41f8582c..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelB92Dark.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelB93.png b/src/main/resources/assets/hbm/textures/models/ModelB93.png deleted file mode 100644 index 0861b9bfc..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelB93.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelCryolator.png b/src/main/resources/assets/hbm/textures/models/ModelCryolator.png deleted file mode 100644 index 89d71fb71..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelCryolator.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelDefabricator.png b/src/main/resources/assets/hbm/textures/models/ModelDefabricator.png deleted file mode 100755 index 5752d9cb0..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelDefabricator.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelEMPRay.png b/src/main/resources/assets/hbm/textures/models/ModelEMPRay.png deleted file mode 100644 index 079430b27..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelEMPRay.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelEuthanasia.png b/src/main/resources/assets/hbm/textures/models/ModelEuthanasia.png deleted file mode 100644 index 9c3a2960d..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelEuthanasia.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelGustav.png b/src/main/resources/assets/hbm/textures/models/ModelGustav.png deleted file mode 100644 index 7644f473f..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelGustav.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelGustavYellow.png b/src/main/resources/assets/hbm/textures/models/ModelGustavYellow.png deleted file mode 100644 index f35253ad7..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelGustavYellow.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelHP.png b/src/main/resources/assets/hbm/textures/models/ModelHP.png deleted file mode 100755 index 7f1c34c88..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelHP.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelImmolator.png b/src/main/resources/assets/hbm/textures/models/ModelImmolator.png deleted file mode 100644 index 2a54c1359..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelImmolator.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelJack.png b/src/main/resources/assets/hbm/textures/models/ModelJack.png deleted file mode 100644 index 68ee93088..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelJack.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelLacunae.png b/src/main/resources/assets/hbm/textures/models/ModelLacunae.png deleted file mode 100644 index 40981f04b..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelLacunae.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelLacunaeAvenger.png b/src/main/resources/assets/hbm/textures/models/ModelLacunaeAvenger.png deleted file mode 100644 index 867efab47..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelLacunaeAvenger.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelLacunaeReal.png b/src/main/resources/assets/hbm/textures/models/ModelLacunaeReal.png deleted file mode 100644 index 05736d980..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelLacunaeReal.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelMP.png b/src/main/resources/assets/hbm/textures/models/ModelMP.png deleted file mode 100644 index a094364f6..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelMP.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelMP40.png b/src/main/resources/assets/hbm/textures/models/ModelMP40.png deleted file mode 100644 index 497ef5c81..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelMP40.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelMP_alt.png b/src/main/resources/assets/hbm/textures/models/ModelMP_alt.png deleted file mode 100644 index 4fd02a6e8..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelMP_alt.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelNightmare.png b/src/main/resources/assets/hbm/textures/models/ModelNightmare.png deleted file mode 100644 index f3186dd48..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelNightmare.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelNightmare2.png b/src/main/resources/assets/hbm/textures/models/ModelNightmare2.png deleted file mode 100644 index d05821401..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelNightmare2.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelOSIPR.png b/src/main/resources/assets/hbm/textures/models/ModelOSIPR.png deleted file mode 100644 index f8f8b637b..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelOSIPR.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelSpark.png b/src/main/resources/assets/hbm/textures/models/ModelSpark.png deleted file mode 100755 index fd6c47bee..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelSpark.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelUboinik.png b/src/main/resources/assets/hbm/textures/models/ModelUboinik.png deleted file mode 100644 index 9d8fd122b..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelUboinik.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelUzi.png b/src/main/resources/assets/hbm/textures/models/ModelUzi.png deleted file mode 100644 index c288d9495..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelUzi.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelUziBarrel.png b/src/main/resources/assets/hbm/textures/models/ModelUziBarrel.png deleted file mode 100644 index 110ebd5d4..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelUziBarrel.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelUziSaturnite.png b/src/main/resources/assets/hbm/textures/models/ModelUziSaturnite.png deleted file mode 100644 index f2d727f69..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelUziSaturnite.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelUziSilencer.png b/src/main/resources/assets/hbm/textures/models/ModelUziSilencer.png deleted file mode 100644 index ef102143d..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelUziSilencer.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/ModelZOMG.png b/src/main/resources/assets/hbm/textures/models/ModelZOMG.png deleted file mode 100644 index 941fae77b..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/ModelZOMG.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/missilePad.png b/src/main/resources/assets/hbm/textures/models/missilePad.png deleted file mode 100644 index 03a80eeb3..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/missilePad.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/bolter_digamma.png b/src/main/resources/assets/hbm/textures/models/weapons/bolter_digamma.png deleted file mode 100644 index 75f234d43..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/bolter_digamma.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/ff/mg42.png b/src/main/resources/assets/hbm/textures/models/weapons/ff/mg42.png deleted file mode 100644 index ebd226f1d..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/ff/mg42.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/ff/nightmare.png b/src/main/resources/assets/hbm/textures/models/weapons/ff/nightmare.png deleted file mode 100644 index a3cbdbe61..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/ff/nightmare.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/ff/nightmare_orig.png b/src/main/resources/assets/hbm/textures/models/weapons/ff/nightmare_orig.png deleted file mode 100644 index b89b0683c..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/ff/nightmare_orig.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/ff/rem700.png b/src/main/resources/assets/hbm/textures/models/weapons/ff/rem700.png deleted file mode 100644 index a7868015e..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/ff/rem700.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/ff/rem700poly.png b/src/main/resources/assets/hbm/textures/models/weapons/ff/rem700poly.png deleted file mode 100644 index abc88117a..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/ff/rem700poly.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/ff/rem700sat.png b/src/main/resources/assets/hbm/textures/models/weapons/ff/rem700sat.png deleted file mode 100644 index 3b8d95215..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/ff/rem700sat.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flechette_barrel.png b/src/main/resources/assets/hbm/textures/models/weapons/flechette_barrel.png deleted file mode 100644 index 19b3d2872..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/flechette_barrel.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flechette_base.png b/src/main/resources/assets/hbm/textures/models/weapons/flechette_base.png deleted file mode 100644 index 5b1c03e7b..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/flechette_base.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flechette_body.png b/src/main/resources/assets/hbm/textures/models/weapons/flechette_body.png deleted file mode 100644 index dfa1525d9..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/flechette_body.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flechette_chamber.png b/src/main/resources/assets/hbm/textures/models/weapons/flechette_chamber.png deleted file mode 100644 index be140fef4..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/flechette_chamber.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flechette_drum.png b/src/main/resources/assets/hbm/textures/models/weapons/flechette_drum.png deleted file mode 100644 index 0655f3918..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/flechette_drum.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flechette_gren_tube.png b/src/main/resources/assets/hbm/textures/models/weapons/flechette_gren_tube.png deleted file mode 100644 index cbf0e2bd0..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/flechette_gren_tube.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flechette_grenades.png b/src/main/resources/assets/hbm/textures/models/weapons/flechette_grenades.png deleted file mode 100644 index 06b0307d2..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/flechette_grenades.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flechette_pivot.png b/src/main/resources/assets/hbm/textures/models/weapons/flechette_pivot.png deleted file mode 100644 index 03f921e8d..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/flechette_pivot.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flechette_stock.png b/src/main/resources/assets/hbm/textures/models/weapons/flechette_stock.png deleted file mode 100644 index c395eabd2..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/flechette_stock.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flechette_top.png b/src/main/resources/assets/hbm/textures/models/weapons/flechette_top.png deleted file mode 100644 index d2b1cc2b2..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/flechette_top.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/flechette_trigger.png b/src/main/resources/assets/hbm/textures/models/weapons/flechette_trigger.png deleted file mode 100644 index 4eb011a40..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/flechette_trigger.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/glass_cannon_panel.png b/src/main/resources/assets/hbm/textures/models/weapons/glass_cannon_panel.png deleted file mode 100644 index a1e40ff71..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/glass_cannon_panel.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/hk69.png b/src/main/resources/assets/hbm/textures/models/weapons/hk69.png deleted file mode 100644 index 41b98d1cb..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/hk69.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/lent_gun.png b/src/main/resources/assets/hbm/textures/models/weapons/lent_gun.png deleted file mode 100644 index a03177bba..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/lent_gun.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/lunatic_sniper.png b/src/main/resources/assets/hbm/textures/models/weapons/lunatic_sniper.png deleted file mode 100644 index f67942de0..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/lunatic_sniper.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/novac.png b/src/main/resources/assets/hbm/textures/models/weapons/novac.png deleted file mode 100644 index 58f988ef4..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/novac.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/pistol_texture.png b/src/main/resources/assets/hbm/textures/models/weapons/pistol_texture.png deleted file mode 100644 index 926d076b9..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/pistol_texture.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/protege.png b/src/main/resources/assets/hbm/textures/models/weapons/protege.png new file mode 100644 index 000000000..ecfca9109 Binary files /dev/null and b/src/main/resources/assets/hbm/textures/models/weapons/protege.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/red_key.png b/src/main/resources/assets/hbm/textures/models/weapons/red_key.png deleted file mode 100644 index 1ce79923f..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/red_key.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/remington.png b/src/main/resources/assets/hbm/textures/models/weapons/remington.png deleted file mode 100644 index 01935ed26..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/remington.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/sauergun.png b/src/main/resources/assets/hbm/textures/models/weapons/sauergun.png deleted file mode 100644 index 7b06753af..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/sauergun.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/sky_stinger.png b/src/main/resources/assets/hbm/textures/models/weapons/sky_stinger.png deleted file mode 100644 index 2424f2a56..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/sky_stinger.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/thompson.png b/src/main/resources/assets/hbm/textures/models/weapons/thompson.png deleted file mode 100644 index 8ecdedaac..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/thompson.png and /dev/null differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/torpedo.png b/src/main/resources/assets/hbm/textures/models/weapons/torpedo.png index f7100bbf5..4c0c7abf8 100644 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/torpedo.png and b/src/main/resources/assets/hbm/textures/models/weapons/torpedo.png differ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/vortex.png b/src/main/resources/assets/hbm/textures/models/weapons/vortex.png deleted file mode 100644 index 81e9c1cad..000000000 Binary files a/src/main/resources/assets/hbm/textures/models/weapons/vortex.png and /dev/null differ