This commit is contained in:
Boblet 2024-07-16 16:30:03 +02:00
parent 02c9582b21
commit 83f8c5a7f9
5 changed files with 50 additions and 12 deletions

View File

@ -1,8 +1,3 @@
## Changed
* Automatic crafting tables will no longer accept stacks with a stack size higher than 1 via automation, items will still accumulate and form stacks inside the crafting table, however inserters/hoppers may not transfer larger stacks in a single operation
* This ensures that the items get spread out as intended instead of the inserter just placing the entire stack into one slot and then leaving the other slots empty
## Fixed
* Fixed crash caused by null entries in the furnace recipe list being picked up by the arc furnace
* Fixed crash caused by the automatic crafting table's input when pattern slots are empty
* Fixed crash caused by the automatic crafting table's output (pattern info was accessed OOB)
* Fixed automatic crafting table filters being broken
* Fixed missing localization for black lung death messages

View File

@ -10,30 +10,71 @@ import com.hbm.items.ModItems;
import com.hbm.lib.RefStrings;
import com.hbm.main.ResourceManager;
import com.hbm.render.util.HorsePronter;
import com.hbm.wiaj.WorldInAJar;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.ItemRenderer;
import net.minecraft.client.renderer.RenderBlocks;
import net.minecraft.client.renderer.RenderHelper;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;
public class RendererObjTester extends TileEntitySpecialRenderer {
private static RenderBlocks renderer;
private static WorldInAJar world;
private static ResourceLocation extra = new ResourceLocation(RefStrings.MODID, "textures/models/horse/dyx.png");
@Override
public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) {
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5, y, z + 0.5);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glTranslated(x + 0.5, y + 2, z + 0.5);
GL11.glRotated(15, 0, 0, 1);
GL11.glDisable(GL11.GL_CULL_FACE);
GL11.glRotated(System.currentTimeMillis() / 5D % 360D, 0, -1, 0);
GL11.glTranslated(0, 0.1, 0.5);
if(world == null) {
world = new WorldInAJar(5, 3, 5);
for(int i = 0; i < 25; i++) world.setBlock(i / 5, 1, i % 5, Blocks.brick_block, 0);
for(int i = 0; i < 9; i++) world.setBlock(1 + i / 3, 0, 1 + i % 3, Blocks.brick_block, 0);
}
if(renderer == null) {
renderer = new RenderBlocks(world);
}
renderer.enableAO = true;
RenderHelper.disableStandardItemLighting();
Minecraft.getMinecraft().entityRenderer.disableLightmap(f);
GL11.glPushMatrix();
GL11.glTranslated(-2.5, 0, -2.5);
Minecraft.getMinecraft().getTextureManager().bindTexture(TextureMap.locationBlocksTexture);
GL11.glShadeModel(GL11.GL_SMOOTH);
Tessellator.instance.startDrawingQuads();
for(int ix = 0; ix < world.sizeX; ix++) {
for(int iy = 0; iy < world.sizeY; iy++) {
for(int iz = 0; iz < world.sizeZ; iz++) {
renderer.renderBlockByRenderType(world.getBlock(ix, iy, iz), ix, iy, iz);
}
}
}
Tessellator.instance.draw();
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glPopMatrix();
Minecraft.getMinecraft().entityRenderer.enableLightmap(f);
RenderHelper.enableStandardItemLighting();
GL11.glTranslated(0, 2.1, 0.5);
this.bindTexture(extra);
HorsePronter.reset();

View File

@ -211,7 +211,7 @@ public class TileEntityMachineAutocrafter extends TileEntityMachineBase implemen
List<Integer> validSlots = new ArrayList();
for(int i = 0; i < 9; i++) {
ItemStack filter = slots[i];
if(filter == null) return true;
if(filter == null) continue;
if(matcher.isValidForFilter(filter, i, stack)) {
validSlots.add(i + 10);

View File

@ -479,6 +479,7 @@ death.attack.amsCore=%1$s wurde vom Feuer einer Singularität verdampft.
death.attack.asbestos=%1$s hat sich für finanzielle Entschädigung qualifiziert.
death.attack.bang=%1$s wurde in mundgerechte Stücke zerfetzt.
death.attack.blackhole=%1$s wurde spaghettifiziert.
death.attack.blacklung=%1$s starb an Kohlestaublunge.
death.attack.blender=%1$s wurde in kleine, mundgerechte Stücke geschnitten.
death.attack.boat=%1$s wurde von einem Schiff erschlagen.
death.attack.boil=%1$s wurde von %2$s lebend gekocht.

View File

@ -883,6 +883,7 @@ death.attack.amsCore=%1$s was vaporized in the fire of a singularity.
death.attack.asbestos=%1$s is now entitled to financial compensation.
death.attack.bang=%1$s was blasted into bite-sized pieces.
death.attack.blackhole=%1$s was spaghettified.
death.attack.blacklung=%1$s died from black lung disease.
death.attack.blender=%1$s was chopped in small, bite-sized pieces.
death.attack.boat=%1$s was hit by a boat.
death.attack.boil=%1$s was boiled alive by %2$s.