Jump to content

Custom Furnace GUI flash


RustyGearGames

Recommended Posts

I have a custom block setup to be a coal generator, everything seems to work fine until you load and process one coal in the machine. Once you close and reopen the block, the screen will flash a copy of the GUI progress bar and the top section of the GUI texture about 50% to right of the intended GUI. The original GUI is still in place but only in that short instance is there an issue.

This is my GUI class for the generator.

package com.rustygeargames.advancedtechmod.blocks.gui;

import com.rustygeargames.advancedtechmod.blocks.container.ContainerCoalGenerator;
import com.rustygeargames.advancedtechmod.tileentity.TileEntityCoalGenerator;
import com.rustygeargames.advancedtechmod.util.RefStrings;

import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.util.ResourceLocation;

public class GuiCoalGenerator extends GuiContainer
{
	private static final ResourceLocation TEXTURES = new ResourceLocation(RefStrings.MOD_ID + ":textures/gui/coal_generator.png");
	private final InventoryPlayer player;
	private final TileEntityCoalGenerator tileentity;
	
	public GuiCoalGenerator(InventoryPlayer player, TileEntityCoalGenerator tileentity) 
	{
		super(new ContainerCoalGenerator(player, tileentity));
		this.player = player;
		this.tileentity = tileentity;
	}
	

	
	private String toString(int cookProgressScaled) {
		return toString(this.getCookProgressScaled(24));
	}

	@Override
	protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) 
	{
		String tileName = this.tileentity.getDisplayName().getUnformattedText();
		String cookprogress = toString();
		this.fontRenderer.drawString(tileName, (this.xSize / 2 - this.fontRenderer.getStringWidth(tileName) / 2) -5, 6, 4210752);
		this.fontRenderer.drawString(this.player.getDisplayName().getUnformattedText(), 7, this.ySize - 96 + 2, 4210752);
		this.fontRenderer.drawString(Integer.toString(this.tileentity.getEnergyStored()), 115, 72, 4210752);
		this.fontRenderer.drawString(Integer.toString(this.tileentity.cookTime), 115, 50, 4210752);
	}
	
	@Override
	protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY)
	{
        
		GlStateManager.color(1.0f, 1.0f, 1.0f, 1.0f);
		this.mc.getTextureManager().bindTexture(TEXTURES);
		this.drawTexturedModalRect(this.guiLeft, this.guiTop, 0, 0, this.xSize, this.ySize);
		
		//ArrowProgress
		int l = this.getCookProgressScaled(24);
		this.drawTexturedModalRect(this.guiLeft + 113, this.guiTop + 32, 176, 0, l + 1, 16);
		
		//EnergyBar
		int k = this.getEnergyStoredScaled(75);
		this.drawTexturedModalRect(this.guiLeft + 152, this.guiTop + 7, 176, 17, 16, 75 - k);
	}
	
	private int getEnergyStoredScaled(int pixels)
	{
		int i = this.tileentity.getEnergyStored();
		int j = this.tileentity.getMaxEnergyStored();
		return i != 0 && j != 0 ? i * pixels / j : 0; 
	}
	
	private int getCookProgressScaled(int pixels)
	{
		int i = this.tileentity.cookTime;
		return i != 0 ? i * pixels / 25 : 0;
		
	}
	
    public void drawScreen(int mouseX, int mouseY, float partialTicks)
    {
        this.drawDefaultBackground();
        super.drawScreen(mouseX, mouseY, partialTicks);
        this.renderHoveredToolTip(mouseX, mouseY);
    }
	

}

 

MyIssue.png

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • SOLVED! I ended up fixing this after a fresh night of sleep and cloning the forge repo and looking through that. I had to add a BiomeModifier class to my mod, see this file here for assistance: MinecraftForge/src/test/java/net/minecraftforge/debug/world/BiomeModifierTest.java at 1.20.1 · MinecraftForge/MinecraftForge (github.com)
    • Hello, I'm creating a mod that should have a classic config file that I create with: ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, Config.SPEC); but I want also to have into server config folder more files .yml that I handle from the plugin. How can I create that yaml files?
    • Hi, I've been having a problem with Level 4 enchants on tools and items, it will not let me enchant any weapon or item past level 4, level 3 works on somethings but when I try to enchant it will either not show up in the anvil or when using the /enchant command it will say *item does not support the enchantment. I've tried efficiency 4 on a pickaxe and axe and it will not work.
    • Hello! I am posting since I am at the end of the road in terms of googling this solution and/or pouring through github projects. As the title suggests, I am trying to spawn my custom flower into the overworld into existing biomes, nothing crazy just a flower block spawned into the world. I added an entry into forge/biome_modifier called add_dreamcap_mushroom.json. It is as follows: { "type": "forge:add_features", "biomes": [ , "minecraft:plains", "minecraft:jungle", "minecraft:birch_forest", "minecraft:sparse_jungle", "minecraft:forest" ], "features": "herbalistmod:dreamcap_mushroom_patch", "step": "vegetal_decoration" }   I have a directory worldgen/configured_feature with dreamcap_mushroom_patch.json as follows:   { "type": "minecraft:random_patch", "config": { "feature": { "feature": { "type": "minecraft:simple_block", "config": { "to_place": { "type": "minecraft:simple_state_provider", "state": { "Name": "herbalistmod:dreamcap_mushroom_block" } } } }, "placement": [ { "type": "minecraft:block_predicate_filter", "predicate": { "type": "minecraft:matching_blocks", "blocks": "minecraft:air" } } ] }, "tries": 32, "xz_spread": 7, "y_spread": 3 } }   I have a directory worldgen/placed_feature with dreamcap_mushroom_patch.json as follows: { "feature": "herbalistmod:dreamcap_mushroom_patch", "placement": [ { "type": "minecraft:count", "count": 2 }, { "type": "minecraft:in_square" }, { "type": "minecraft:heightmap", "heightmap": "WORLD_SURFACE_WG" }, { "type": "minecraft:biome" } ] }   As far as I know, these are the only files I need in order to generate blocks, etc into the world, yet despite this I have made tons of worlds searching high and low and my block is nowhere to be found. Am I doing something wrong here or missing something obvious? Thanks in advance!  
  • Topics

  • Who's Online (See full list)

    • There are no registered users currently online
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.