Jump to content
Search In
  • More options...
Find results that contain...
Find results in...


  • Content Count

  • Joined

  • Last visited

Community Reputation

1 Neutral

About BourgeoisArab

  • Rank
    Tree Puncher


  • Gender
  • Personal Text
    I am new!
  1. This is good to know, but what I was after was recolouring the model dynamically, based on the ItemStack. Anyway, implementing a custom IBakedModel works great, even with OBJ models.
  2. With simple 2D item models, the texture can be coloured very easily with the getColorFromItemStack method, but this doesn't appear to be called, when a 3D model (json or obj) is used. Can the textures of those be recoloured in a similar fashion? Do I need to implement my own ISmartItemModel and IBakedModel for it?
  3. I'm definitely registering the models in preInit. It throws errors anywhere else. Am I correct in thinking the forge models use the still and flowing icons in the Fluid constructor for rendering? Or do I need to recheck any misspelling of names?
  4. I've also tried various Forge versions and it seems to be the case with everything I do. Does anyone have any ideas as to what the cause is?
  5. I'm not entirely sure what you mean by this: I'm going to assume you're talking about "specific Tiles" that you're adding. You may be interested in implementing IFluidHandler rather than IFluidTank, because the handler is what pipes connect to, and the handler methods include ForgeDirection arguments, so you know which side of the block is being drained from, so you can check the TileEntity on that side. If I understand the bit with BC wooden pipes correctly, you're worried that one could use a plasma-compatible pipe as an intermediate, which you don't want. To solve this, just
  6. Try increasing the player's y velocity, instead of position. I believe that's how the potion effects works.
  7. There is a lot simpler way of rendering OBJ models. If you register your mod with OBJLoader.instance.addDomain, you can simply use your .obj files instead of defining vanilla json model files. With the forge blockstate json syntax and submodels, I think you can get the versatility you need.
  8. If you want to be teleported only as you right-click the block, you don't need a TileEntity. If you want the block to remember the coordinates, so that it teleports anything at any time AFTER the right-click, you do need a TileEntity. Just make your block class extend BlockContainer and create a TileEntity class for it, with a field for the stored coordinates. In the Block class (now BlockContainer), you're interested in the onBlockActivated method. That supplies you with the player, so you can get the ItemStack you're holding and get the NBT data from that, and it gives you World and Blo
  9. There wasn't anything conspicuous in the log, that I could see, but here it is:
  10. I apologize in advance, because I know this is going to be something completely stupid. I've researched this and there are various threads on similar issues of fluid blocks not rendering properly, but I've tried those solutions and none seem to work. The fluid behaviour is all fine, in terms of bucket use, etc. It's just that the blocks don't render - they're invisible. Here is my code: Blockstate json file: Fluid class: BlockFluid class: Client-side model registration: (done in pre-init stage)
  11. So it is a byte. Does this mean there is no solution and I just have to make do with 128 slots?
  12. It is the first thing I call in the preInit method. I don't think expanding the array is an issue, because I checked it and it is at the right size that I set it to.
  13. I've been working on adding custom potion effects in my mod and to do so, have expanded the vanilla potion array to accomodate my potions thus: public static void expandPotionArray(int arraySize) { Potion[] potionTypes = null; boolean successful = false; for (Field f : Potion.class.getDeclaredFields()) { f.setAccessible(true); try { if (f.getName().equals("potionTypes") || f.getName().equals("field_76425_a")) { Field modfield = Field.class.getDeclaredField("modifiers"); modfield.setAccessible(true); modfield.setInt(f, f.getModifiers() & ~Modifier.FINAL); poti
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.