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.

Disconsented

Members
  • Joined

  • Last visited

Everything posted by Disconsented

  1. Class: http://pastebin.com/Jdnrur5x Effectively I am stumped, I know the code is being called I steeped through it all with breakpoints. Nothing appears to be rendering (I effectively cloned ScreenGui.drawRec()) Ideas? Any other information I need to provide?
  2. That is what I am doing but there isn't a method for setList
  3. I am trying to store a list using NBTTagCompud however I was expecting to use something along the lines of compound.setList() but it doesn't appear to exist. Any ideas on how to do this?
  4. Okay I managed to figure this out @SubscribeEvent public void onPlayerOpenContainer(PlayerOpenContainerEvent event){ //System.out.println("open container :"+event.entityPlayer.openContainer.getClass().toString()); if (event.entityPlayer.openContainer.getClass().toString().equals("class net.minecraft.inventory.ContainerWorkbench")){ //System.out.println(""); System.out.println(event.entityPlayer.openContainer.inventoryItemStacks.get(0)); if (event.entityPlayer.openContainer.inventoryItemStacks.get(0) != null){ event.entityPlayer.displayGUIWorkbench(0, 0, 0); System.out.println("Blocking Crafting"); } //} } it is very messy but I hope someone can learn from this
  5. Ultimately as long as the player doesn't get a hold of what they crafted I would be happy, if I could delete the item from their cursor then that would ultimately achieve the same thing but I don't know how those objects are treated (or even where to begin to figure it out)
  6. I just find it hard to believe that is all I could do. How would I go about the coremod method?
  7. I would like to be able to cancel the crafting event providing certain conditions have been met, however the event is not cancel-able. Am I able to change this, if so how? What else can I do to achieve the same thing, (close the gui before the resources are consumed for example) if so how? Or is this only achievable by reflection/coremodding/ASM (which I am not %100 on what it is)
  8. I am trying to find the scarcity of ore so I can base "worth" value off it. Any ideas where to find it? As far as I know net.minecraft.block.[block] doesn't appear to contain any data relating to it scarcity. Or is it better to get the information from the wiki and hard code it?
  9. With a bit of help from IRC I figured it out http://pastebin.com/UNP4R4uE http://pastebin.com/BkR3YGRS Hopeful this helps someone out
  10. http://pastebin.com/2cBtv0MH http://pastebin.com/y57Xf5QW I am completely stumped, if someone can point out my mistakes (this is the first time working with forge essentially) I would much appreciate that
  11. This is the simplest way I know of, though that's not to say there isn't any other way. It's basically two steps: 1. Store the data when the player dies 2. Load the data when the player respawns Maybe you can automate those steps by storing the data directly in the player's PERSISTED_NBT_TAG tag, but I have never had any luck with that one. I didn't try too hard, since I already had everything working, so maybe you can get it to work. EDIT: Here's the relevant code from EntityPlayer#clonePlayer: //Copy over a section of the Entity Data from the old player. //Allows mods to specify data that persists after players respawn. NBTTagCompound old = par1EntityPlayer.getEntityData(); if (old.hasKey(PERSISTED_NBT_TAG)) { getEntityData().setTag(PERSISTED_NBT_TAG, old.getCompoundTag(PERSISTED_NBT_TAG)); } Alright I will have a play with that and post my results
  12. So effectively: There is no simple way of having persistent player data?
  13. I must have missed the methods in your thread, which section are they under?
  14. Okay so i tried using the method in the link however, How do I resolve: genericHooks: http://pastebin.com/7jwUHD1Z "username cannot be resolved or is not a field" (Line 53 and 68) "The method saveProxyData(EntityPlayer) is undefined for the type PlayerInformation" (Line 55) "The method saveProxyData(EntityPlayer) is undefined for the type PlayerInformation (Line 75) CommonProxy: http://pastebin.com/qnztU914 "The method put(String, NBTTagCompound) is undefined for the type PlayerInformation" (Line 24) "The method remove(String) is undefined for the type PlayerInformation" (Line 32) http://pastebin.com/C8AJcp9W
  15. Checking if (this.currentXP != null) ? Edit: Looks like it loadNBTData isnt actually being called (System.out.println("NBT LOADED") on player death Any ideas on whats wrong?
  16. Okay so some progress, I was able to determine that loadNBTData is in fact working however: java.lang.NullPointerException at tutorial.generic.PlayerInformation.loadNBTData(PlayerInformation.java:49) at net.minecraft.entity.Entity.readFromNBT(Entity.java:1682) at net.minecraft.server.management.ServerConfigurationManager.readPlayerDataFromFile(ServerConfigurationManager.java:252) at net.minecraft.server.management.ServerConfigurationManager.initializeConnectionToPlayer(ServerConfigurationManager.java:124) at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeServerSideConnection(NetworkDispatcher.java:172) at cpw.mods.fml.common.network.handshake.NetworkDispatcher.completeHandshake(NetworkDispatcher.java:428) at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:17) at cpw.mods.fml.common.network.internal.HandshakeCompletionHandler.channelRead0(HandshakeCompletionHandler.java:11) at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:98) at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:80) at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:242) at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:190) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:762) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:650) at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:120) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:528) at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:787) http://pastebin.com/diff.php?i=rDAGKv0f I believe the issue is this.currentXp however I cannot for the life of me figure out why
  17. http://pastebin.com/8b7pk36Y Okay however that didn't appear to change anything, I believe the issue is the loading of the data because "NBT Loaded" isn't appearing in the console (Whilst saving does)
  18. So like this?: http://pastebin.com/diff.php?i=cgu01ubE
  19. So essentially I am trying to use NBT to store an XP value, however I am stumped about making it persists between deaths. It looks like loadNBTData is not being called. Any ideas what I messed up? http://pastebin.com/8p4PkGjb http://pastebin.com/CPLZNYcX

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.