Jump to content

Gui not opening


someonewithpc

Recommended Posts

I have followed Vswe's summer courses, and tried to make a gui, however it doesn't open... The problem migth be some little thing I overlooked, thougth.

 

 

 

Code:

 

 

Forge block has this method:

 

public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {

	if(!world.isRemote)
		FMLNetworkHandler.openGui(player, DarkSouls.instance, 0, world, x, y, z);
		//player.openGui(DarkSouls.instance, 0, world, x, y, z);

	return true;
}

 

 

Gui Handler:

 

public class GuiHandler implements IGuiHandler {

public GuiHandler(){
	NetworkRegistry.INSTANCE.registerGuiHandler(DarkSouls.instance, this);
}

@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {

	switch (ID) {
		case 0:
			TileEntity te = world.getTileEntity(x, y, z);
			if(te != null && te instanceof TileEntityForge){
				return new ContainerForge(player.inventory, (TileEntityForge)te);
			}
			break;
	}
	return null;
}

@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) {
	switch (ID) {
		case 0:
			TileEntity te = world.getTileEntity(x, y, z);
			if(te != null && te instanceof TileEntityForge){
				return new GuiForge(player.inventory, (TileEntityForge)te);
			}
			break;
	}
	return null;
}
}

 

 

GuiForge:

 

@SideOnly(Side.CLIENT)
public class GuiForge extends GuiContainer {
private static final ResourceLocation texture = new ResourceLocation("darksouls", "texture/gui/forge.png");

public GuiForge(InventoryPlayer invPlayer, TileEntityForge forge) {
	super(new ContainerForge(invPlayer, forge));

	xSize = 176;
	ySize = 202;

}

@SideOnly(Side.CLIENT)
protected void drawGuiContainerBackgroundLayer(float f, int x, int y) {
	GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);

	this.mc.getTextureManager().bindTexture(texture);

	drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize);
}
}

 

 

ContainerForge:

 

public class ContainerForge extends Container{

TileEntityForge forge;

public ContainerForge(InventoryPlayer invPlayer, TileEntityForge forge){
	this.forge = forge;
}

@Override
public boolean canInteractWith(EntityPlayer player) {

	return forge.isUseableByPlayer(player);
}
}

 

 

 

 

All classes have propper imports, but just to save some space...

I create a instance of the GuiHandler on load (new GuiHandler())

Link to comment
Share on other sites

I know it's a bad modding practice to register blocks inside a static block, but when I tried to do it properly textures didn't work. Besides, it wasn't me who wrote this code.

 

package com.echo.darksouls;

import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.client.Minecraft;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.Item.ToolMaterial;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.util.EnumHelper;
import net.minecraftforge.oredict.ShapedOreRecipe;

import com.echo.darksouls.blocks.BlockBonfire;
import com.echo.darksouls.blocks.BlockBrickPillar;
import com.echo.darksouls.blocks.BlockDecayedBrickPillar;
import com.echo.darksouls.blocks.BlockDecayedCarbedStoneBrick;
import com.echo.darksouls.blocks.BlockDecayedCrackedStoneBrick;
import com.echo.darksouls.blocks.BlockDecayedMossyStoneBrick;
import com.echo.darksouls.blocks.BlockDecayedStoneBrick;
import com.echo.darksouls.blocks.BlockDecayedVines;
import com.echo.darksouls.blocks.BlockForge;
import com.echo.darksouls.blocks.BlockTitaniteOre;
import com.echo.darksouls.creativetab.DarkSoulsTab;
import com.echo.darksouls.creativetabs.placeholder.DarkSoulsTabPlaceHolder;
import com.echo.darksouls.gui.GuiHandler;
import com.echo.darksouls.gui.GuiManaBar;
import com.echo.darksouls.item.ItemBlockBonfire;
import com.echo.darksouls.item.ItemBrokenSword;
import com.echo.darksouls.item.ItemEskusSword;
import com.echo.darksouls.item.ItemTitaniteShard;
import com.echo.darksouls.proxy.CommonProxy;
import com.echo.darksouls.tileentity.TileEntityBonfire;
import com.echo.darksouls.tileentity.TileEntityForge;

import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.event.FMLServerStartingEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;

