mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
the malicious gigglefish from the silly dimension
This commit is contained in:
parent
49ddcd6f85
commit
a21a0934a6
@ -36,6 +36,12 @@
|
||||
* There is now an alternate recipe for standard capacitors, using one aluminium dust for two capacitors (i.e. 4.5 aluminium nuggets, vs the standard 1 niobium nugget)
|
||||
* Shift-clicking steel grates onto the top/bottom of a block now shifts the grate into that block (if there is space, for example for cables or ducts). The effect is only visual, and the block still occupies the position above the block that the grate has been placed at
|
||||
* This allows for making pipes with grates over them which are flush with the floor
|
||||
* The ore acidizer has been remodeled
|
||||
* The ports are now much simpler, having universale ports for all types instead of ppower/fluid being separated from items
|
||||
* The ports are now all located at the bottom, making it easier to connect power/fluid
|
||||
* There are now more ports to choose from
|
||||
* The machine is now one block shorter
|
||||
* The ladder is now wider and centered on the side
|
||||
|
||||
## Fixed
|
||||
* Fixed dupe regarding conveyor grabbers
|
||||
@ -43,4 +49,5 @@
|
||||
* Fixed a bug where missile debris would always spawn with a stack size of 1 and a meta of 0
|
||||
* Fixed FM radios disassembling into incorrect parts
|
||||
* Fixed 256k tanks yielding too much steel when shredded
|
||||
* Fixed the wire mold only creating 1 wire instead of the intended 8 due to the changes to the wire oredict
|
||||
* Fixed the wire mold only creating 1 wire instead of the intended 8 due to the changes to the wire oredict
|
||||
* Fixed potential crashes in the arc welder and soldering station GUIs
|
||||
|
||||
@ -3,7 +3,6 @@ package com.hbm.blocks.machine;
|
||||
import com.hbm.blocks.BlockDummyable;
|
||||
import com.hbm.main.MainRegistry;
|
||||
import com.hbm.tileentity.TileEntityProxyCombo;
|
||||
import com.hbm.tileentity.TileEntityProxyInventory;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineCrystallizer;
|
||||
|
||||
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
|
||||
@ -27,34 +26,23 @@ public class MachineCrystallizer extends BlockDummyable {
|
||||
|
||||
@Override
|
||||
public TileEntity createNewTileEntity(World world, int meta) {
|
||||
|
||||
if(meta >= 12)
|
||||
return new TileEntityMachineCrystallizer();
|
||||
|
||||
if(meta >= 8 && meta <= 11)
|
||||
return new TileEntityProxyInventory();
|
||||
|
||||
if(meta == 7)
|
||||
return new TileEntityProxyCombo(false, true, true);
|
||||
|
||||
if(meta >= 12) return new TileEntityMachineCrystallizer();
|
||||
if(meta >= 6) return new TileEntityProxyCombo().inventory().power().fluid();
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
|
||||
if(world.isRemote)
|
||||
{
|
||||
if(world.isRemote) {
|
||||
return true;
|
||||
} else if(!player.isSneaking())
|
||||
{
|
||||
} else if(!player.isSneaking()) {
|
||||
int[] pos = this.findCore(world, x, y, z);
|
||||
|
||||
|
||||
if(pos == null)
|
||||
return false;
|
||||
|
||||
|
||||
TileEntityMachineCrystallizer entity = (TileEntityMachineCrystallizer) world.getTileEntity(pos[0], pos[1], pos[2]);
|
||||
if(entity != null)
|
||||
{
|
||||
if(entity != null) {
|
||||
FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, pos[0], pos[1], pos[2]);
|
||||
}
|
||||
return true;
|
||||
@ -65,7 +53,7 @@ public class MachineCrystallizer extends BlockDummyable {
|
||||
|
||||
@Override
|
||||
public int[] getDimensions() {
|
||||
return new int[] { 6, 0, 1, 1, 1, 1 };
|
||||
return new int[] { 5, 0, 1, 1, 1, 1 };
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -76,20 +64,10 @@ public class MachineCrystallizer extends BlockDummyable {
|
||||
protected void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) {
|
||||
super.fillSpace(world, x, y, z, dir, o);
|
||||
|
||||
this.makeExtra(world, x + dir.offsetX * o + 1, y, z + dir.offsetZ * o);
|
||||
this.makeExtra(world, x + dir.offsetX * o - 1, y, z + dir.offsetZ * o);
|
||||
this.makeExtra(world, x + dir.offsetX * o, y, z + dir.offsetZ * o + 1);
|
||||
this.makeExtra(world, x + dir.offsetX * o, y, z + dir.offsetZ * o - 1);
|
||||
|
||||
if(dir == ForgeDirection.NORTH || dir == ForgeDirection.SOUTH) {
|
||||
this.makeExtra(world, x + dir.offsetX * o + 1, y + 5, z + dir.offsetZ * o);
|
||||
this.makeExtra(world, x + dir.offsetX * o - 1, y + 5, z + dir.offsetZ * o);
|
||||
}
|
||||
|
||||
if(dir == ForgeDirection.EAST || dir == ForgeDirection.WEST) {
|
||||
this.makeExtra(world, x + dir.offsetX * o, y + 5, z + dir.offsetZ * o + 1);
|
||||
this.makeExtra(world, x + dir.offsetX * o, y + 5, z + dir.offsetZ * o - 1);
|
||||
}
|
||||
this.makeExtra(world, x + dir.offsetX * o + 1, y, z + dir.offsetZ * o + 1);
|
||||
this.makeExtra(world, x + dir.offsetX * o - 1, y, z + dir.offsetZ * o + 1);
|
||||
this.makeExtra(world, x + dir.offsetX * o + 1, y, z + dir.offsetZ * o - 1);
|
||||
this.makeExtra(world, x + dir.offsetX * o - 1, y, z + dir.offsetZ * o - 1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -47,10 +47,10 @@ public class GUIMachineArcWelder extends GuiInfoContainer {
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||
|
||||
int p = (int) (welder.power * 52 / welder.maxPower);
|
||||
int p = (int) (welder.power * 52 / Math.max(welder.maxPower, 1));
|
||||
drawTexturedModalRect(guiLeft + 152, guiTop + 70 - p, 176, 52 - p, 16, p);
|
||||
|
||||
int i = welder.progress * 33 / welder.processTime;
|
||||
int i = welder.progress * 33 / Math.max(welder.processTime, 1);
|
||||
drawTexturedModalRect(guiLeft + 72, guiTop + 37, 192, 0, i, 14);
|
||||
|
||||
if(welder.power >= welder.consumption) {
|
||||
|
||||
@ -46,11 +46,11 @@ public class GUIMachineSolderingStation extends GuiInfoContainer {
|
||||
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
Minecraft.getMinecraft().getTextureManager().bindTexture(texture);
|
||||
drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
|
||||
|
||||
int p = (int) (solderer.power * 52 / solderer.maxPower);
|
||||
|
||||
int p = (int) (solderer.power * 52 / Math.max(solderer.maxPower, 1));
|
||||
drawTexturedModalRect(guiLeft + 152, guiTop + 70 - p, 176, 52 - p, 16, p);
|
||||
|
||||
int i = solderer.progress * 33 / solderer.processTime;
|
||||
|
||||
int i = solderer.progress * 33 / Math.max(solderer.processTime, 1);
|
||||
drawTexturedModalRect(guiLeft + 72, guiTop + 28, 192, 0, i, 14);
|
||||
|
||||
if(solderer.power >= solderer.consumption) {
|
||||
|
||||
@ -184,7 +184,7 @@ public class ResourceManager {
|
||||
public static final IModelCustom mining_laser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/mining_laser.obj")).asVBO();
|
||||
|
||||
//Crystallizer
|
||||
public static final IModelCustom crystallizer = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/crystallizer.obj")).asVBO();
|
||||
public static final IModelCustom crystallizer = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/acidizer.obj")).asVBO();
|
||||
|
||||
//Cyclotron
|
||||
public static final IModelCustom cyclotron = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/cyclotron.obj")).asVBO();
|
||||
@ -591,9 +591,7 @@ public class ResourceManager {
|
||||
public static final ResourceLocation mining_laser_laser_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/mining_laser_laser.png");
|
||||
|
||||
//Crystallizer
|
||||
public static final ResourceLocation crystallizer_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/crystallizer.png");
|
||||
public static final ResourceLocation crystallizer_spinner_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/crystallizer_spinner.png");
|
||||
public static final ResourceLocation crystallizer_window_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/crystallizer_window.png");
|
||||
public static final ResourceLocation crystallizer_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/acidizer.png");
|
||||
|
||||
//Cyclotron
|
||||
public static final ResourceLocation cyclotron_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/cyclotron.png");
|
||||
|
||||
@ -93,22 +93,6 @@ public class ItemRenderLibrary {
|
||||
bindTexture(ResourceManager.epress_head_tex); ResourceManager.epress_head.renderAll();
|
||||
}});
|
||||
|
||||
renderers.put(Item.getItemFromBlock(ModBlocks.machine_crystallizer), new ItemRenderBase() {
|
||||
public void renderNonInv() {
|
||||
GL11.glScaled(0.5, 0.5, 0.5);
|
||||
}
|
||||
public void renderInventory() {
|
||||
GL11.glTranslated(0, -4, 0);
|
||||
GL11.glScaled(1.75, 1.75, 1.75);
|
||||
}
|
||||
public void renderCommon() {
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
bindTexture(ResourceManager.crystallizer_tex); ResourceManager.crystallizer.renderPart("Body");
|
||||
bindTexture(ResourceManager.crystallizer_window_tex); ResourceManager.crystallizer.renderPart("Windows");
|
||||
bindTexture(ResourceManager.crystallizer_spinner_tex); ResourceManager.crystallizer.renderPart("Spinner");
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
}});
|
||||
|
||||
renderers.put(Item.getItemFromBlock(ModBlocks.machine_reactor_breeding), new ItemRenderBase() {
|
||||
public void renderInventory() {
|
||||
GL11.glTranslated(0, -4, 0);
|
||||
|
||||
@ -2,46 +2,71 @@ package com.hbm.render.tileentity;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import com.hbm.blocks.ModBlocks;
|
||||
import com.hbm.main.ResourceManager;
|
||||
import com.hbm.render.item.ItemRenderBase;
|
||||
import com.hbm.tileentity.machine.TileEntityMachineCrystallizer;
|
||||
|
||||
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraftforge.client.IItemRenderer;
|
||||
|
||||
public class RenderCrystallizer extends TileEntitySpecialRenderer {
|
||||
public class RenderCrystallizer extends TileEntitySpecialRenderer implements IItemRendererProvider {
|
||||
|
||||
@Override
|
||||
public void renderTileEntityAt(TileEntity te, double x, double y, double z, float inter) {
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
|
||||
GL11.glEnable(GL11.GL_LIGHTING);
|
||||
GL11.glDisable(GL11.GL_CULL_FACE);
|
||||
|
||||
switch(te.getBlockMetadata() - 10) {
|
||||
case 2: GL11.glRotatef(90, 0F, 1F, 0F); break;
|
||||
case 4: GL11.glRotatef(180, 0F, 1F, 0F); break;
|
||||
case 3: GL11.glRotatef(270, 0F, 1F, 0F); break;
|
||||
case 5: GL11.glRotatef(0, 0F, 1F, 0F); break;
|
||||
}
|
||||
|
||||
TileEntityMachineCrystallizer crys = (TileEntityMachineCrystallizer)te;
|
||||
|
||||
TileEntityMachineCrystallizer crys = (TileEntityMachineCrystallizer) te;
|
||||
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
bindTexture(ResourceManager.crystallizer_tex);
|
||||
ResourceManager.crystallizer.renderPart("Body");
|
||||
bindTexture(ResourceManager.crystallizer_window_tex);
|
||||
ResourceManager.crystallizer.renderPart("Windows");
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(crys.prevAngle + (crys.angle - crys.prevAngle) * inter, 0, 1, 0);
|
||||
bindTexture(ResourceManager.crystallizer_spinner_tex);
|
||||
ResourceManager.crystallizer.renderPart("Spinner");
|
||||
GL11.glPopMatrix();
|
||||
|
||||
bindTexture(ResourceManager.crystallizer_tex);
|
||||
ResourceManager.crystallizer.renderPart("Body");
|
||||
|
||||
GL11.glPushMatrix();
|
||||
GL11.glRotatef(crys.prevAngle + (crys.angle - crys.prevAngle) * inter, 0, 1, 0);
|
||||
ResourceManager.crystallizer.renderPart("Spinner");
|
||||
GL11.glPopMatrix();
|
||||
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
|
||||
GL11.glPopMatrix();
|
||||
GL11.glPopMatrix();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Item getItemForRenderer() {
|
||||
return Item.getItemFromBlock(ModBlocks.machine_crystallizer);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IItemRenderer getRenderer() {
|
||||
return new ItemRenderBase() {
|
||||
public void renderNonInv() {
|
||||
GL11.glScaled(0.5, 0.5, 0.5);
|
||||
}
|
||||
public void renderInventory() {
|
||||
GL11.glTranslated(0, -4, 0);
|
||||
GL11.glScaled(2, 2, 2);
|
||||
}
|
||||
public void renderCommon() {
|
||||
GL11.glShadeModel(GL11.GL_SMOOTH);
|
||||
bindTexture(ResourceManager.crystallizer_tex);
|
||||
ResourceManager.crystallizer.renderPart("Body");
|
||||
ResourceManager.crystallizer.renderPart("Spinner");
|
||||
GL11.glShadeModel(GL11.GL_FLAT);
|
||||
}};
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -292,13 +292,18 @@ public class TileEntityMachineArcFurnaceLarge extends TileEntityMachineBase impl
|
||||
}
|
||||
|
||||
if(liquidMode && recipe.fluidOutput != null) {
|
||||
int liquid = this.getStackAmount(liquids);
|
||||
int toAdd = this.getStackAmount(recipe.fluidOutput);
|
||||
|
||||
if(liquid + toAdd <= this.maxLiquid) {
|
||||
slots[i] = null;
|
||||
for(MaterialStack stack : recipe.fluidOutput) {
|
||||
this.addToStack(stack);
|
||||
while(slots[i] != null && slots[i].stackSize > 0) {
|
||||
int liquid = this.getStackAmount(liquids);
|
||||
int toAdd = this.getStackAmount(recipe.fluidOutput);
|
||||
|
||||
if(liquid + toAdd <= this.maxLiquid) {
|
||||
this.decrStackSize(i, 1);
|
||||
for(MaterialStack stack : recipe.fluidOutput) {
|
||||
this.addToStack(stack);
|
||||
}
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -115,7 +115,7 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme
|
||||
|
||||
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10);
|
||||
ForgeDirection rot = dir.getRotation(ForgeDirection.UP);
|
||||
List<EntityPlayer> players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(xCoord, yCoord, zCoord, xCoord + 1, yCoord + 6.875, zCoord + 1).offset(dir.offsetX * 0.75 + rot.offsetX * 1.25, 0, dir.offsetZ * 0.75 + rot.offsetZ * 1.25));
|
||||
List<EntityPlayer> players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, AxisAlignedBB.getBoundingBox(xCoord + 0.25, yCoord + 1, zCoord + 0.25, xCoord + 0.75, yCoord + 5.875, zCoord + 0.75).offset(rot.offsetX * 1.5, 0, rot.offsetZ * 1.5));
|
||||
|
||||
for(EntityPlayer player : players) {
|
||||
HbmPlayerProps props = HbmPlayerProps.getData(player);
|
||||
@ -133,25 +133,16 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme
|
||||
|
||||
protected DirPos[] getConPos() {
|
||||
|
||||
ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset);
|
||||
|
||||
if(dir == ForgeDirection.NORTH || dir == ForgeDirection.SOUTH) {
|
||||
|
||||
return new DirPos[] {
|
||||
new DirPos(xCoord + 2, yCoord + 5, zCoord, Library.POS_X),
|
||||
new DirPos(xCoord - 2, yCoord + 5, zCoord, Library.NEG_X)
|
||||
};
|
||||
}
|
||||
|
||||
if(dir == ForgeDirection.EAST || dir == ForgeDirection.WEST) {
|
||||
|
||||
return new DirPos[] {
|
||||
new DirPos(xCoord, yCoord + 5, zCoord + 2, Library.POS_Z),
|
||||
new DirPos(xCoord, yCoord + 5, zCoord - 2, Library.NEG_Z)
|
||||
};
|
||||
}
|
||||
|
||||
return new DirPos[0];
|
||||
return new DirPos[] {
|
||||
new DirPos(xCoord + 2, yCoord, zCoord + 1, Library.POS_X),
|
||||
new DirPos(xCoord + 2, yCoord, zCoord - 2, Library.POS_X),
|
||||
new DirPos(xCoord - 2, yCoord, zCoord + 1, Library.NEG_X),
|
||||
new DirPos(xCoord - 2, yCoord, zCoord - 1, Library.NEG_X),
|
||||
new DirPos(xCoord + 1, yCoord, zCoord + 2, Library.POS_Z),
|
||||
new DirPos(xCoord - 1, yCoord, zCoord + 2, Library.POS_Z),
|
||||
new DirPos(xCoord + 1, yCoord, zCoord - 2, Library.NEG_Z),
|
||||
new DirPos(xCoord - 1, yCoord, zCoord - 2, Library.NEG_Z)
|
||||
};
|
||||
}
|
||||
|
||||
public void networkUnpack(NBTTagCompound data) {
|
||||
|
||||
3759
src/main/resources/assets/hbm/models/machines/acidizer.obj
Normal file
3759
src/main/resources/assets/hbm/models/machines/acidizer.obj
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
|
After Width: | Height: | Size: 9.2 KiB |
Loading…
x
Reference in New Issue
Block a user