Jump to content

Abastro

Forge Modder
  • Posts

    1075
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Abastro

  1. Particles have had 3+ layers since they appeared in minecraft: Layer 0: Uses own particle sprites to render Layer 1: Uses the item/block sprites. (There were separate sprites for items and blocks, so there was one more layer. This information might not be accurate) Layer 3: Uses custom rendering. No sprites got bound on the render method. It seems that default layer got changed from 3 to 0.
  2. I just said that you should wrap it, not anything related with impossibility. And the methods are still there, but it should not be used for these purpose.
  3. I didn't notice that the problem is with GLSL shader. It can hack with shaders and might always require textures to render the entire world. So, there is no much hope for it.
  4. Please post the textures with their size and the models.
  5. Lore is strings to be shown on tooltips stored in the itemstack, and frequently used by bukkit plugin developers. They stores every information about the itemstack there. (It's the only way to do that in plugin. Might be abstraction disaster) Is it generated by a plugin? Or another mod? If it's a mod, there is definitely better way. If it's a plugin, item.getTagCompound().getCompoundTag("display").getTagList("Lore", ; gives the nbt list with strings which represents the lore. use #tagCount which means the size of the list, and #getStringTagAt(i) to get the i-th lore string.
  6. The mod was using one of the worst ways for that, which has high possibility of incompatibility. ( It wouldn't have had to hardcode BoP case, If it had been using other way ) Just wrap the worldprovider on 'WorldEvent.Load', with reflection.
  7. There are several ways to do that. If you only want to block the 'Esc' key, override the #keyTyped method and make it do nothing. Or if you want to block every closing, reopen the gui on #onGuiClosed when the appropriate condition is not met.
  8. You should first check if the stack has compound or not, using ItemStack#hasTagCompound(). (It is null by default) Create one if it is null. Or make the recipe output has the tag compound by default. (You can set the compound using ItemStack#setTagCompound)
  9. Currently, yes, you need blockstate definitions for items too. It works well for items just like blocks, if you specify 'inventory' type correctly.
  10. Every in-game change should be done server, which means the drops should be changed on the server side. So, are you planning to make a SSP-only mod?
  11. RenderGameOverlayEvent has Pre and Post phases. You should use Post phase by specifying RenderGameOverlayEvent.Post.
  12. ok, but why is it all showing up in my project in project explorer? is there a way to minimize it or something? because on the tutorial im watching the person doesnt have any of those jar files. What you need is package explorer, not project explorer. (Project explorer will display all dependencies, while package explorers will pack them into 'Referenced Libraries') Easiest way to do that is, simply open perspective 'Java'. So basically, the difference there would be just the perspective.
  13. Then try specifying specific colors, using GlStateManager.color
  14. There is capability for Item which is saved on its ItemStack. See Item#initCapabilities.
  15. I'm certain that there is no easy way but checking everything manually on onUpdate or moveEntity. (They are used to check bounds of them) Also you have to change the movement of other entities like players, and the only ways to do that are using LivingUpdateEvent(This limits everything to living entity) or wrapping entities when they are spawned(Which needs much more research and can be impossible to retain compatibility). Or, there is coremod, which should be avoided if possible. (But this could be the only option in some case) This is the cause why there are few ship mods, and they tend to be unstable. And, OBB is abbreviation for Oreinted Bounding Box, wiki link
  16. not textures if that what you meant... i mean - real code for "extends GuiScreen" classes.. The debugger will automatically take care of it if methods are not added/removed.. Also I remember that there is a tool(or plugin) that reflects code changes including the method changes, but forgot its name.
  17. If you mean syncing resources, it's simple. Just reload resources with F3+T.
  18. Even if it works on vanilla, it doesn't mean that it has enough compatibility with other mods. There will be high possibility to break some mechanisms if it is not done on PreInit phase. If the information you want for the blocks are just the structure id and display name, TileEntity & ItemStacks can contain those information quite easily. Even if you save the whole structure there, TileEntity can hold it in most case. How to display the name? Just override Item#getDisplayName and give the display name. How to transfer the information? Look at the ItemBlock code, and override proper methods. Also Block#getDrops might be overriden on Block, but anyway this is super simple in modding wise.
  19. Why? If world is already running, it's impossible to add a block because there are tons of problems: Networking, Texture Stitching, Block id management, etc. You would better use TileEntities.
  20. Then just utilize your own blocks to handle that.(Single class would be sufficient) Simplest way would be override the setSoundType method with public, but it's definitely unclean way.
  21. With minecraft, you should do many hijacking with use of entity to achieve something like that, because minecraft uses AABB box to control collision. In regular way, you just have box align OBB will suit your needs if you can't live with boxes, but it will be challanging to achieve that. (If you have little experience to java, it gets far worse)
  22. No, java won't understand something like '#' there. You should get the logger and call the method of it named 'info'. (It was what I meant by 'Logger#info)
  23. You can use Logger#info, Logger#debug, Logger#warn, etc. quite easy. So what is your problem? Referencing?
  24. @OP Yes, and basically you need to check them every tick. I recommend checking current tick using World#getWorldTime(). (Since it is used in most part, containing celestial calculation) You need to set setSkyRenderer before the event starts, and revert it back when it finishes. you will need to copy RenderGlobal#renderSky and change parts that you need. (yes, just a 'sun/moon texture change' will need this, kinda overkill) @Draco18s getTotalWorldTime is for getting total world time, and I think World#getWorldTime will be better for these case. (Considering /time set command)
  25. I think the problem is that the sound played is positioned on the method. So you should manually create your own ISound, and play sound with Minecraft SoundHandler.
×
×
  • Create New...

Important Information

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