From 65812871a002036b82ec1b60fd2b336f10e86b78 Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 8 May 2022 11:39:21 +0200 Subject: [PATCH] patching up a release --- .../blocks/machine/rbmk/RBMKCraneConsole.java | 2 + .../java/com/hbm/crafting/ToolRecipes.java | 8 ++ .../hbm/entity/cart/EntityMinecartCrate.java | 47 ++++++++++- .../entity/cart/EntityMinecartDestroyer.java | 5 ++ .../hbm/entity/item/EntityMinecartOre.java | 5 ++ .../entity/projectile/EntityFallingNuke.java | 10 ++- .../HazardTransformerRadiationME.java | 3 +- .../java/com/hbm/inventory/gui/GUIHadron.java | 4 + .../hbm/inventory/recipes/HadronRecipes.java | 10 +-- src/main/java/com/hbm/items/ModItems.java | 2 +- .../hbm/items/machine/ItemFluidIDMulti.java | 79 ++++++++++++++++++ .../items/machine/ItemFluidIdentifier.java | 1 - .../com/hbm/items/tool/ItemModMinecart.java | 11 +-- src/main/java/com/hbm/lib/RefStrings.java | 2 +- src/main/java/com/hbm/main/ClientProxy.java | 14 ++-- .../java/com/hbm/main/CraftingManager.java | 1 + .../entity/projectile/RenderFallingNuke.java | 46 +++++----- src/main/resources/assets/hbm/lang/de_DE.lang | 2 + src/main/resources/assets/hbm/lang/en_US.lang | 2 + .../hbm/textures/items/cart.destroyer.png | Bin 512 -> 532 bytes .../assets/hbm/textures/items/cart.empty.png | Bin 422 -> 439 bytes src/main/resources/mcmod.info | 2 +- 22 files changed, 209 insertions(+), 47 deletions(-) diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKCraneConsole.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKCraneConsole.java index e44a44767..21059f59a 100644 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKCraneConsole.java +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKCraneConsole.java @@ -15,6 +15,8 @@ public class RBMKCraneConsole extends BlockDummyable { public RBMKCraneConsole() { super(Material.iron); + this.setHardness(3F); + this.setResistance(30F); } @Override diff --git a/src/main/java/com/hbm/crafting/ToolRecipes.java b/src/main/java/com/hbm/crafting/ToolRecipes.java index 18a2c725e..107db72cd 100644 --- a/src/main/java/com/hbm/crafting/ToolRecipes.java +++ b/src/main/java/com/hbm/crafting/ToolRecipes.java @@ -7,12 +7,15 @@ import com.hbm.inventory.fluid.Fluids; import static com.hbm.inventory.OreDictManager.*; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBattery; +import com.hbm.items.tool.ItemModMinecart.EnumMinecart; import com.hbm.main.CraftingManager; +import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.ShapelessRecipes; /** * For mining and utility tools @@ -143,6 +146,11 @@ public class ToolRecipes { CraftingManager.addShapelessAuto(new ItemStack(ModItems.bobmazon_weapons), new Object[] { Items.book, Items.gold_nugget, KEY_GRAY }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.bobmazon_tools), new Object[] { Items.book, Items.gold_nugget, KEY_GREEN }); + //Carts + CraftingManager.addRecipeAuto(DictFrame.fromOne(ModItems.cart, EnumMinecart.EMPTY), new Object[] { "P P", "IPI", 'P', STEEL.plate(), 'I', STEEL.ingot() }); + CraftingManager.addRecipeAuto(DictFrame.fromOne(ModItems.cart, EnumMinecart.DESTROYER), new Object[] { "S S", "BLB", "SCS", 'S', STEEL.ingot(), 'B', ModItems.blades_steel, 'L', Fluids.LAVA.getDict(1000), 'C', DictFrame.fromOne(ModItems.cart, EnumMinecart.EMPTY) }); + net.minecraft.item.crafting.CraftingManager.getInstance().addRecipe(DictFrame.fromOne(ModItems.cart, EnumMinecart.CRATE), new Object[] { "C", "S", 'C', ModBlocks.crate_steel, 'S', Items.minecart }).func_92100_c(); + //Configged if(GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleToolRecipes) { addSword( CO.block(), ModItems.cobalt_decorated_sword); diff --git a/src/main/java/com/hbm/entity/cart/EntityMinecartCrate.java b/src/main/java/com/hbm/entity/cart/EntityMinecartCrate.java index cdd3e2aa4..78c19770f 100644 --- a/src/main/java/com/hbm/entity/cart/EntityMinecartCrate.java +++ b/src/main/java/com/hbm/entity/cart/EntityMinecartCrate.java @@ -1,12 +1,18 @@ package com.hbm.entity.cart; import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.items.ModItems; +import com.hbm.items.tool.ItemModMinecart.EnumMinecart; import com.hbm.main.MainRegistry; +import com.hbm.tileentity.machine.TileEntityLockableBase; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.DamageSource; import net.minecraft.world.World; public class EntityMinecartCrate extends EntityMinecartContainerBase { @@ -15,8 +21,13 @@ public class EntityMinecartCrate extends EntityMinecartContainerBase { super(world); } - public EntityMinecartCrate(World world, double x, double y, double z) { + public EntityMinecartCrate(World world, double x, double y, double z, ItemStack stack) { super(world, x, y, z); + if(stack.hasTagCompound()) { + for(int i = 0; i < getSizeInventory(); i++) { + setInventorySlotContents(i, ItemStack.loadItemStackFromNBT(stack.stackTagCompound.getCompoundTag("slot" + i))); + } + } } @Override @@ -39,4 +50,38 @@ public class EntityMinecartCrate extends EntityMinecartContainerBase { public int getSizeInventory() { return 9 * 6; } + + @Override + public void killMinecart(DamageSource p_94095_1_) { + this.setDead(); + ItemStack itemstack = DictFrame.fromOne(ModItems.cart, EnumMinecart.CRATE); + + NBTTagCompound nbt = new NBTTagCompound(); + + for(int i = 0; i < getSizeInventory(); i++) { + + ItemStack stack = getStackInSlot(i); + if(stack == null) + continue; + + NBTTagCompound slot = new NBTTagCompound(); + stack.writeToNBT(slot); + nbt.setTag("slot" + i, slot); + } + + if(!nbt.hasNoTags()) { + itemstack.stackTagCompound = nbt; + } + + if(this.func_95999_t() != null) { + itemstack.setStackDisplayName(this.func_95999_t()); + } + + this.entityDropItem(itemstack, 0.0F); + } + + @Override + public ItemStack getCartItem() { + return DictFrame.fromOne(ModItems.cart, EnumMinecart.CRATE); + } } diff --git a/src/main/java/com/hbm/entity/cart/EntityMinecartDestroyer.java b/src/main/java/com/hbm/entity/cart/EntityMinecartDestroyer.java index 645033195..81e01ecbc 100644 --- a/src/main/java/com/hbm/entity/cart/EntityMinecartDestroyer.java +++ b/src/main/java/com/hbm/entity/cart/EntityMinecartDestroyer.java @@ -131,4 +131,9 @@ public class EntityMinecartDestroyer extends EntityMinecartContainerBase { this.entityDropItem(itemstack, 0.0F); } + + @Override + public ItemStack getCartItem() { + return DictFrame.fromOne(ModItems.cart, EnumMinecart.DESTROYER); + } } diff --git a/src/main/java/com/hbm/entity/item/EntityMinecartOre.java b/src/main/java/com/hbm/entity/item/EntityMinecartOre.java index 32df714d4..7812c1b7e 100644 --- a/src/main/java/com/hbm/entity/item/EntityMinecartOre.java +++ b/src/main/java/com/hbm/entity/item/EntityMinecartOre.java @@ -52,4 +52,9 @@ public class EntityMinecartOre extends EntityMinecart { this.entityDropItem(itemstack, 0.0F); } + + @Override + public ItemStack getCartItem() { + return DictFrame.fromOne(ModItems.cart, EnumMinecart.EMPTY); + } } diff --git a/src/main/java/com/hbm/entity/projectile/EntityFallingNuke.java b/src/main/java/com/hbm/entity/projectile/EntityFallingNuke.java index 1d3e967c5..208067371 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityFallingNuke.java +++ b/src/main/java/com/hbm/entity/projectile/EntityFallingNuke.java @@ -23,6 +23,7 @@ public class EntityFallingNuke extends EntityThrowable { public EntityFallingNuke(World p_i1582_1_) { super(p_i1582_1_); this.ignoreFrustumCheck = true; + this.setSize(0.98F, 0.98F); } public EntityFallingNuke(World p_i1582_1_, float tnt, float nuke, float hydro, float amat, float dirty, float schrab, float euph) { @@ -38,10 +39,12 @@ public class EntityFallingNuke extends EntityThrowable { this.euph = euph; this.prevRotationYaw = this.rotationYaw = 90; this.prevRotationPitch = this.rotationPitch = 90; + + this.setSize(0.98F, 0.98F); } protected void entityInit() { - this.dataWatcher.addObject(20, 0); + this.dataWatcher.addObject(20, Byte.valueOf((byte)0)); } @Override @@ -70,7 +73,7 @@ public class EntityFallingNuke extends EntityThrowable { this.rotation(); - if(this.worldObj.getBlock((int)this.posX, (int)this.posY, (int)this.posZ) != Blocks.air) + if(this.worldObj.getBlock((int)Math.floor(this.posX), (int)Math.floor(this.posY), (int)Math.floor(this.posZ)) != Blocks.air) { if(!this.worldObj.isRemote) { @@ -89,8 +92,7 @@ public class EntityFallingNuke extends EntityThrowable { } @Override - protected void onImpact(MovingObjectPosition p_70184_1_) { - } + protected void onImpact(MovingObjectPosition p_70184_1_) { } @Override public void writeEntityToNBT(NBTTagCompound tag) { diff --git a/src/main/java/com/hbm/hazard/transformer/HazardTransformerRadiationME.java b/src/main/java/com/hbm/hazard/transformer/HazardTransformerRadiationME.java index 4b222332e..ea47324f0 100644 --- a/src/main/java/com/hbm/hazard/transformer/HazardTransformerRadiationME.java +++ b/src/main/java/com/hbm/hazard/transformer/HazardTransformerRadiationME.java @@ -17,7 +17,8 @@ public class HazardTransformerRadiationME extends HazardTransformerBase { @Override public void transformPost(ItemStack stack, List entries) { - if(stack.getItem().getClass().getName().equals("appeng.items.storage.ItemBasicStorageCell")) { + String name = stack.getItem().getClass().getName(); + if(name.equals("appeng.items.storage.ItemBasicStorageCell") || name.equals("appeng.items.tools.powered.ToolPortableCell")) { List stacks = Compat.scrapeItemFromME(stack); float radiation = 0; diff --git a/src/main/java/com/hbm/inventory/gui/GUIHadron.java b/src/main/java/com/hbm/inventory/gui/GUIHadron.java index 9690fce1c..4857dc6c4 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIHadron.java +++ b/src/main/java/com/hbm/inventory/gui/GUIHadron.java @@ -55,6 +55,8 @@ public class GUIHadron extends GuiInfoContainer { if(this.hadron.state.showCoord) stats.add(EnumChatFormatting.RED + I18nUtil.resolveKey("hadron.stats_coord", hadron.stat_x, hadron.stat_y, hadron.stat_z)); stats.add(EnumChatFormatting.GRAY + I18nUtil.resolveKey("hadron.stats_momentum", hadron.stat_charge)); this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 41, guiTop + 92, 25, 11, mouseX, mouseY, stats.toArray(new String[0])); + + this.drawCustomInfoStat(mouseX, mouseY, guiLeft - 4, guiTop + 36, 16, 16, guiLeft + 4, guiTop + 36 + 16, new String[] {"Initial particle momentum: 750"}); } @Override @@ -127,5 +129,7 @@ public class GUIHadron extends GuiInfoContainer { GL11.glColor4f(red, green, blue, 1.0F); drawTexturedModalRect(guiLeft + 45, guiTop + 73, 0, 222, 86, 14); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + + this.drawInfoPanel(guiLeft - 4, guiTop + 36, 16, 16, 2); } } diff --git a/src/main/java/com/hbm/inventory/recipes/HadronRecipes.java b/src/main/java/com/hbm/inventory/recipes/HadronRecipes.java index 02fd53c63..0c1f679c9 100644 --- a/src/main/java/com/hbm/inventory/recipes/HadronRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/HadronRecipes.java @@ -39,7 +39,7 @@ public class HadronRecipes extends SerializableRecipe { recipes.add(new HadronRecipe( new ItemStack(ModItems.particle_hydrogen), new ItemStack(ModItems.particle_copper), - 80, + 900, new ItemStack(ModItems.particle_aproton), new ItemStack(ModItems.particle_aelectron), true @@ -47,7 +47,7 @@ public class HadronRecipes extends SerializableRecipe { recipes.add(new HadronRecipe( new ItemStack(ModItems.particle_amat), new ItemStack(ModItems.particle_amat), - 80, + 900, new ItemStack(ModItems.particle_aschrab), new ItemStack(ModItems.particle_empty), false @@ -63,7 +63,7 @@ public class HadronRecipes extends SerializableRecipe { recipes.add(new HadronRecipe( new ItemStack(ModItems.particle_hydrogen), new ItemStack(ModItems.particle_amat), - 1000, + 2000, new ItemStack(ModItems.particle_muon), new ItemStack(ModItems.particle_empty), true @@ -71,7 +71,7 @@ public class HadronRecipes extends SerializableRecipe { recipes.add(new HadronRecipe( new ItemStack(ModItems.particle_hydrogen), new ItemStack(ModItems.particle_lead), - 4000, + 5000, new ItemStack(ModItems.particle_higgs), new ItemStack(ModItems.particle_empty), false @@ -79,7 +79,7 @@ public class HadronRecipes extends SerializableRecipe { recipes.add(new HadronRecipe( new ItemStack(ModItems.particle_muon), new ItemStack(ModItems.particle_higgs), - 1000, + 2000, new ItemStack(ModItems.particle_tachyon), new ItemStack(ModItems.particle_empty), true diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 2f03660e5..61fe5704c 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -3542,7 +3542,7 @@ public class ModItems { canned_bark = new ItemLemon(2, 5, false).setUnlocalizedName("canned_bark").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_bark"); can_key = new Item().setUnlocalizedName("can_key").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_key"); - cart = new ItemModMinecart().setUnlocalizedName("cart").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cart"); + cart = new ItemModMinecart().setUnlocalizedName("cart").setTextureName(RefStrings.MODID + ":cart"); coin_creeper = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("coin_creeper").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coin_creeper"); coin_radiation = new ItemCustomLore().setRarity(EnumRarity.uncommon).setUnlocalizedName("coin_radiation").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coin_radiation"); diff --git a/src/main/java/com/hbm/items/machine/ItemFluidIDMulti.java b/src/main/java/com/hbm/items/machine/ItemFluidIDMulti.java index 0b2548f26..cd0664be4 100644 --- a/src/main/java/com/hbm/items/machine/ItemFluidIDMulti.java +++ b/src/main/java/com/hbm/items/machine/ItemFluidIDMulti.java @@ -1,6 +1,8 @@ package com.hbm.items.machine; +import java.util.Arrays; import java.util.List; +import java.util.Objects; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; @@ -9,6 +11,7 @@ import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.PlayerInformPacket; +import com.hbm.tileentity.conductor.TileEntityFluidDuctSimple; import com.hbm.util.ChatBuilder; import com.hbm.util.I18nUtil; @@ -21,8 +24,10 @@ import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; public class ItemFluidIDMulti extends Item implements IItemFluidIdentifier, IItemControlReceiver { @@ -140,4 +145,78 @@ public class ItemFluidIDMulti extends Item implements IItemFluidIdentifier, IIte int type = stack.stackTagCompound.getInteger("fluid" + (primary ? 1 : 2)); return Fluids.fromID(type); } + + /* + * CRAPPY COMPAT SECTION + */ + + @Override + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int i, float f1, float f2, float f3) { + TileEntity te = world.getTileEntity(x, y, z); + if(te instanceof TileEntityFluidDuctSimple) { + + TileEntityFluidDuctSimple duct = (TileEntityFluidDuctSimple) te; + + if(!world.isRemote) { + FluidType type = getType(world, x, y ,z, stack); + + if (player.isSneaking()) { + markDuctsRecursively(world, x, y, z, type); + } else { + duct.setType(type); + } + } + + world.markBlockForUpdate(x, y, z); + + player.swingItem(); + return true; + } + return false; + } + + private void markDuctsRecursively(World world, int x, int y, int z, FluidType type) { + markDuctsRecursively(world, x, y, z, type, 64); + } + + @Deprecated + private void markDuctsRecursively(World world, int x, int y, int z, FluidType type, int maxRecursion) { + TileEntity start = world.getTileEntity(x, y, z); + + if (!(start instanceof TileEntityFluidDuctSimple)) + return; + + TileEntityFluidDuctSimple startDuct = (TileEntityFluidDuctSimple) start; + FluidType oldType = startDuct.getType(); + + if (oldType == type) + return; // prevent infinite loops + + startDuct.setType(type); + + directionLoop: for (ForgeDirection direction : ForgeDirection.values()) { + for (int currentRecursion = 1; currentRecursion <= maxRecursion; currentRecursion++) { + + int nextX = x + direction.offsetX * currentRecursion; + int nextY = y + direction.offsetY * currentRecursion; + int nextZ = z + direction.offsetZ * currentRecursion; + + TileEntity te = world.getTileEntity(nextX, nextY, nextZ); + if (te instanceof TileEntityFluidDuctSimple && ((TileEntityFluidDuctSimple) te).getType() == oldType) { + + TileEntityFluidDuctSimple nextDuct = (TileEntityFluidDuctSimple) te; + long connectionsCount = Arrays.stream(nextDuct.connections).filter(Objects::nonNull).count(); // (o -> Objects.nonNull(o)) + + if (connectionsCount > 1) { + markDuctsRecursively(world, nextX, nextY, nextZ, type, maxRecursion - currentRecursion); + continue directionLoop; + } else { + nextDuct.setType(type); + } + } else { + break; + } + } + } + } } diff --git a/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java b/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java index 335970c7b..fcb336edc 100644 --- a/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java +++ b/src/main/java/com/hbm/items/machine/ItemFluidIdentifier.java @@ -4,7 +4,6 @@ import java.util.Arrays; import java.util.List; import java.util.Objects; -import com.hbm.interfaces.IFluidDuct; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; diff --git a/src/main/java/com/hbm/items/tool/ItemModMinecart.java b/src/main/java/com/hbm/items/tool/ItemModMinecart.java index 348aeedcc..1a372c792 100644 --- a/src/main/java/com/hbm/items/tool/ItemModMinecart.java +++ b/src/main/java/com/hbm/items/tool/ItemModMinecart.java @@ -29,7 +29,7 @@ public class ItemModMinecart extends ItemEnumMulti { public ItemModMinecart() { super(EnumMinecart.class, true, true); - this.maxStackSize = 1; + this.setMaxStackSize(4); this.setCreativeTab(CreativeTabs.tabTransport); BlockDispenser.dispenseBehaviorRegistry.putObject(this, dispenseBehavior); } @@ -59,7 +59,7 @@ public class ItemModMinecart extends ItemEnumMulti { yOffset = -1.0D; } - EntityMinecart entityminecart = createMinecart(world, x, y + yOffset, z, (EnumMinecart) EnumMinecart.values()[stack.getItemDamage()]); + EntityMinecart entityminecart = createMinecart(world, x, y + yOffset, z, stack); if(stack.hasDisplayName()) { entityminecart.setMinecartName(stack.getDisplayName()); @@ -79,7 +79,7 @@ public class ItemModMinecart extends ItemEnumMulti { if(BlockRailBase.func_150051_a(world.getBlock(x, y, z))) { if(!world.isRemote) { - EntityMinecart entityminecart = createMinecart(world, x + 0.5D, y + 0.5D, z + 0.5D, (EnumMinecart) this.theEnum.getEnumConstants()[stack.getItemDamage()]); + EntityMinecart entityminecart = createMinecart(world, x + 0.5D, y + 0.5D, z + 0.5D, stack); if(stack.hasDisplayName()) { entityminecart.setMinecartName(stack.getDisplayName()); @@ -95,9 +95,10 @@ public class ItemModMinecart extends ItemEnumMulti { } } - public static EntityMinecart createMinecart(World world, double x, double y, double z, EnumMinecart type) { + public static EntityMinecart createMinecart(World world, double x, double y, double z, ItemStack stack) { + EnumMinecart type = (EnumMinecart) EnumMinecart.values()[stack.getItemDamage()]; switch(type) { - case CRATE: return new EntityMinecartCrate(world, x, y, z); + case CRATE: return new EntityMinecartCrate(world, x, y, z, stack); case DESTROYER: return new EntityMinecartDestroyer(world, x, y, z); case EMPTY: return new EntityMinecartOre(world, x, y, z); default: return new EntityMinecartEmpty(world, x, y, z); diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index b4f3f9502..6b6c96e38 100644 --- a/src/main/java/com/hbm/lib/RefStrings.java +++ b/src/main/java/com/hbm/lib/RefStrings.java @@ -3,7 +3,7 @@ package com.hbm.lib; public class RefStrings { public static final String MODID = "hbm"; public static final String NAME = "Hbm's Nuclear Tech Mod"; - public static final String VERSION = "1.0.27 BETA (4215)"; + public static final String VERSION = "1.0.27 BETA (4228)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index e4602d21f..fe75186d6 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -1496,12 +1496,14 @@ public class ClientProxy extends ServerProxy { } if("tower".equals(type)) { - ParticleCoolingTower fx = new ParticleCoolingTower(man, world, x, y, z); - fx.setLift(data.getFloat("lift")); - fx.setBaseScale(data.getFloat("base")); - fx.setMaxScale(data.getFloat("max")); - fx.setLife(data.getInteger("life") / (particleSetting + 1)); - Minecraft.getMinecraft().effectRenderer.addEffect(fx); + if(particleSetting == 0 || (particleSetting == 1 && rand.nextBoolean())) { + ParticleCoolingTower fx = new ParticleCoolingTower(man, world, x, y, z); + fx.setLift(data.getFloat("lift")); + fx.setBaseScale(data.getFloat("base")); + fx.setMaxScale(data.getFloat("max")); + fx.setLife(data.getInteger("life") / (particleSetting + 1)); + Minecraft.getMinecraft().effectRenderer.addEffect(fx); + } } if("deadleaf".equals(type)) { diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index caffbb06e..4553946d6 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -886,6 +886,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.charger), new Object[] { "G", "S", "C", 'G', Items.glowstone_dust, 'S', STEEL.ingot(), 'C', ModItems.coil_copper }); addRecipeAuto(new ItemStack(ModBlocks.charger, 16), new Object[] { "G", "S", "C", 'G', Blocks.glowstone, 'S', STEEL.block(), 'C', ModItems.coil_copper_torus }); addRecipeAuto(new ItemStack(ModBlocks.press_preheater), new Object[] { "CCC", "SLS", "TST", 'C', ModItems.board_copper, 'S', Blocks.stone, 'L', Fluids.LAVA.getDict(1000), 'T', W.ingot() }); + addRecipeAuto(new ItemStack(ModItems.fluid_identifier_multi), new Object[] { "D", "C", "P", 'D', "dye", 'C', ModItems.circuit_aluminium, 'P', ANY_PLASTIC.ingot() }); addShapelessAuto(new ItemStack(ModItems.holotape_image, 1, EnumHoloImage.HOLO_RESTORED.ordinal()), new Object[] { new ItemStack(ModItems.holotape_image, 1, EnumHoloImage.HOLO_DIGAMMA.ordinal()), KEY_TOOL_SCREWDRIVER, ModItems.ducttape, ModItems.armor_polish }); addShapelessAuto(new ItemStack(ModItems.holotape_damaged), new Object[] { DictFrame.fromOne(ModItems.holotape_image, EnumHoloImage.HOLO_RESTORED), ModBlocks.muffler, ModItems.crt_display, ModItems.gem_alexandrite /* placeholder for amplifier */ }); diff --git a/src/main/java/com/hbm/render/entity/projectile/RenderFallingNuke.java b/src/main/java/com/hbm/render/entity/projectile/RenderFallingNuke.java index 21f191a2d..00ce78c0a 100644 --- a/src/main/java/com/hbm/render/entity/projectile/RenderFallingNuke.java +++ b/src/main/java/com/hbm/render/entity/projectile/RenderFallingNuke.java @@ -11,11 +11,11 @@ import net.minecraftforge.client.model.AdvancedModelLoader; import net.minecraftforge.client.model.IModelCustom; public class RenderFallingNuke extends Render { - - private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/LilBoy1.obj"); + + private static final ResourceLocation objTesterModelRL = new ResourceLocation(RefStrings.MODID, "models/LilBoy1.obj"); private IModelCustom boyModel; - private ResourceLocation boyTexture; - + private ResourceLocation boyTexture; + public RenderFallingNuke() { boyModel = AdvancedModelLoader.loadModel(objTesterModelRL); boyTexture = new ResourceLocation(RefStrings.MODID, "textures/models/CustomNuke.png"); @@ -25,40 +25,44 @@ public class RenderFallingNuke extends Render { public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_) { GL11.glPushMatrix(); - GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_); - - switch(p_76986_1_.getDataWatcher().getWatchableObjectByte(20)) - { + GL11.glTranslatef((float) p_76986_2_, (float) p_76986_4_, (float) p_76986_6_); + + switch(p_76986_1_.getDataWatcher().getWatchableObjectByte(20)) { case 2: GL11.glRotatef(90, 0F, 1F, 0F); - GL11.glTranslated(-2.0D, 0.0D, 0.0D); break; + GL11.glTranslated(-2.0D, 0.0D, 0.0D); + break; case 4: GL11.glRotatef(180, 0F, 1F, 0F); - GL11.glTranslated(-2.0D, 0.0D, 0.0D); break; + GL11.glTranslated(-2.0D, 0.0D, 0.0D); + break; case 3: GL11.glRotatef(270, 0F, 1F, 0F); - GL11.glTranslated(-2.0D, 0.0D, 0.0D); break; + GL11.glTranslated(-2.0D, 0.0D, 0.0D); + break; case 5: GL11.glRotatef(0, 0F, 1F, 0F); - GL11.glTranslated(-2.0D, 0.0D, 0.0D); break; + GL11.glTranslated(-2.0D, 0.0D, 0.0D); + break; } - + float f = p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_; - + if(f < -80) f = 0; - - //GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(f, 0.0F, 0.0F, 1.0F); - bindTexture(boyTexture); - boyModel.renderAll(); - + // GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - + // p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(f, 0.0F, 0.0F, 1.0F); + + bindTexture(boyTexture); + boyModel.renderAll(); + GL11.glPopMatrix(); } @Override protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return new ResourceLocation(RefStrings.MODID +":textures/models/TheGadget3_.png"); + return new ResourceLocation(RefStrings.MODID + ":textures/models/TheGadget3_.png"); } } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 453b772d8..fa6096b93 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -1040,6 +1040,7 @@ item.cape_schrabidium.name=Cape (Schrabidisch) item.cape_vertice.name=Lord Vertices Cape item.cart.crate.name=Stahlkistenlore item.cart.destroyer.name=Schuttzerstörende Lore +item.cart.empty.name=Stählerne Lore item.casing_357.name=.357 Magnum-Hülse (x24) item.casing_44.name=.44 Magnum-Hülse (x24) item.casing_50.name=Großkaliberhülse (x12) @@ -3682,6 +3683,7 @@ tile.watz_element.name=Watzreaktionskammer tile.watz_end.name=Watz-Stabilitätselement tile.watz_hatch.name=Watzreaktorzugriffsluke tile.yellow_barrel.name=Radioaktives Fass +tile.zirnox_destroyed.name=Zerstörter ZINOX trait.asbestos=Asbest trait.blinding=Blendend diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 5d64fd68b..c779beee7 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1257,6 +1257,7 @@ item.cape_schrabidium.name=Cape (Schrabidic) item.cape_vertice.name=Lord Vertice's Cape item.cart.crate.name=Crate Cart item.cart.destroyer.name=Scrap Destroying Cart +item.cart.empty.name=Steel Minecart item.casing_357.name=.357 Magnum Casing (x24) item.casing_44.name=.44 Magnum Casing (x24) item.casing_50.name=Large Caliber Casing (x12) @@ -4075,6 +4076,7 @@ tile.watz_element.name=Watz Reaction Chamber tile.watz_end.name=Watz Reactor Stability Element tile.watz_hatch.name=Watz Reactor Access Hatch tile.yellow_barrel.name=Radioactive Barrel +tile.zirnox_destroyed.name=Destroyed ZINROX trait.asbestos=Asbestos trait.blinding=Blinding diff --git a/src/main/resources/assets/hbm/textures/items/cart.destroyer.png b/src/main/resources/assets/hbm/textures/items/cart.destroyer.png index dc14093df60b614df17d8f25608b187adb2bc93c..74ee9092aff68329b266f0f362f036387212fd8d 100644 GIT binary patch delta 490 zcmVn z@4b7c@j!H%s5n17Ld!doyBQ1X4TsC+4glXiwQ`FT?g~3iRDZqUu(9WHx!mE++ZNyb zzZ@QA9pzF#e{fX4>#2U%Q-E?^R{@#)Zjp?G;h>ig0ov_0uImEu#4gb9dej?E#z_Id z5+b>CrP4rCQfJYfFI`8LNJ$-t?gaJ{&9wwUIBF7 zh@dgq_h-Zo=2BAI++?}8d0DUBq5;1t1ys}Phz zbppySP?1WgmE9g!rSLD1K)s5nPLZTBc1Vof7}+sg&`KhRm^eO6CdF~bt#zczG&>CQ ze$4Ey#Xq9kLgIY?04u8}vls*GjV71#EdWkGv@=O^_krCOQh#qWS=;fsoNw{!b(?R& zANCJSN13W0-!)~>^JUQU1rX2k1TgaZB!+|0u%9RbbUGb8&ja9*n`6-PsW+O2lN^Af zR5Ek7l?_}i9`W)?o6)dO8e;)esx{Gif_|_0G;T5)_F3EU0az^_@$_+@y|k5Z5ge1Xl@rY}d9+N$p~MZj4}jj(8k^#bUwj?Qg?!tomQ$FSm>CV?v-3t^fc4 M07*qoM6N<$f(HBJtN;K2 diff --git a/src/main/resources/assets/hbm/textures/items/cart.empty.png b/src/main/resources/assets/hbm/textures/items/cart.empty.png index be89e0b1ea3dd3aa4c9f292946c7e438a7ada2b3..b36ccaa5aae347278c5ee08b250ca0d481756151 100644 GIT binary patch delta 397 zcmV;80doGP1GfW^G=FYML_t(Ijir)ZYuhjsh93u2*`T{HRb&wO7dS}^{r^9q&@bOD zOQ7IU$73^XqFEKV7md}ZDa*yqjf8lg_nh-0_|Hm?2_{{2IS0V`#bq>6WbhdXFdlyi;&ok96o2!`WHi7^WkZK(q92Rz z@y;hFk;w=^>x`y(3|)q^ZU12H7HhYxR!h<}#lO5zmbZr?o?l#YbA5%@8Jo=(0Pp>~ zP>28;lT%d>vBA2ogUNXOH5$9?EL{gmWk@MQs9}Zj{x0#}1(U9`2qAW$#h5&To8}R% zvpB@v8B8{tCx4X6Feb-27hoynZY4=Eo%N!a&UzsvRrP=nGMLQfbAC0yBX|h<`RN(& z9p(L9k^t8w90+N)P`2g`Fhe*iiF00000fhdy1EvFzG=E)5L_t(IjjfW)YQjJihCe077IhIiPGBHU;1zuTM-c4AU9EzU z;+WC~jcH;aU9_2Ys^FrX%?!hTJ3j~hcxsmbT`9}zz18{z?_44(6#(FQ9&_%>-y-#M z#IBU3QUOW@bfqNEa{xx;iIvC_I7b9%Hm?kLt2Mpe&=RRvWPc(2%E3zXw0N{>cw|1mJ1ucEo^U&xBBf7~8~`Ya;v48VhNx6P z7_M!Bt=2}Q*}S%5XIV;?fe=2f>zY#G#~$?hgVJ$ax>9mGo6>4^NRpj#%=6rkqiADx z!j$-RnC3-z^2H5ZR_6Sw{FkGWlz>V;D z4nM&^N$pM>A$(TL1!;Qt9%24)Un`2-Y8NnZh49VaYPqmRu=ctd2Oy4Pvh3Z8T)F=1 Z`2gezy3{BK7Nh_G002ovPDHLkV1iejwBY~% diff --git a/src/main/resources/mcmod.info b/src/main/resources/mcmod.info index 5105203b2..b4773b2a4 100755 --- a/src/main/resources/mcmod.info +++ b/src/main/resources/mcmod.info @@ -3,7 +3,7 @@ "modid": "hbm", "name": "Hbm's Nuclear Tech", "description": "A mod that adds weapons, nuclear themed stuff and machines", - "version":"1.0.27_X4215", + "version":"1.0.27_X4228", "mcversion": "1.7.10", "url": "", "updateUrl": "",