Jump to content

rich1051414

Forge Modder
  • Posts

    160
  • Joined

  • Last visited

Everything posted by rich1051414

  1. Every single plug-in I've tried has give listed its commands, and given me all or most of the relevant text, but has not actually worked at all (no actual effect on game play). I'm not sure if there's something else I need to do, if I've lucked into pick a lot of incompatible plugins, gotten an outdated version of BukkitForge, or what. I just know that none of them work. So far I've tried LWC, EpicZones, some chunk-based protections, etc., (I haven't had a chance to test NetherBan). I've all but given up on this -- I wonder if there is anything better out there for Forge / Bukkit compatibility? Or keep looking for a fix? Or just give up on Bukkit plugins (or maybe on using mods in SMP)? I'm amazed that several people here seem to have gotten it to work. Im using LWC on my server and its working perfectly, essentials. buycraft, votifier, groupManager, and world edit all work perfectly. the only thing which still needs fixing for me is worldguard and to protect chunks use http://www.minecraftforge.net/forum/index.php/topic,3364.0.html. I dont know if you are experienced with bukkit, java and such, but for me i had to do very little to get this going. This is the ONLY Bukkit/Forge compatability mod for minecraft past 1.2.5 and it works great. I have had to hack a bit at few plugins to get them to behave, but there are a few functions that just fail outright, no matter how it is implemented. I did manage to hack at multiverse enough to get successful imports, only to cause invalid provider crashes client sides. I guess multiworld support still requires a bit more development. I have been using dev versions of worldguard and bukkitforge, and have not had issues protecting plots, except for overlapping protection bugs. It seems if you have overlapping protection, that region can eventually bug out causing universal permission denied on block changes(even for ops) which requires a purge all all regions to correct the issue. There also appears to be non-member permission inconsistencies, but in my experience, it is ignorance of allow flags, not deny flags.
  2. Hey keepcalm, so far, 90% of plugins I try work great, and I can find and use alternatives for the rest. The only one giving me problems is multiverse. I dont know if it is user error or not, but creating a new world or using one already created crashes with a null pointer exception on world tick when adding to multiverse.
  3. for(int i = -2; i <= 2; i++){ for(int j = -2; j <= 2; j++){ for(int k = -2; k <= 2; k++){ int blockID = world.getBlockID(player.posX + i, player.posY + j, player.posZ + k); if(blockID == checkBlockID){ //Do Something } } } } That would search a 5x5x5 area around the player, the if statement to catch the block you are looking for.
  4. That's not client side. That's like saying unaided flight isn't impossible, you just need a plane. 'Client Side' health bars, meaning, no server mod required, is impossible.
  5. No it's not, client side health bars are impossible. Server has to send the client the new health information with custom packets, this information is not sent to the client in vanilla.
  6. On correctly coded mods, deleting the config of the mod throwing the conflict should fix the problem, if it doesn't, add a z to the beginning of the mod's zip file to force it to pre-init last, then delete the config, and it should automatically reassign. Another easy way to resolve conflicts if you don't plan on modifying configs often is to open forge.cfg and set B:enableGlobalConfig=true. This will combine all the configs into a single global.cfg, and the blocks should be combined all in one area, the block category. This however, will make modifying other config options a bit harder, as everything will now merge into the global.cfg file. Also, if using mods with high customization, it might make everything very cluttered, but it is an option to help see where the conflict is happening.
  7. It's an api, all those who would get use out of it would know what an api is. It's a mod that makes 3rd party mods possible without the mods modifying base classes, making for a wider range of mods that are compatible with each other.
  8. Client and server are universal, they both use the same exact download. http://files.minecraftforge.net/
  9. Personally, I always try to stay universally compatible whenever possible, but if this is not possible with the system you are using, try sending the mod author a message when you narrow down their problem. Typically giving them and equally easy method that would still work for them usually is all it takes. I also have also used setInventorySlotContents to set the stack in an inventory slot, so all necessary systems are triggered when I change the inventory, so it would be a good idea for those mods to start doing this also. As far as the complicated code to watch for, I suppose this would take a duplicate map? I don't think Itemstacks are .equals compatible, so it might be a bit of a chore, but it would be possible to check this on a scheduled tick.
  10. The problem is in class: maxedgaming/worldDropsCheck/worldDropsCheck Is that your event handler? Did you @ForgeSubscribe your eventbus hooks? java.lang.VerifyError are difficult to diagnose, especially without any code.
  11. It looks like forestry is expecting a different version of build craft, are you using versions compatible with each other(may be a question for the buildcraft forum)
  12. Actually I did think of this and scrapped the idea. Reason is, this would be very inefficient, as all painted blocks would need to be rendered a second time, which would be a huge performance hit for low end computers. In areas with a large number of painted blocks. It's not a big a deal, I have a core mod ready when and if I decide to do it this way, This was mostly to see if it would qualify as an accepted pull. Since it is not it is no big deal, my mod would just be a core mod instead.
  13. No, I don't want to chang dirt to cheese, but replacing vanilla blocks is harder than duplicating the blocks, as they would all need to be replaced to behave nicely. I have a mod called the paint gun mod, which allows people to paint blocks, and I currently do block replacements just as you say, but it is absolutely full of cheap hacks and workarounds to fix vanilla blocks not seeing my blocks as one of its own. It wouldn't really need to go that deep, here is an example: In renderBlockByRenderType: public boolean renderBlockByRenderType(Block par1Block, int par2, int par3, int par4) { RenderBlockEvent rbe = new RenderBlockEvent(this, par1Block, par2, par3, par4); if (MinecraftForge.EVENT_BUS.post(rbe)) { return rbe.returnValue; } and the new event: @Cancelable public class RenderBlockEvent extends Event{ public boolean returnValue = false; public final RenderBlocks context; public final Block block; public final int x; public final int y; public final int z; public RenderBlockEvent(RenderBlocks context, Block block, int x, int y, int z) { this.context = context; this.block = block; this.x = x; this.y = y; this.z = z; } public void cancelDefaultRender(){ setCanceled(true); } public void setReturnValue(boolean v){ this.returnValue = v; } } This would also allow me to do some other idea's I have, like improving the modeling on a couple of blocks in the game. Edit: Oh if you are afraid it would open up a pandora's box of 'wtf' mods, I understand. Thanks for letting me know it wouldn't be considered before I wasted my time.
  14. I have looked around for a while for a way to custom render vanilla blocks, and I have not had any luck. The only way I have been able to accomplish this is by adding a hook to the RenderBlocks class to function like the event bus, which is not ideal for me. Is there a system in place currently that would allow overriding the rendering on custom blocks? If I wrote some event bus integration and made a pull request, how likely do you guys think it would be to get accepted?
  15. Oh yes, I wasn't disagreeing, I was adding more info, by 'can', I mean it is possible. Also I want to point out that, atleast a few forge versions ago, EntityDamageEvent returned the final damage BEFORE armor absorption would take place, before the damage actually occurs(obviously since you can cancel it). So the damage sent is not the true damage if the mob has armor. Not that this would matter in this guys use, just some information to others who read this.
  16. Look at your original post and tell me WHERE it says you need to do more than tell a block when it should be harvestable(the damn old hook you linked yourself). I guess everyone who is not psychic are stupid? How on earth are we to know exactly what you are trying to hook there... Whatever, this attitude will not get you help from anyone.
  17. Oh I realize I might have been a bit unclear, 'FMLCommonHandler.instance().getMinecraftServerInstance().worldServerForDimension(dimension).loadedEntityList.size();' will return all entities, including mobs, If you only want item drops, you can iterate and count the EntityItems: int count = 0; List list = FMLCommonHandler.instance().getMinecraftServerInstance().worldServerForDimension(dimension).loadedEntityList; for(Entity entity: (List<Entity>)list){ if(entity != null && entity instanceof EntityItem){ count++; } } count would then have the item drop count. I just typed that off the top of my head, so it may have mistakes.
  18. Like this: FMLCommonHandler.instance().getMinecraftServerInstance().worldServerForDimension(dimension).loadedEntityList.size();
  19. This is not required. The proper way to do this now is by doing: MinecraftForge.setToolClass(Item item, String toolclass, int harvestlevel) The vanilla tool classes are: "shovel" "axe" "pickaxe". Also, many mods like to check the "sword" tool class to see if another mod added their sword there, although this is not vanilla, just a polite thing to do to help other mods work with yours more easily, it is nice to register it as such. 1 line that can give you free interoperability with another mod.
  20. It's like, I understand what those words mean invidually, but when I combine them I'm lost. Haha like I said I'm new to Forge and the 1.3+ modding so are there any tutorials I could be pointed to for 'packet handlers'? http://www.minecraftforge.net/wiki/Tutorials/Packet_Handling Message me if you have any questions.
  21. asm is not always better, if done poorly. Lately i have seen a few mods do a complete class replacement, which defeats the point entirely. the key is to squeeze your hooks in and leave the rest as intact as possible, so other mods have a chance of modifying the same class successfully. If everyone does complete class overrides, the the whole thing is utterly pointless. bytecode is basically a type of assembly, and is not even recongnizable to a java programmer(it is not meant to be human readable), but ask around and help can be found. NEI even needed help on that one However, simple functions, like changing privates to publics, is very easy.
  22. With this method you can make someone immune to any damage type, vanilla or custom.
  23. yes, well: Case 4: Case 5: default: return 10; is redundant. default means everything else, and cases will do the code in the next case unless you break or return, so you can remove the last two cases and it would do the same thing.
×
×
  • Create New...

Important Information

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