Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

cptcorndog

Members
  • Joined

  • Last visited

Everything posted by cptcorndog

  1. Yup, on it, just thought I was missing something obvious for it to be otherwise
  2. Thank you that's exactly what I've done. For some reason, the forge example is making the subcategory class private which makes it more cumbersome to access from main code
  3. Trying to figure out best way to access Config file variables from code when subcategories are used... (using @Config annotation per Forge). Below is their example of how to make subcategories, however, there seems to be some access issues with this @Config(modid = "modid") public class Configs { public static SubCategory subcat = new SubCategory(); private static class SubCategory { public boolean someBool; public int relatedInt; } } Anyone have a good example of how they are doing this using the @config way Thanks all!
  4. Out of curiosity and desire to have not only working but well-written code, wondering the best way to implement IGuiHandler while respecting sidedness The below code works (but only with a @SideOnly annotation in TileEntity when run on dedicated server). If not using annotation will throw: java.lang.RuntimeException: Attempted to load class net/minecraft/client/gui/inventory/GuiContainer for invalid side SERVER I have currently implemented my IGuiHandler as: public class GuiHandler implements IGuiHandler { @Nullable @Override public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { BlockPos pos = new BlockPos(x, y, z); TileEntity te = world.getTileEntity(pos); if (te instanceof IGuiTile) { return ((IGuiTile) te).createContainer(player); } return null; } @Nullable @Override public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { BlockPos pos = new BlockPos(x, y, z); TileEntity te = world.getTileEntity(pos); if (te instanceof IGuiTile) { return ((IGuiTile) te).createGui(player); } return null; } } IGuiTile public interface IGuiTile { Container createContainer(EntityPlayer player); GuiContainer createGui(EntityPlayer player); } and my Tile Entity subclass has the following implementation: @Override public Container createContainer(EntityPlayer player) { return new ContainerFurnace(player.inventory, this); } @SideOnly(Side.CLIENT) @Override public GuiContainer createGui(EntityPlayer player) { return new GuiFurnace(this, new ContainerFurnace(player.inventory, this)); } ps. above code was largely from a Mcjty tutorial as I was learning, and his didn't use the @SideOnly. I don't think he ran his on dedicated server during the tutorial to find this error... Thanks all!
  5. I believe it needs to be a ResourceLocation instead of just a String e.g., GameRegistry.registerTileEntity(DataTileEntity.class, new ResourceLocation(Reference.MOD_ID + ".data_block"));
  6. The latter is what I'm trying to accomplish but Eclipse is raising an error when I try to override this method, and when I search through ItemStackHandler and IItemHandler I don't see this method declaration...
  7. Other sources have suggested overriding the isItemValid method of IItemHandler to check if an item can be placed in a slot (e.g., only allow smeltable items in a furnace). I don't see this method available in documentation Should I be performing this check inside an overridden insertItem method instead? Thanks! brand new to modding so bear with me

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.