Jump to content

sequituri

Forge Modder
  • Posts

    669
  • Joined

  • Last visited

Everything posted by sequituri

  1. Copying such a class will simply open the original crafting table. displayGuiWorkbench() is hardcoded that way.
  2. mkay... first take a look at the Slot classes currently in Minercraft: Slot, BeaconSlot, CreativeSlot, Ingredient, Potion, SlotCrafting, SlotFurnace, SlotMerchantResult, and the dynamic new Slot calls. Each overrides certain slot checks, such as isItemValid(itemStack), canTakeStack(player), ... and such. Each slot controls the GUI of the container it is used with. So, in most cases (unless it's a generic accept anything input/output slot), you'd want to specialize it for your gui. Now, as far as recipes go, I cannot really help you with those as I have no idea how your infuser should work. If you could hash out the details on what goes in and what comes out, that would be a start.
  3. I don't know what you have wrong, because the code I can see seems fine. It kind of seems like your client and server containers are not both active. What code opens your Incubator gui? Please show that.
  4. You could conceivably store up to 5 block types in meta data along with rotations considering that logs only allow for 3 axes (X, Y, and Z orientation) Y means log is vertical, X and Z point log along that axis. So, given metadata range of 0-15, you could encode 3 orientations by 5 subtypes in a block. You would have to do the math or use a array though to get and set metadata and subtypes.
  5. Good catch. Now, if the code had been formatted in a reasonable manner, I would have seen that right away. (I get blind in my old age 8-)
  6. The ExtendedBlockStorage array has one element for each strata (16 strata are possible, each of 16 blocks height). So, extBlockArray[0] is the lowest strata (blocks x,0-15,y) are in it. Hope this helps.
  7. Two output? Of What, with what and what else? Always two output or is one output possible, too? What is the input? Does it work like two furnaces or one furnace with a random second output? All of these choices drive how to program both your recipes and your logic.
  8. If you want the see the hexadecimal value of any color integer, just open Windows 8 Calculator in view -> Programmer mode. Use the decimal and hex radio buttons to switch representations. So, 4210752 == 0x404040 or a darkish grey.
  9. You are making two mistakes. a) You are trying to use a variable that is not in scope or has never been defined. In your case, you never define such a variable and no other 'world' is in scope. b) You need to understand how arguments work, in the declaration you have a list of these: methodName(Type1 formal1, Type1 formal2, ... ) these formals are local to your method as variable names, the Typen are just specifiers for the type(Class) of each argument,. Also, if you want a world variable, then you need to either define it with: World world or rename the parameter of World type from arg3 to world. Simple as that. That said, go learn how to read & write java.
  10. Well, actually a utility mod is not the same thing as an API library. An API library use usually just a jar of java classes with source in a jar (and any jar of natives if it uses the JNI system). It is normally added to the build path and parts can be included in the final jar. A utility mod is one that is a dependency and is a full mod in its own right with either necessary linkage points or an API-only version. It can be made to be necessary or optional. Inter-mod coms can be useful in this case. There are other permutations and variants as well, but this seems to be the norm.
  11. I still have no idea what you are doing with those arguments, and I'm sick of playing hide and seek, Maybe someone else can help you.
  12. Try this: this.addSlotToContainer( new SlotAngellicInfuser( teAngellicInfuser, n, x, y) // replace n x and y with your own data. by using new Slot, you are accepting vanilla slot semantics which you have no control over. Also, if I understand your needs properly, 9 slots should be input/output, 1 slot needs to be fuel only, and one output only. So, one slot class will not likely suffice unless a vanilla slot type fits your needs.
  13. Or... you could implement a transaction log for each TE and when changing NBT data also copy the path "I:Rieka/TEUsage/suchAndSo" to the log (Set<String> tlog). Then when you send update package, use the tlog to send only changed data and then clear it.
  14. Oh, I should have said, I'd love to help you more, but two things: I am very unfamiliar with rendering issues as I haven't done anything with Render handlers; and I really cannot see anything given how dark your image is.
  15. It's all right there. It is very complicated, so I don't imagine a beginner will understand how it works. Sorry I cannot spell it out for you.
  16. return par1ItemStack; ArrowNockEvent event = new ArrowNockEvent( par3EntityPlayer, par1ItemStack); // this is the error this comment isn't actually here It should be pretty obvious to any modder that no code after an unconditional 'return' statement could possibly get executed.
  17. Nope. But the stack overflow is what I was referring to.
  18. I have no idea what the "simplimpl" package is, but the Wrapper classes are for the Forge packet system, not vanilla. I take it from that answer that you have no desire whatsoever to use Forge netty support and will only work on a vanilla packet solution. That's cool by me and good luck with it.
  19. By the way... Mods that require a server side as well should always have a NetworkCheckHandler thusly: class MyMod { ... @NetworkCheckHandler public static boolean nameDoesn'tMatterHere(Map<String, String> theMap, Side theSide) { //TODO check the map and see if you have the right mods return isThisMapOkay; } ... }
  20. That is likely due to the fact that Thaumcraft properly checks the server for the mod and disables itself. All mods should do this, but most of them are not written properly. In other words, the server does not disable mods, nor does Forge unless the mod requests it.
  21. You rendering code is doing too many glPushMatrix calls without glPopMatrix matching calls.
  22. Have you tried using the simplimpl package and the SimpleChannelHandlerWrapper and SimpleNetworkWrapper classes?
×
×
  • Create New...

Important Information

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