and some more fixes

This commit is contained in:
Bob 2023-12-25 00:08:26 +01:00
parent be2c17f102
commit ca1cd3db17
29 changed files with 71 additions and 40 deletions

View File

@ -1,9 +1,21 @@
## Added ## Added
* ???
## Changed ## Changed
* Adjusted the model for the mining helmet * Adjusted the model for the mining helmet
* The ladders on the acidizer and fluid tanks are now climbable * The ladders on the acidizer and fluid tanks are now climbable
* Removed those unused blue dungeon bricks * Removed those unused blue dungeon bricks
* Red phosphorus is no longer pyrophoric, meaning that multi purpose bomb kits no longer instantly explode
* Adjusted M2's rotations
## Fixed ## Fixed
* Fixed recipe conflict in the arc welder with the medium and large missile fuel tanks * Fixed recipe conflict in the arc welder with the medium and large missile fuel tanks
* Fixed doomsday missile not being launchable
* Fixed rocket artillery turret power connectors not working with cables
* Fixed arc welder energy consumption check not taking upgrades into account
* Fixed glyphid gland and 16k item barrels not having a proper container item set, effectively voiding the emtpy container when used in crafting
* Fixed confusing item quantity display in the exposure chamber's NEI handler
* Fixed pheromone being tagged as viscous and therefore not being dispersable, making modified pheromone useless
* Fixed mobs not being able to pathfind through open doors
* Fixed the benelli ejecting the casings wrong
* Fixed casing ejection in general being inconsistent, sometimes flying off into the wrong direction

View File

@ -1,6 +1,6 @@
mod_version=1.0.27 mod_version=1.0.27
# Empty build number makes a release type # Empty build number makes a release type
mod_build_number=4816 mod_build_number=4824
credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\
\ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\ \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\

View File

