This thread I will be talking like I am pasting this from the Wiki, to elaborate what is th difference between a client side mod and a server plugin. What is a client side mod? A client side mod is where the client (You) on Minecraft sees the world such as a texture pack, graphics, mini-map and so on. These are client side mods, meaning they only work for the client (client being you) so that others will not be able to see them. A good example of this is rei's mini-map, Only the person who has the mod on him can see it, it will not however effect the server in any way. Many client side mods such as "industrial craft" is only for the client (client being you) that is why it will not work on a server. A good representation of a client side mod is you standing in a island dreaming about potatoes, and only you can see the potatoes while the person next to you looks at you strangely. What is a server plugin? A plugin allows you to extend the functionality of the server. You can write plugins that handle extended operations such as authentication requests, server administration, world editing and so on. It also can emulate what the server does, as it represents the world. Such as the plugin “Fiery Inferno” Where it emulates how fires react to combustible material. It can also emulate NPC’s (Squidwards) such as the plugin “Citizens” where some are classed to follow you around the server, others stare at you while you walk by ect. Why cant you add a client side mod to a server like a plugin? I want the Bukkit community to contribute to this question. so fill this out to your hearts content. People who may be interested in answering this question. @Magi1053 @ImminentFate @hawkfalcon @mbaxter @Ne0nx3r0 Is there a way to add a client side mod to a server plugin? Yes, with spout. IF you want to add any additions in the future. just comment them below and ill look at them.
Please untag me from this so I don't get spammed. I'm not currently very active in Bukkit right now. I'll be your first reply for a bump, and possible to add any additions in the future.
Why cant you add a client side mod to a server like a plugin? Because we do not have access to modify the client from the server. Every person who logs onto the server would need a client side mod, which is currently not possible. That is why we can't add new blocks as well.
Provided it has a strong sandbox, I agree. Otherwise you run the risk of downloading something malicious onto your computer that could have wide reaching effects.
Which this can lead to a bad path.. But then.. Whats stopping gmod from sending their players malicious files.
What if we could create a sandbox in Minecraft, allowing for downloads n stuff? Wouldn't that be awesome? Idea for the Minecraft API
Thanks for the explanation. I would love to have the LittleBlocks mod on my Bukkit server, but accept that because it adds a new block type, it can't be a plugin. I have read about mods being "ported" to Bukkit. Can you explain what that is please?
Looks like a good start, but: IndustrialCraft does in fact support SMP; you can indeed run it on a server. I run it on my Bukkit server, along with dozens of other mods. Each player who connects has to have all of the corresponding mods installed on their client. I think its important to mention not only are their client-only mods and server-only plugins (or mods), but also client/server mods which require both. When a developer releases a client/server mod, it is "reobfuscated" so it matches Minecraft's obfuscated symbols. When the mod is developed, it usually is written using the "deobfuscated" symbols from the Minecraft Coder Pack. To complicate matters, CraftBukkit is written using partially-deobfuscated symbols, but they are deobfuscated differently than MCP. For example, MCP calls the Golden Apple item class "ItemAppleGold", but CraftBukkit calls it "ItemGoldenApple". (Minecraft itself obfuscates it as "abe"). Few names are the same. In order to port a mod to CraftBukkit, someone has to go through the server mod and change all of its class names, field names, etc. to match CraftBukkit's. Fortunately, much of this process can be automated. But CraftBukkit itself is of course a server mod, so mods ported to CraftBukkit sometimes have to be further changed to adapt to its changes. Sometimes a porter has to merge in base edits, or sometimes they'll add hooks to send Bukkit events when the mod triggers an action, and so on. For ported mods and porting and running modded servers, the best place to check is MC Port Central. Note however, using these ports is mutually exclusive with using Spout. Spout is another technology for enhancing the capabilities of the client, using a plugin-based system, I'm not too familiar with it to be honest, but its not compatible with mods, for better or worse. As for the Little Blocks Mod specifically, it has been ported for Minecraft 1.1, and has been requested for 1.2.5 but the problem is it uses ModLoaderMp instead of Minecraft Forge which means it is more difficult to port (I'd be surprised if it happens for 1.2.5).