@Mod(modid = DarkSouls.MODID, version = DarkSouls.VERSION)
public class DarkSouls {

public static final String MODID = "The Official Dark Souls Mod";
public static final String VERSION = "Alpha 0.1";

@Instance(MODID)
public static DarkSouls instance;

@SidedProxy(clientSide = "com.echo.darksouls.proxy.ClientProxy", serverSide = "com.echo.darksouls.proxy.CommonProxy")
public static CommonProxy proxy;


@EventHandler
public void preInit(FMLPreInitializationEvent event) {

}

@EventHandler
public void load(FMLInitializationEvent event) {

	proxy.initRenderes();
	proxy.initSounds();

	new GuiHandler();


	MinecraftForge.EVENT_BUS.register(new TutEventHandler());


	FMLCommonHandler.instance().bus().register(new TutEventHandler());
}

@EventHandler
public void postInit(FMLPostInitializationEvent event) {
	if (FMLCommonHandler.instance().getEffectiveSide().isClient())
		MinecraftForge.EVENT_BUS.register(new GuiManaBar(Minecraft
				.getMinecraft()));
}

//Register commands
@EventHandler
public void serverLoad(FMLServerStartingEvent event){

	//Register model update command
	event.registerServerCommand(new CommandUpdate());
}


// creative Tabs
public static CreativeTabs DarkSoulsTab = new DarkSoulsTab(
		CreativeTabs.getNextID(), "DarkSoulsTab");
public static Item DarkSoulsTabPlaceHolder = new DarkSoulsTabPlaceHolder(
		5501).setUnlocalizedName("DarkSoulsTabPlaceHolder").setTextureName(
		"DarkSouls:DarkSoulsTabPlaceHolder");

// tool Materials
public static ToolMaterial Broken = EnumHelper.addToolMaterial("Broken", 5,
		478, 2F, 1F, 35);
public static ToolMaterial Eskus = EnumHelper.addToolMaterial("Eskus", 5,
		1272, 3F, 3F, 25);

// items and Blocks
public static Item BrokenSword = new ItemBrokenSword(5500, Broken)
		.setUnlocalizedName("BrokenSword").setTextureName(
				"DarkSouls:BrokenSword");
public static Block TitaniteOre = new BlockTitaniteOre(5502, Material.rock)
		.setHardness(4F).setStepSound(Block.soundTypeStone)
		.setBlockName("TitaniteOre")
		.setBlockTextureName("DarkSouls:TitaniteOre");
public static Item EskusSword = new ItemEskusSword(5503, Eskus)
		.setUnlocalizedName("EskusSword").setTextureName(
				"DarkSouls:EskusSword");
public static Block Forge = new BlockForge(5504, Material.anvil)
		.setHardness(8F).setStepSound(Block.soundTypeAnvil)
		.setBlockName("Forge").setBlockTextureName("DarkSouls:Forge");
public static Item TitaniteShard = new ItemTitaniteShard(5505)
		.setUnlocalizedName("TitaniteShard").setTextureName(
				"DarkSouls:TitaniteShard");
public static Block BrickPillar = new BlockBrickPillar(5506, Material.rock)
		.setHardness(5F).setStepSound(Block.soundTypeStone)
		.setBlockName("BrickPillar")
		.setBlockTextureName("DarkSouls:BrickPillar");
public static Block DecayedVines = new BlockDecayedVines(5507,
		Material.vine).setHardness(1F).setStepSound(Block.soundTypeGrass)
		.setBlockName("DecayedVines")
		.setBlockTextureName("DarkSouls:DecayedVines");
public static Block DecayedStoneBrick = new BlockDecayedStoneBrick(5508,
		Material.iron).setHardness(8F).setStepSound(Block.soundTypeStone)
		.setBlockName("DecayedStoneBrick")
		.setBlockTextureName("DarkSouls:DecayedStoneBrick");
public static Block DecayedCrackedStoneBrick = new BlockDecayedCrackedStoneBrick(
		5509, Material.iron).setHardness(6F)
		.setStepSound(Block.soundTypeStone)
		.setBlockName("DecayedCrackedStoneBrick")
		.setBlockTextureName("DarkSouls:DecayedCrackedStoneBrick");
public static Block DecayedMossyStoneBrick = new BlockDecayedMossyStoneBrick(
		5510, Material.iron).setHardness(8.5F)
		.setStepSound(Block.soundTypeStone)
		.setBlockName("DecayedMossyStoneBrick")
		.setBlockTextureName("DarkSouls:DecayedMossyStoneBrick");
public static Block DecayedCarvedStoneBrick = new BlockDecayedCarbedStoneBrick(
		5511, Material.iron).setHardness(8F)
		.setStepSound(Block.soundTypeStone)
		.setBlockName("DecayedCarvedStoneBrick")
		.setBlockTextureName("DarkSouls:DecayedCarvedStoneBrick");
public static Block DecayedBrickPillar = new BlockDecayedBrickPillar(5512,
		Material.iron).setHardness(8F).setStepSound(Block.soundTypeStone)
		.setBlockName("DecayedBrickPillar")
		.setBlockTextureName("DarkSouls:DecayedBrickPillar");
public static Block Bonfire = new BlockBonfire(
		Material.iron).setBlockUnbreakable().setStepSound(Block.soundTypeStone)
		.setBlockName("Bonfire");

{
	GameRegistry.registerBlock(DecayedBrickPillar, "Decayed Brick Pillar");
	GameRegistry.registerBlock(DecayedVines, "Decayed Vines");
	GameRegistry.registerItem(EskusSword, "Eskus Sword");
	GameRegistry.registerBlock(TitaniteOre, "Titanite Ore");
	GameRegistry.registerItem(BrokenSword, "Broken Sword");
	GameRegistry.registerItem(DarkSoulsTabPlaceHolder,
			"DarkSoulsTabPlaceHolder");

	GameRegistry.registerBlock(Forge, "Forge");
	GameRegistry.registerTileEntity(TileEntityForge.class, "forgeTE");

	GameRegistry.registerItem(TitaniteShard, "Titanite Shard");
	GameRegistry.registerBlock(BrickPillar, "Brick Pillar");
	GameRegistry.registerBlock(DecayedStoneBrick, "Decayed Stone Brick");
	GameRegistry.registerBlock(DecayedCarvedStoneBrick,
			"Decayed Carved Stone Brick");
	GameRegistry.registerBlock(DecayedMossyStoneBrick,
			"Decayed Mossy Stone Brick");
	GameRegistry.registerBlock(DecayedCrackedStoneBrick,
			"Decayed Cracked Stone Brick");

	GameRegistry.registerBlock(Bonfire, ItemBlockBonfire.class, "Bonfire");
	GameRegistry.registerTileEntity(TileEntityBonfire.class, "bonfireTE");


	GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(DarkSouls.Forge), new Object[] {
		"WAW", "ILI", "OOO", 'A', Blocks.anvil, 'O', Blocks.obsidian,
		'L', Items.lava_bucket, 'I', Blocks.iron_block, 'W',
		"logWood" // Blocks.log

		}));

	LanguageRegistry.addName(DecayedBrickPillar, "Decayed Brick Pillar");
	LanguageRegistry.addName(DecayedVines, "Decayed Vines");
	LanguageRegistry.addName(EskusSword, "Eskus Sword");
	LanguageRegistry.addName(TitaniteOre, "Titanite Ore");
	LanguageRegistry.addName(BrokenSword, "Broken Sword");
	LanguageRegistry.addName(DarkSoulsTabPlaceHolder,
			"DarkSoulsTabPlaceHolder");
	LanguageRegistry.addName(Forge, "Forge");
	LanguageRegistry.addName(TitaniteShard, "Titanite Shard");
	LanguageRegistry.addName(BrickPillar, "Brick Pillar");
	LanguageRegistry.addName(DecayedStoneBrick, "Decayed Stone Brick");
	LanguageRegistry.addName(DecayedCarvedStoneBrick,
			"Decayed Carved Stone Brick");
	LanguageRegistry.addName(DecayedMossyStoneBrick,
			"Decayed Mossy Stone Brick");
	LanguageRegistry.addName(DecayedCrackedStoneBrick,
			"Decayed Cracked Stone Brick");
	LanguageRegistry.addName(Bonfire, "Bonfire");

}
}

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

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