Jump to content

Two

Members
  • Posts

    63
  • Joined

  • Last visited

Converted

  • Gender
    Male

Two's Achievements

Stone Miner

Stone Miner (3/8)

4

Reputation

  1. Was just about to start a new server with friends, but nooooo... I think some kind of a backup system would be great to have, considering how important Forge is for the Minecraft community.
  2. I was setting the debug defines on the commandline used to start Minecraft in the Minecraft launcher as ChampionAsh535 suggested, this had zero effect. However enabling debugging in Curseforge did it. I have no idea what Curse is doing to suppress the commandlines, but if running with the Curseforge Launcher using that specific setting seems to be the only way to activate debug logs. Which is a bit odd, because it should listen to the commandline settings, especially if enforcing something like a log4j config file, but it is not. Thanks for the help!
  3. There is no debug log in the logs folder.
  4. Thank you, but this doesn't actually change anything about the log output. I also tried to set the file logger to debug, but again: no change in the log output.
  5. Hi, I am trying to help a modder to pin down an issue that's happening on my system and I am trying to figure out how to set the log level of forge file logging to debug. My attempts at googling and using the usual log4j settings have failed. I do not have access to the source code of the mod, so I need to set the log level on the command line.
  6. The error occurred again yesterday, and I can now say for sure that it is a re-obfuscation failure. I had just finished an update, did clean & build, tested the result in the IDE (non-obfuscated) and everything was working fine. So I copied the lib from that build to a real MC environment and it failed with the rock issue. I hit clean & build again, copied the lib again and then everything was working fine.
  7. I had this issue starting with at least Forge version 1277 and I still have the issue with 1481. You can find my mods here: https://github.com/twothe/ Affected are all mods that somehow use stone/rock as written above. I could not yet find any pattern to this, it seems to happen just randomly and does not seem to be associated to my code.
  8. I am not sure if there is even any other way. So yes: I am using the standard gradle tasks like clean and build.
  9. Whenever I have a block in my mod that uses Blocks.stone or Materials.rock reobfuscation completely randomly fails sometimes. That is: the code works, then (without any change) I do a re-compile, and the game crashes with Then I recompile the exact same code-base (without any changes) and the crash is gone. I have not seen this happen with anything but Materials.rock / Blocks.stone. This is really annoying when you do a quick recompile to change something like version number after extensive testing, upload the mod just to realize that it is crashing because of this.
  10. I managed to find your topic: http://www.minecraftforge.net/forum/index.php/topic,20135.0.html After some more fiddling with the way Minecraft handles worlds, I realized that the TileEntity (probably) needs to be requested as follows: - On the server: DimensionManager.getWorld(message.dimensionID) - On the client: Minecraft.getMinecraft().theWorld (not sure about this one) The client often re-creates the world around the player, i.E. if he dies, which will cause the tile entity to be re-created as well, which however - to complicate things further - is NOT the tile that is actually used in the world. Also it is unclear to me what happens if the player is in a different dimension (there is only one theWorld) and the server sends an update for that tile entity, which makes me speculate that there is a better way to do this. I'd love to get some more feedback on this if you have the time.
  11. Ok, I will have a look at them. Thank you.
  12. From the corresponding block to the tile entity code above: @Override public boolean onBlockActivated(final World world, final int x, final int y, final int z, final EntityPlayer player, final int side, final float hitX, final float hitY, final float hitZ) { if (world.isRemote == false) { final TileEntity tileEntity = world.getTileEntity(x, y, z); if (tileEntityClass.isInstance(tileEntity)) { tileEntityClass.cast(tileEntity).giveItemsToPlayer(player); } else { FMLLog.severe("Grave TileEntity expected %s, but found %s", tileEntityClass.getName(), tileEntity == null ? "null" : tileEntity.getClass().getName()); } } return true; }
  13. The code that adds the items. Log output tells me that all items are properly added on the server: public void giveItemsToPlayer(final EntityPlayer player) { int count = GravesAssets.itemsPerSecond >= 0 ? GravesAssets.itemsPerSecond / TICKS_PER_SECOND : Integer.MAX_VALUE; FMLLog.info("Giving %d of %d items back to %s...", count, this.inventoryContent.size(), player.getDisplayName()); if (count == 0) { return; } InventoryContent content; final Deque<InventoryContent> notAdded = new LinkedList<InventoryContent>(); while ((count-- > 0) && ((content = this.inventoryContent.poll()) != null)) { FMLLog.info("Returning %s...", content.toString()); try { switch (content.inventoryID) { case INVENTORY_ID_VANILLA: if (player.inventory.getStackInSlot(content.slot) == null) { player.inventory.setInventorySlotContents(content.slot, content.itemStack); } else { notAdded.add(content); FMLLog.info("Failed."); } break; } } catch (Exception e) { FMLLog.warning("Failed to add item to inventory: %s\n%s", e.toString(), content.toString()); } } for (InventoryContent item : notAdded) { FMLLog.info("Adding %s...", item.toString()); if (player.inventory.addItemStackToInventory(item.itemStack) == false) { this.inventoryContent.add(item); FMLLog.info("Failed"); } } if (this.inventoryContent.isEmpty()) { FMLLog.info("All items have been returned"); this.worldObj.setBlockToAir(this.xCoord, this.yCoord, this.zCoord); } else { FMLLog.info("Items remain in grave"); this.markDirty(); } } Neither setInventorySlotContents nor addItemStackToInventory synchronize to the client.
  14. That is what I am doing. The client inventory however stays empty until relogging, then the items magically appear.
×
×
  • Create New...

Important Information

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