Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

GDavid

Members
  • Posts

    13
  • Joined

  • Last visited

Converted

  • Gender
    Male
  • Location
    Hungary

GDavid's Achievements

Tree Puncher

Tree Puncher (2/8)

0

Reputation

  1. Is there an IItemRenderer equivalent for 1.16? I know there is ISTER, but there's no way to get the player holding the item. Thanks in advance.
  2. Thanks, it's working as intended now. It was too dark because it was drawn multiple times, not just once. Also, it renders below the hud with ElementType.ALL.
  3. This works! package gdavid.davidsmod.gui; import gdavid.davidsmod.DavidsMod; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.fml.client.config.GuiUtils; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; @EventBusSubscriber public final class OverlayDataGoggles { @SubscribeEvent public static void onRenderGui(RenderGameOverlayEvent.Pre event) { Minecraft mc = Minecraft.getMinecraft(); FontRenderer fontRenderer = mc.fontRenderer; ScaledResolution scaled = new ScaledResolution(mc); int width = scaled.getScaledWidth(); int height = scaled.getScaledHeight(); EntityPlayer player = mc.player; InventoryPlayer inv = player.inventory; ItemStack helmet = inv.armorItemInSlot(3); if (mc.gameSettings.thirdPersonView == 0 && helmet.getItem() == Items.LEATHER_HELMET) { // TODO data helmet renderVignette(mc, scaled, 0, 0, 0, 1); /* GuiUtils.drawHoveringText(helmet, helmet.getTooltip(player, ITooltipFlag.TooltipFlags.NORMAL), width / 2, height / 2, width, height, width / 3, fontRenderer); GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); GlStateManager.enableBlend(); */ } } private static final ResourceLocation VIGNETTE_TEX_PATH = new ResourceLocation(DavidsMod.modID + ":" + "textures/misc/vignette.png"); private static void renderVignette(Minecraft mc, ScaledResolution scaledRes, float r, float g, float b, float a) { GlStateManager.disableDepth(); GlStateManager.enableBlend(); GlStateManager.depthMask(false); GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); GlStateManager.color(r, g, b, a); GlStateManager.disableAlpha(); mc.getTextureManager().bindTexture(VIGNETTE_TEX_PATH); Tessellator tessellator = Tessellator.getInstance(); BufferBuilder bufferbuilder = tessellator.getBuffer(); bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX); bufferbuilder.pos(0.0D, (double)scaledRes.getScaledHeight(), -90.0D).tex(0.0D, 1.0D).endVertex(); bufferbuilder.pos((double)scaledRes.getScaledWidth(), (double)scaledRes.getScaledHeight(), -90.0D).tex(1.0D, 1.0D).endVertex(); bufferbuilder.pos((double)scaledRes.getScaledWidth(), 0.0D, -90.0D).tex(1.0D, 0.0D).endVertex(); bufferbuilder.pos(0.0D, 0.0D, -90.0D).tex(0.0D, 0.0D).endVertex(); tessellator.draw(); GlStateManager.depthMask(true); GlStateManager.enableDepth(); GlStateManager.enableAlpha(); GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); } } Only that I need to make the texture more transparent. If I make it too transparent, everything turns black. ?? I need a better solution. How can I make it render below the HUD, so it doesn't cover the hotbar, chat and such? EDIT: I had to move the event handler out of the class so server won't crash.
  4. Ok, this is closer to what I want, but still not good. Now transparency works, but from one point, it's too dark. It shouldn't be that dark. code: package gdavid.davidsmod.gui; import gdavid.davidsmod.DavidsMod; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.fml.client.config.GuiUtils; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; @EventBusSubscriber public final class OverlayDataGoggles { @SubscribeEvent public static void onRenderGui(RenderGameOverlayEvent.Pre event) { Minecraft mc = Minecraft.getMinecraft(); FontRenderer fontRenderer = mc.fontRenderer; ScaledResolution scaled = new ScaledResolution(mc); int width = scaled.getScaledWidth(); int height = scaled.getScaledHeight(); EntityPlayer player = mc.player; InventoryPlayer inv = player.inventory; ItemStack helmet = inv.armorItemInSlot(3); if (mc.gameSettings.thirdPersonView == 0 && helmet.getItem() == Items.LEATHER_HELMET) { // TODO data helmet renderVignette(mc, scaled, 0, 0, 0, 1); /* GuiUtils.drawHoveringText(helmet, helmet.getTooltip(player, ITooltipFlag.TooltipFlags.NORMAL), width / 2, height / 2, width, height, width / 3, fontRenderer); GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); GlStateManager.enableBlend(); */ } } private static final ResourceLocation VIGNETTE_TEX_PATH = new ResourceLocation(DavidsMod.modID + ":" + "textures/misc/vignette.png"); private static void renderVignette(Minecraft mc, ScaledResolution scaledRes, float r, float g, float b, float a) { GlStateManager.disableDepth(); GlStateManager.enableBlend(); GlStateManager.depthMask(false); GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); GlStateManager.color(r, g, b, a); mc.getTextureManager().bindTexture(VIGNETTE_TEX_PATH); Tessellator tessellator = Tessellator.getInstance(); BufferBuilder bufferbuilder = tessellator.getBuffer(); bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX); bufferbuilder.pos(0.0D, (double)scaledRes.getScaledHeight(), -90.0D).tex(0.0D, 1.0D).endVertex(); bufferbuilder.pos((double)scaledRes.getScaledWidth(), (double)scaledRes.getScaledHeight(), -90.0D).tex(1.0D, 1.0D).endVertex(); bufferbuilder.pos((double)scaledRes.getScaledWidth(), 0.0D, -90.0D).tex(1.0D, 0.0D).endVertex(); bufferbuilder.pos(0.0D, 0.0D, -90.0D).tex(0.0D, 0.0D).endVertex(); tessellator.draw(); GlStateManager.depthMask(true); GlStateManager.enableDepth(); GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); } } Also, how can I make it render below the HUD, so it doesn't cover the hotbar, chat and such?
  5. The tooltip is working now. The alpha doesn't apply for some reason, it tints the entire screen regardless texture alpha. code: package gdavid.davidsmod.gui; import gdavid.davidsmod.DavidsMod; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.fml.client.config.GuiUtils; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; @EventBusSubscriber public final class OverlayDataGoggles { @SubscribeEvent public static void onRenderGui(RenderGameOverlayEvent.Pre event) { Minecraft mc = Minecraft.getMinecraft(); FontRenderer fontRenderer = mc.fontRenderer; ScaledResolution scaled = new ScaledResolution(mc); int width = scaled.getScaledWidth(); int height = scaled.getScaledHeight(); EntityPlayer player = mc.player; InventoryPlayer inv = player.inventory; ItemStack helmet = inv.armorItemInSlot(3); if (mc.gameSettings.thirdPersonView == 0 && helmet.getItem() == Items.LEATHER_HELMET) { // TODO data helmet renderVignette(mc, scaled, 0, 0, 0); GuiUtils.drawHoveringText(helmet, helmet.getTooltip(player, ITooltipFlag.TooltipFlags.NORMAL), width / 2, height / 2, width, height, width / 3, fontRenderer); GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); GlStateManager.enableBlend(); } } private static final ResourceLocation VIGNETTE_TEX_PATH = new ResourceLocation(DavidsMod.modID + ":" + "textures/misc/vignette.png"); private static void renderVignette(Minecraft mc, ScaledResolution scaledRes, float r, float g, float b) { GlStateManager.disableDepth(); GlStateManager.enableBlend(); GlStateManager.depthMask(false); GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.ZERO, GlStateManager.DestFactor.SRC_COLOR, GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); GlStateManager.color(r, g, b, 1.0f); mc.getTextureManager().bindTexture(VIGNETTE_TEX_PATH); Tessellator tessellator = Tessellator.getInstance(); BufferBuilder bufferbuilder = tessellator.getBuffer(); bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX); bufferbuilder.pos(0.0D, (double)scaledRes.getScaledHeight(), -90.0D).tex(0.0D, 1.0D).endVertex(); bufferbuilder.pos((double)scaledRes.getScaledWidth(), (double)scaledRes.getScaledHeight(), -90.0D).tex(1.0D, 1.0D).endVertex(); bufferbuilder.pos((double)scaledRes.getScaledWidth(), 0.0D, -90.0D).tex(1.0D, 0.0D).endVertex(); bufferbuilder.pos(0.0D, 0.0D, -90.0D).tex(0.0D, 0.0D).endVertex(); tessellator.draw(); GlStateManager.depthMask(true); GlStateManager.enableDepth(); GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); } }
  6. package gdavid.davidsmod.gui; import java.util.ArrayList; import gdavid.davidsmod.DavidsMod; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.fml.client.config.GuiUtils; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; @EventBusSubscriber public final class OverlayDataGoggles { @SubscribeEvent public static void onRenderGui(RenderGameOverlayEvent.Pre event) { Minecraft mc = Minecraft.getMinecraft(); FontRenderer fontRenderer = mc.fontRenderer; ScaledResolution scaled = new ScaledResolution(mc); int width = scaled.getScaledWidth(); int height = scaled.getScaledHeight(); EntityPlayer player = mc.player; InventoryPlayer inv = player.inventory; ItemStack helmet = inv.armorItemInSlot(3); if (mc.gameSettings.thirdPersonView == 0 && helmet.getItem() == Items.LEATHER_HELMET) { // TODO data helmet renderVignette(mc, scaled, 0, 1, 1); GuiUtils.drawHoveringText(helmet, new ArrayList<String>(), width / 2, height / 2, width, height, width / 3, fontRenderer); GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); } } private static final ResourceLocation VIGNETTE_TEX_PATH = new ResourceLocation(DavidsMod.modID + ":" + "textures/misc/vignette.png"); private static void renderVignette(Minecraft mc, ScaledResolution scaledRes, float r, float g, float b) { GlStateManager.disableDepth(); GlStateManager.enableBlend(); GlStateManager.depthMask(false); GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.ZERO, GlStateManager.DestFactor.ONE_MINUS_SRC_COLOR, GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); GlStateManager.color(r, g, b, 1.0f); mc.getTextureManager().bindTexture(VIGNETTE_TEX_PATH); Tessellator tessellator = Tessellator.getInstance(); BufferBuilder bufferbuilder = tessellator.getBuffer(); bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX); bufferbuilder.pos(0.0D, (double)scaledRes.getScaledHeight(), -90.0D).tex(0.0D, 1.0D).endVertex(); bufferbuilder.pos((double)scaledRes.getScaledWidth(), (double)scaledRes.getScaledHeight(), -90.0D).tex(1.0D, 1.0D).endVertex(); bufferbuilder.pos((double)scaledRes.getScaledWidth(), 0.0D, -90.0D).tex(1.0D, 0.0D).endVertex(); bufferbuilder.pos(0.0D, 0.0D, -90.0D).tex(0.0D, 0.0D).endVertex(); tessellator.draw(); GlStateManager.depthMask(true); GlStateManager.disableBlend(); GlStateManager.enableDepth(); GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); } }
  7. Corrected blend function and added back enable blend. It tints the HUD red and everything else is black. This is my vignette texture: The center is transparent, the edge is white if it can't be seen for some reason. Also, GuiUtils.drawHoveringText didn't work.
  8. Changed it to package gdavid.davidsmod.gui; import gdavid.davidsmod.DavidsMod; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.renderer.BufferBuilder; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.util.NonNullList; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; @EventBusSubscriber public final class OverlayDataGoggles { @SubscribeEvent public static void onRenderGui(RenderGameOverlayEvent.Pre event) { Minecraft mc = Minecraft.getMinecraft(); FontRenderer fontRenderer = mc.fontRenderer; ScaledResolution scaled = new ScaledResolution(mc); int width = scaled.getScaledWidth(); int height = scaled.getScaledHeight(); EntityPlayer player = mc.player; InventoryPlayer inv = player.inventory; ItemStack helmet = inv.armorItemInSlot(3); if (mc.gameSettings.thirdPersonView == 0 && helmet.getItem() == Items.LEATHER_HELMET) { // TODO data helmet renderVignette(mc, scaled, 0, 1, 1); } } private static final ResourceLocation VIGNETTE_TEX_PATH = new ResourceLocation(DavidsMod.modID + ":" + "textures/misc/vignette.png"); private static void renderVignette(Minecraft mc, ScaledResolution scaledRes, float r, float g, float b) { GlStateManager.disableDepth(); GlStateManager.depthMask(false); GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.SRC_COLOR, GlStateManager.DestFactor.ONE_MINUS_SRC_COLOR, GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA); GlStateManager.color(r, g, b, 1.0f); mc.getTextureManager().bindTexture(VIGNETTE_TEX_PATH); Tessellator tessellator = Tessellator.getInstance(); BufferBuilder bufferbuilder = tessellator.getBuffer(); bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX); bufferbuilder.pos(0.0D, (double)scaledRes.getScaledHeight(), -90.0D).tex(0.0D, 1.0D).endVertex(); bufferbuilder.pos((double)scaledRes.getScaledWidth(), (double)scaledRes.getScaledHeight(), -90.0D).tex(1.0D, 1.0D).endVertex(); bufferbuilder.pos((double)scaledRes.getScaledWidth(), 0.0D, -90.0D).tex(1.0D, 0.0D).endVertex(); bufferbuilder.pos(0.0D, 0.0D, -90.0D).tex(0.0D, 0.0D).endVertex(); tessellator.draw(); GlStateManager.depthMask(true); GlStateManager.enableDepth(); GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); } } Still not transparent. Actually everything painted to the chosen color. Also, changed the texture to white + transparency. I wanted to display item tooltips. Is there a way that works in HUD? I disable and enable them because the renderVignette method is just a modified copy of the one found in GuiIngame. And the alpha is here because first I thought that might be the thing I'm missing.
  9. I use the same as GuiIngame uses and the texture is the same too.
  10. I want to display a custom vignette with custom color when the player has a certain item as helmet equipped. The problem is that when I run the render method of my gui, when in RenderGameOverlayEvent.Pre, nothing can be seen except the HUD, when in RenderGameOverlayEvent.Post, it's drawn above everything, including settings menu. My code: @EventBusSubscriber public class OverlayDataGoggles extends GuiScreen { private static OverlayDataGoggles instance = new OverlayDataGoggles(); @SubscribeEvent public static void onRenderGui(RenderGameOverlayEvent.Pre event) { instance.mc = Minecraft.getMinecraft(); instance.fontRenderer = instance.mc.fontRenderer; instance.render(); } private void render() { EntityPlayer player = mc.player; if (player != null) { InventoryPlayer inv = player.inventory; if (inv != null) { NonNullList<ItemStack> armor = inv.armorInventory; if (armor != null) { ItemStack helmet = inv.armorItemInSlot(3); if (this.mc.gameSettings.thirdPersonView == 0 && helmet.getItem() == Items.LEATHER_HELMET) { // TODO data helmet ScaledResolution scaled = new ScaledResolution(mc); int width = scaled.getScaledWidth(); int height = scaled.getScaledHeight(); renderVignette(scaled, 0, 1, 1); renderToolTip(helmet, width / 2, height / 2); } } } } } protected static final ResourceLocation VIGNETTE_TEX_PATH = new ResourceLocation(DavidsMod.modID + ":" + "textures/misc/vignette.png"); protected void renderVignette(ScaledResolution scaledRes, float r, float g, float b) { GlStateManager.enableBlend(); GlStateManager.enableAlpha(); GlStateManager.disableDepth(); GlStateManager.depthMask(false); GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.ZERO, GlStateManager.DestFactor.ONE_MINUS_SRC_COLOR, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); GlStateManager.color(r, g, b, 1.0f); this.mc.getTextureManager().bindTexture(VIGNETTE_TEX_PATH); Tessellator tessellator = Tessellator.getInstance(); BufferBuilder bufferbuilder = tessellator.getBuffer(); bufferbuilder.begin(7, DefaultVertexFormats.POSITION_TEX); bufferbuilder.pos(0.0D, (double)scaledRes.getScaledHeight(), -90.0D).tex(0.0D, 1.0D).endVertex(); bufferbuilder.pos((double)scaledRes.getScaledWidth(), (double)scaledRes.getScaledHeight(), -90.0D).tex(1.0D, 1.0D).endVertex(); bufferbuilder.pos((double)scaledRes.getScaledWidth(), 0.0D, -90.0D).tex(1.0D, 0.0D).endVertex(); bufferbuilder.pos(0.0D, 0.0D, -90.0D).tex(0.0D, 0.0D).endVertex(); tessellator.draw(); GlStateManager.depthMask(true); GlStateManager.disableBlend(); GlStateManager.disableAlpha(); GlStateManager.enableDepth(); GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); GlStateManager.tryBlendFuncSeparate(GlStateManager.SourceFactor.SRC_ALPHA, GlStateManager.DestFactor.ONE_MINUS_SRC_ALPHA, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ZERO); } }
  11. You can use multiple blocks as a workaround. Like one block for 20 hp, one for 19 and so on and all drop the same block, even with silk touch.
  12. What i want to create is a fluid tank that can store some fluids (water and lava) but without using a tile entity. How it would work: There's an empty tank block for the empty tank and there are filled tank blocks for each fluid with the amount of fluid stored in metadata (the tank can hold up to 3 buckets but no millibuckets, just whole buckets). When the tank is emptied or filled when empty, it changes to the given block, otherwise it just changes it's metadata. The problem is that there's no way to modify the block state from the fill and drain methods of IFluidHandler, so i can't alter the state of the tank. How could i access and alter the blockstate from the fill and drain methods? Thanks in advance.
×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.