@ -92,6 +92,11 @@ public class BlockDoorGeneric extends BlockDummyable {
//super.addCollisionBoxesToList(worldIn, x, y, z, entityBox, collidingBoxes, entityIn); //super.addCollisionBoxesToList(worldIn, x, y, z, entityBox, collidingBoxes, entityIn);
} }
@Override //should fix AI pathfinding
public boolean getBlocksMovement(IBlockAccess world, int x, int y, int z) { //btw the method name is the exact opposite of that it's doing, check net.minecraft.pathfinding.PathNavigate#512
return hasExtra(world.getBlockMetadata(x, y, z)); //if it's open
}
@Override @Override
public void onNeighborBlockChange(World world, int x, int y, int z, Block blockIn){ public void onNeighborBlockChange(World world, int x, int y, int z, Block blockIn){

View File

@ -127,20 +127,17 @@ public class CasingEjector implements Cloneable {
} }
private static Vec3 rotateVector(Vec3 vector, float pitch, float yaw, float pitchFactor, float yawFactor) { private static Vec3 rotateVector(Vec3 vector, float pitch, float yaw, float pitchFactor, float yawFactor) {
// Apply randomness to vector
vector.xCoord += rand.nextGaussian() * yawFactor;
vector.yCoord += rand.nextGaussian() * pitchFactor;
vector.zCoord += rand.nextGaussian() * yawFactor;
final Matrix4f pitchMatrix = new Matrix4f(), yawMatrix = new Matrix4f(); final Matrix4f pitchMatrix = new Matrix4f(), yawMatrix = new Matrix4f();
pitchMatrix.setIdentity(); pitchMatrix.setIdentity();
pitchMatrix.rotate(-pitch, new Vector3f(1, 0, 0)); pitchMatrix.rotate(pitch, new Vector3f(1, 0, 0));
yawMatrix.setIdentity(); yawMatrix.setIdentity();
yawMatrix.rotate(-yaw, new Vector3f(0, 1, 0)); yawMatrix.rotate(-yaw, new Vector3f(0, 1, 0));
final Vector4f vector4f = new Vector4f((float) vector.xCoord, (float) vector.yCoord, (float) vector.zCoord, 1); // Apply randomness to vector
final Vector4f vector4f = new Vector4f((float) (vector.xCoord + rand.nextGaussian() * yawFactor), (float) (vector.yCoord + rand.nextGaussian() * pitchFactor), (float) (vector.zCoord + rand.nextGaussian() * yawFactor), 1);
Matrix4f.transform(pitchMatrix, vector4f, vector4f); Matrix4f.transform(pitchMatrix, vector4f, vector4f);
Matrix4f.transform(yawMatrix, vector4f, vector4f); Matrix4f.transform(yawMatrix, vector4f, vector4f);

View File

@ -39,7 +39,7 @@ public class Gun12GaugeFactory {
static { static {
EJECTOR_SPAS = new CasingEjector().setMotion(-0.4, 0.1, 0).setOffset(-0.35, 0, 0.5).setAngleRange(0.01F, 0.03F).setDelay(12); EJECTOR_SPAS = new CasingEjector().setMotion(-0.4, 0.1, 0).setOffset(-0.35, 0, 0.5).setAngleRange(0.01F, 0.03F).setDelay(12);
EJECTOR_SPAS_ALT = new CasingEjector().setMotion(-0.4, 0.1, 0).setOffset(-0.35, 0, 0.5).setAngleRange(0.01F, 0.03F).setDelay(12).setAmount(2); EJECTOR_SPAS_ALT = new CasingEjector().setMotion(-0.4, 0.1, 0).setOffset(-0.35, 0, 0.5).setAngleRange(0.01F, 0.03F).setDelay(12).setAmount(2);
EJECTOR_BENELLI = new CasingEjector().setMotion(-0.4, 0.1, 0).setOffset(-0.3, 1, 0).setAngleRange(0.01F, 0.03F); EJECTOR_BENELLI = new CasingEjector().setMotion(-0.4, 0.3, 0).setOffset(-0.3, 0, 0.5).setAngleRange(0.01F, 0.03F);
EJECTOR_UBOINIK = new CasingEjector().setMotion(-0.4, 0.1, 0).setOffset(-0.35, -0.3, 0.5).setAngleRange(0.01F, 0.03F); EJECTOR_UBOINIK = new CasingEjector().setMotion(-0.4, 0.1, 0).setOffset(-0.35, -0.3, 0.5).setAngleRange(0.01F, 0.03F);
EJECTOR_SSG = new CasingEjector().setMotion(0.2, 0, -0.2).setOffset(0.8, 0, 0).setAngleRange(0.05F, 0.02F).setDelay(20).setAmount(2); EJECTOR_SSG = new CasingEjector().setMotion(0.2, 0, -0.2).setOffset(0.8, 0, 0).setAngleRange(0.05F, 0.02F).setDelay(20).setAmount(2);

View File

@ -422,7 +422,7 @@ public class OreDictManager {
* PHOSPHORUS * PHOSPHORUS
*/ */
P_WHITE .hot(5) .ingot(ingot_phosphorus) .block(block_white_phosphorus); P_WHITE .hot(5) .ingot(ingot_phosphorus) .block(block_white_phosphorus);
P_RED .hot(2) .dust(powder_fire) .block(block_red_phosphorus); P_RED .dust(powder_fire) .block(block_red_phosphorus);
/* /*
* RARE METALS * RARE METALS

View File

@ -331,9 +331,9 @@ public class Fluids {
THORIUM_SALT = new FluidType("THORIUM_SALT", 0x7A5542, 2, 0, 3, EnumSymbol.NONE).setTemp(800).addTraits(LIQUID, VISCOUS, new FT_Corrosive(65)); THORIUM_SALT = new FluidType("THORIUM_SALT", 0x7A5542, 2, 0, 3, EnumSymbol.NONE).setTemp(800).addTraits(LIQUID, VISCOUS, new FT_Corrosive(65));
THORIUM_SALT_HOT = new FluidType("THORIUM_SALT_HOT", 0x3E3627, 2, 0, 3, EnumSymbol.NONE).setTemp(1600).addTraits(LIQUID, VISCOUS, new FT_Corrosive(65)); THORIUM_SALT_HOT = new FluidType("THORIUM_SALT_HOT", 0x3E3627, 2, 0, 3, EnumSymbol.NONE).setTemp(1600).addTraits(LIQUID, VISCOUS, new FT_Corrosive(65));
THORIUM_SALT_DEPLETED = new FluidType("THORIUM_SALT_DEPLETED", 0x302D1C, 2, 0, 3, EnumSymbol.NONE).setTemp(800).addTraits(LIQUID, VISCOUS, new FT_Corrosive(65)); THORIUM_SALT_DEPLETED = new FluidType("THORIUM_SALT_DEPLETED", 0x302D1C, 2, 0, 3, EnumSymbol.NONE).setTemp(800).addTraits(LIQUID, VISCOUS, new FT_Corrosive(65));
FULLERENE = new FluidType("FULLERENE", 0xFF7FED, 3, 3, 3, EnumSymbol.NONE).addTraits(LIQUID, new FT_Corrosive(65)); FULLERENE = new FluidType("FULLERENE", 0xFF7FED, 3, 3, 3, EnumSymbol.NONE).addTraits(LIQUID, new FT_Corrosive(65));
PHEROMONE = new FluidType("PHEROMONE", 0x5FA6E8, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS, new FT_Pheromone(1)); PHEROMONE = new FluidType("PHEROMONE", 0x5FA6E8, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, new FT_Pheromone(1));
PHEROMONE_M = new FluidType(132, "PHEROMONE_M", 0x48C9B0 , 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS, new FT_Pheromone(2)); PHEROMONE_M = new FluidType(132, "PHEROMONE_M", 0x48C9B0 , 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, new FT_Pheromone(2));
// ^ ^ ^ ^ ^ ^ ^ ^ // ^ ^ ^ ^ ^ ^ ^ ^
//ADD NEW FLUIDS HERE //ADD NEW FLUIDS HERE

View File

@ -46,8 +46,10 @@ public class ExposureChamberRecipes extends SerializableRecipe {
AStack stack = recipe.ingredient.copy(); AStack stack = recipe.ingredient.copy();
stack.stacksize = 8; stack.stacksize = 8;
array[0] = stack; array[0] = stack;
ItemStack output = recipe.output.copy();
output.stackSize = 8;
recipes.put(array, recipe.output); recipes.put(array, output);
} }
return recipes; return recipes;

View File

@ -4647,15 +4647,15 @@ public class ModItems {
fluid_tank_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_full").setContainerItem(ModItems.fluid_tank_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank"); fluid_tank_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_full").setContainerItem(ModItems.fluid_tank_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank");
fluid_tank_lead_empty = new Item().setUnlocalizedName("fluid_tank_lead_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank_lead"); fluid_tank_lead_empty = new Item().setUnlocalizedName("fluid_tank_lead_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank_lead");
fluid_tank_lead_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_lead_full").setContainerItem(ModItems.fluid_tank_lead_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank_lead"); fluid_tank_lead_full = new ItemFluidTank().setUnlocalizedName("fluid_tank_lead_full").setContainerItem(ModItems.fluid_tank_lead_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_tank_lead");
fluid_barrel_full = new ItemFluidTank().setUnlocalizedName("fluid_barrel_full").setContainerItem(ModItems.fluid_barrel_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel");
fluid_barrel_empty = new Item().setUnlocalizedName("fluid_barrel_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel"); fluid_barrel_empty = new Item().setUnlocalizedName("fluid_barrel_empty").setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel");
fluid_barrel_full = new ItemFluidTank().setUnlocalizedName("fluid_barrel_full").setContainerItem(ModItems.fluid_barrel_empty).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel");
fluid_barrel_infinite = new ItemInfiniteFluid(null, 1_000_000_000).setUnlocalizedName("fluid_barrel_infinite").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel_infinite"); fluid_barrel_infinite = new ItemInfiniteFluid(null, 1_000_000_000).setUnlocalizedName("fluid_barrel_infinite").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":fluid_barrel_infinite");
disperser_canister_empty = new Item().setUnlocalizedName("disperser_canister_empty").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":disperser_canister"); disperser_canister_empty = new Item().setUnlocalizedName("disperser_canister_empty").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":disperser_canister");
disperser_canister = new ItemDisperser().setUnlocalizedName("disperser_canister").setContainerItem(ModItems.disperser_canister_empty).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":disperser_canister"); disperser_canister = new ItemDisperser().setUnlocalizedName("disperser_canister").setContainerItem(ModItems.disperser_canister_empty).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":disperser_canister");
glyphid_gland = new ItemDisperser().setUnlocalizedName("glyphid_gland").setContainerItem(ModItems.glyphid_gland_empty).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":glyphid_gland");
glyphid_gland_empty = new Item().setUnlocalizedName("glyphid_gland_empty").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":glyphid_gland"); glyphid_gland_empty = new Item().setUnlocalizedName("glyphid_gland_empty").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":glyphid_gland");
glyphid_gland = new ItemDisperser().setUnlocalizedName("glyphid_gland").setContainerItem(ModItems.glyphid_gland_empty).setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":glyphid_gland");
siren_track = new ItemCassette().setUnlocalizedName("siren_track").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":cassette"); siren_track = new ItemCassette().setUnlocalizedName("siren_track").setMaxStackSize(1).setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":cassette");
fluid_duct = new ItemFluidDuct().setUnlocalizedName("fluid_duct").setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":duct"); fluid_duct = new ItemFluidDuct().setUnlocalizedName("fluid_duct").setCreativeTab(MainRegistry.templateTab).setTextureName(RefStrings.MODID + ":duct");

View File

@ -27,16 +27,16 @@ public class ItemPollutionDetector extends Item {
float soot = data.pollution[PollutionType.SOOT.ordinal()]; float soot = data.pollution[PollutionType.SOOT.ordinal()];
float poison = data.pollution[PollutionType.POISON.ordinal()]; float poison = data.pollution[PollutionType.POISON.ordinal()];
float heavymetal = data.pollution[PollutionType.HEAVYMETAL.ordinal()]; float heavymetal = data.pollution[PollutionType.HEAVYMETAL.ordinal()];
float fallout = data.pollution[PollutionType.FALLOUT.ordinal()]; //float fallout = data.pollution[PollutionType.FALLOUT.ordinal()];
soot = ((int) (soot * 100)) / 100F; soot = ((int) (soot * 100)) / 100F;
poison = ((int) (poison * 100)) / 100F; poison = ((int) (poison * 100)) / 100F;
heavymetal = ((int) (heavymetal * 100)) / 100F; heavymetal = ((int) (heavymetal * 100)) / 100F;
fallout = ((int) (fallout * 100)) / 100F; //fallout = ((int) (fallout * 100)) / 100F;
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Soot: " + soot).color(EnumChatFormatting.YELLOW).flush(), 100, 4000), (EntityPlayerMP) entity); PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Soot: " + soot).color(EnumChatFormatting.YELLOW).flush(), 100, 4000), (EntityPlayerMP) entity);
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Poison: " + poison).color(EnumChatFormatting.YELLOW).flush(), 101, 4000), (EntityPlayerMP) entity); PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Poison: " + poison).color(EnumChatFormatting.YELLOW).flush(), 101, 4000), (EntityPlayerMP) entity);
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Heavy metal: " + heavymetal).color(EnumChatFormatting.YELLOW).flush(), 102, 4000), (EntityPlayerMP) entity); PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Heavy metal: " + heavymetal).color(EnumChatFormatting.YELLOW).flush(), 102, 4000), (EntityPlayerMP) entity);
PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Fallout: " + fallout).color(EnumChatFormatting.YELLOW).flush(), 103, 4000), (EntityPlayerMP) entity); //PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Fallout: " + fallout).color(EnumChatFormatting.YELLOW).flush(), 103, 4000), (EntityPlayerMP) entity);
} }
} }

View File

@ -742,6 +742,16 @@ public class HbmWorldGen implements IWorldGenerator {
} }
} }
if(rand.nextInt(4) == 0) {
int x = i + rand.nextInt(16) + 8;
int y = 6 + rand.nextInt(13);
int z = j + rand.nextInt(16) + 8;
if(world.getBlock(x, y, z).isReplaceableOreGen(world, x, y, z, Blocks.stone)) {
world.setBlock(x, y, z, ModBlocks.stone_keyhole);
}
}
} }
private void generateNether(World world, Random rand, int i, int j) { private void generateNether(World world, Random rand, int i, int j) {

View File

@ -3,7 +3,7 @@ package com.hbm.lib;
public class RefStrings { public class RefStrings {
public static final String MODID = "hbm"; public static final String MODID = "hbm";
public static final String NAME = "Hbm's Nuclear Tech Mod"; public static final String NAME = "Hbm's Nuclear Tech Mod";
public static final String VERSION = "1.0.27 BETA (4816)"; public static final String VERSION = "1.0.27 BETA (4824)";
//HBM's Beta Naming Convention: //HBM's Beta Naming Convention:
//V T (X) //V T (X)
//V -> next release version //V -> next release version

View File

@ -30,11 +30,11 @@ public class ItemRenderM2 extends ItemRenderBase {
GL11.glRotatef(30, 1, 0, 0); GL11.glRotatef(30, 1, 0, 0);
break; break;
case EQUIPPED_FIRST_PERSON: case EQUIPPED_FIRST_PERSON:
GL11.glRotatef(-90, 0, 1, 0);
if (Minecraft.getMinecraft().thePlayer.isSneaking()) { if (Minecraft.getMinecraft().thePlayer.isSneaking()) {
GL11.glRotatef(-90, 0, 1, 0);
GL11.glTranslatef(-0.96f, -0.9f, -2); GL11.glTranslatef(-0.96f, -0.9f, -2);
GL11.glRotatef(-5.6f, 0, 1, 1); GL11.glRotatef(-5.75f, 0, 1, 1);// Just of by 0.15
/* vvv remove to restore original look vvv */ /* vvv remove to restore original look vvv */
GL11.glRotatef(1.9F, 0, 0, 1); GL11.glRotatef(1.9F, 0, 0, 1);
@ -44,6 +44,7 @@ public class ItemRenderM2 extends ItemRenderBase {
GL11.glTranslatef(0, 1.15F, -1.75F); GL11.glTranslatef(0, 1.15F, -1.75F);
} else { } else {
GL11.glRotatef(-95, 0, 1, 0);
GL11.glTranslatef(0, -1, -3); GL11.glTranslatef(0, -1, -3);
} }
GL11.glRotatef(25, 1, 0, 0); GL11.glRotatef(25, 1, 0, 0);

View File

@ -10,6 +10,7 @@ import com.hbm.config.GeneralConfig;
import com.hbm.entity.missile.EntityCarrier; import com.hbm.entity.missile.EntityCarrier;
import com.hbm.entity.missile.EntityMissileAntiBallistic; import com.hbm.entity.missile.EntityMissileAntiBallistic;
import com.hbm.entity.missile.EntityMissileBaseNT; import com.hbm.entity.missile.EntityMissileBaseNT;
import com.hbm.entity.missile.EntityMissileDoomsday;
import com.hbm.entity.missile.EntityMissileShuttle; import com.hbm.entity.missile.EntityMissileShuttle;
import com.hbm.entity.missile.EntityMissileTier0.*; import com.hbm.entity.missile.EntityMissileTier0.*;
import com.hbm.entity.missile.EntityMissileTier1.*; import com.hbm.entity.missile.EntityMissileTier1.*;
@ -87,6 +88,8 @@ public class TileEntityLaunchPad extends TileEntityMachineBase implements IEnerg
missiles.put(new ComparableStack(ModItems.missile_nuclear), EntityMissileNuclear.class); missiles.put(new ComparableStack(ModItems.missile_nuclear), EntityMissileNuclear.class);
missiles.put(new ComparableStack(ModItems.missile_nuclear_cluster), EntityMissileMirv.class); missiles.put(new ComparableStack(ModItems.missile_nuclear_cluster), EntityMissileMirv.class);
missiles.put(new ComparableStack(ModItems.missile_volcano), EntityMissileVolcano.class); missiles.put(new ComparableStack(ModItems.missile_volcano), EntityMissileVolcano.class);
missiles.put(new ComparableStack(ModItems.missile_doomsday), EntityMissileDoomsday.class);
} }
public ItemStack toRender; public ItemStack toRender;

View File

@ -142,7 +142,7 @@ public class TileEntityMachineArcWelder extends TileEntityMachineBase implements
public boolean canProcess(ArcWelderRecipe recipe) { public boolean canProcess(ArcWelderRecipe recipe) {
if(this.power < recipe.consumption) return false; if(this.power < this.consumption) return false;
if(recipe.fluid != null) { if(recipe.fluid != null) {
if(this.tank.getTankType() != recipe.fluid.type) return false; if(this.tank.getTankType() != recipe.fluid.type) return false;

View File

@ -3,7 +3,6 @@ package com.hbm.tileentity.turret;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.hbm.blocks.BlockDummyable;
import com.hbm.entity.projectile.EntityArtilleryShell; import com.hbm.entity.projectile.EntityArtilleryShell;
import com.hbm.handler.CasingEjector; import com.hbm.handler.CasingEjector;
import com.hbm.inventory.container.ContainerTurretBase; import com.hbm.inventory.container.ContainerTurretBase;
@ -27,7 +26,6 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.Vec3; import net.minecraft.util.Vec3;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implements IGUIProvider { public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implements IGUIProvider {
@ -221,20 +219,6 @@ public class TileEntityTurretArty extends TileEntityTurretBaseArtillery implemen
return 7; return 7;
} }
protected void updateConnections() {
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite();
ForgeDirection rot = dir.getRotation(ForgeDirection.UP);
for(int i = 0; i < 2; i++) {
for(int j = 0; j < 4; j++) {
this.trySubscribe(worldObj, xCoord + dir.offsetX * (-1 + j) + rot.offsetX * -3, yCoord + i, zCoord + dir.offsetZ * (-1 + j) + rot.offsetZ * -3, ForgeDirection.SOUTH);
this.trySubscribe(worldObj, xCoord + dir.offsetX * (-1 + j) + rot.offsetX * 2, yCoord + i, zCoord + dir.offsetZ * (-1 + j) + rot.offsetZ * 2, ForgeDirection.NORTH);
this.trySubscribe(worldObj, xCoord + dir.offsetX * -2 + rot.offsetX * (1 - j), yCoord + i, zCoord + dir.offsetZ * -2 + rot.offsetZ * (1 - j), ForgeDirection.EAST);
this.trySubscribe(worldObj, xCoord + dir.offsetX * 3 + rot.offsetX * (1 - j), yCoord + i, zCoord + dir.offsetZ * 3 + rot.offsetZ * (1 - j), ForgeDirection.WEST);
}
}
}
@Override @Override
public void updateEntity() { public void updateEntity() {

View File

@ -3,10 +3,12 @@ package com.hbm.tileentity.turret;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import com.hbm.blocks.BlockDummyable;
import com.hbm.tileentity.IRadarCommandReceiver; import com.hbm.tileentity.IRadarCommandReceiver;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.util.Vec3; import net.minecraft.util.Vec3;
import net.minecraftforge.common.util.ForgeDirection;
public abstract class TileEntityTurretBaseArtillery extends TileEntityTurretBaseNT implements IRadarCommandReceiver { public abstract class TileEntityTurretBaseArtillery extends TileEntityTurretBaseNT implements IRadarCommandReceiver {
@ -52,4 +54,19 @@ public abstract class TileEntityTurretBaseArtillery extends TileEntityTurretBase
return height < (e.posY + e.height); return height < (e.posY + e.height);
} }
} }
@Override
protected void updateConnections() {
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite();
ForgeDirection rot = dir.getRotation(ForgeDirection.UP);
for(int i = 0; i < 2; i++) {
for(int j = 0; j < 4; j++) {
this.trySubscribe(worldObj, xCoord + dir.offsetX * (-1 + j) + rot.offsetX * -3, yCoord + i, zCoord + dir.offsetZ * (-1 + j) + rot.offsetZ * -3, ForgeDirection.SOUTH);
this.trySubscribe(worldObj, xCoord + dir.offsetX * (-1 + j) + rot.offsetX * 2, yCoord + i, zCoord + dir.offsetZ * (-1 + j) + rot.offsetZ * 2, ForgeDirection.NORTH);
this.trySubscribe(worldObj, xCoord + dir.offsetX * -2 + rot.offsetX * (1 - j), yCoord + i, zCoord + dir.offsetZ * -2 + rot.offsetZ * (1 - j), ForgeDirection.EAST);
this.trySubscribe(worldObj, xCoord + dir.offsetX * 3 + rot.offsetX * (1 - j), yCoord + i, zCoord + dir.offsetZ * 3 + rot.offsetZ * (1 - j), ForgeDirection.WEST);
}
}
}
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 218 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 375 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 392 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 553 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 407 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 383 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 486 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 296 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 274 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 297 B

After

Width:  |  Height:  |  Size: 549 B