the malicious gigglefish from the silly dimension

This commit is contained in:
Bob 2024-06-09 01:12:53 +02:00
parent 49ddcd6f85
commit a21a0934a6
11 changed files with 3855 additions and 108 deletions

View File

@ -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

View File

@ -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);
}
}

View File

@ -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) {

View File

@ -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) {

View File

@ -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");

View File

@ -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);

View File

@ -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);
}};
}
}

View File

@ -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;
}
}
}

View File

@ -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) {

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB