Posted December 8, 20177 yr Hi there, I have a simple issue which is that my machines stop being able to accept items/fluids/energy (or indeed have them taken out) after the block undergoes an update. I should note that for whatever reason, this issue only appears with certain conduits/ducts such as those of Thermal Dynamics and Integrated Tunnels, but since other machines from other mods don't appear to have the issue, I think the error must be on my end. The machines will undergo a block update whenever the machine turns on or off, and this happens if it can run or can't run. All of my machines effectively follow the same recipe, so the solution for one of them should almost certainly be the same for the others, but for the purpose of showing the source code, I'll pick one of them: Tile Entity class (and superclasses if required): Processors.javaTileEnergyItemProcessor.java TileEnergySidedInventory.java TileEnergyInventory.java TileEnergy.java NCTile.java Block class (and superclasses if required): BlockManufactory.java BlockProcessor.java BlockSidedInventoryGui.java BlockSidedInventory.java BlockInventory.java Thanks in advance Edited December 8, 20177 yr by turbodiesel4598
December 8, 20177 yr If the update changes IBlockStates, then by default, the TileEntity is removed. Does this issue still happen after overriding TileEntity::shouldRefresh to return oldState .getBlock() != newState.getBlock()? Also previously known as eAndPi. "Pi, is there a station coming up where we can board your train of thought?" -Kronnn Published Mods: Underworld Handy links: Vic_'s Forge events Own WIP Tutorials.
December 8, 20177 yr Author I did not know changing the block removes the tile entity. Unfortunately your suggestion does not fix the issue, and I imagine that would be because the idle and inactive blocks are indeed different blocks. I realise now that I should have been more clear - the machine doesn't have its block's state change - the block type changes, e.g. blockMachineIdle -> blockMachineActive. In fact, setting the method to return flat out true or false doesn't solve the issue in either case, so I don't think the issue is there. Edited December 8, 20177 yr by turbodiesel4598
December 8, 20177 yr Author The only reason is probably because the tutorials that I originally watched when first learning how to mod set up their 'custom furnaces' or whatever in that way. When I updated to 1.10.2 and above I guess I didn't know enough about what block states were to realise how I could just use one block. Perhaps I will do that some day, if you recommend doing so. Anyway, this doesn't fix the problem either. After a bit more testing, I noticed something a little peculiar. If the machine is off, and then is switched on by, say, adding an item to the input slot, the machine turns on and runs correctly - the energy buffer is kept full and the output is removed as expected. If the machine is then turned off, the output is no longer taken out, and if turned back on again, energy is no longer accepted either. Also, if an adjacent duct undergoes an update (for example, using the crescent hammer on an adjacent duct), then the input/output through that duct alone starts to work again.
December 8, 20177 yr I have a feeling most of your issues stem from the fact that you're using two blocks. Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
December 8, 20177 yr Author I think you are right about that - it just seems that, by some happy accident, some mods' pipes/cables/conduits are built with the possibility of a machine using two blocks in mind. I'm almost certain at this point that these issues would disappear if I changed that up. Thank you all for the help Edited December 8, 20177 yr by turbodiesel4598
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.