A few questions regarding custom objects

Discussion in 'Plugin Development' started by randomman159, Aug 9, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    randomman159

    So as far as i have been told, you cannot create custom mobs, items or blocks for SMP, without some clientside modding.

    So i have a few questions.

    1. Why can't you define a custom mob in SMP if you define the texture in an array (all the different pixel colors) and get around it that sort of way?

    2. Also i know you can modify existing mobs. What about creating a second mob based off an original, just modified. For example having two types of chickens (both with same texture) but one can... i dunno, hurt you.

    3. Following on from the last question (if you can), could i do this with drops? For example make a gold ingot that flies around the world randomly (don't ask me why you'd want that :p), but still have gold ingot as part of the normal minecraft experience.

    4. And if you can do question 3.... Any pointers towards where i can look into modifying / creating custom drops in such a way?

    Thanks,
    Randomman159
     
  2. Offline

    masteroftime

    With bukkit plugins you can modify everything the server is responsible for. So you could take a dropped iron ingot entity and let it fly around, no problem cause the iron ingot still stays the same for the client only the server makes it move around by constantly updating its position. You could also take a chicken entity let it go towards the player and when it toucher him you simulate it attacking him by hurting the player.

    With creating new mobs this is different because the client doesn't know those new mobs. So he has no idea what he should do. Thats why you can't create new mobs or let a window show because the client doesn't have the functionalities to handle it.

    However there is a new server/client mod calles spout. I haven't really looked at it but its about providing modding capabilities which were until now only possible in singlepayer mods, to bukkit plugins.
     
  3. Offline

    randomman159

    But wouldn't you be able to have the server pass arrays of data (for textures, etc.) to the client?
     
  4. Offline

    masteroftime

    Sure but the client would have to be able to handle the received data and as far as I know minecraft can only receive the players textures, but not from mobs or even whole models.

    In order for client and server to communicate there are several packages defined which the server and client can hanle. These are e.g. chunk updates, login, entity updates, etc.

    but there are no packages which allow the modding of client textures, models or code. Therefor you need Spout

    *EDIT* here is a specification of the minecraft protocol
     
  5. Offline

    randomman159

    ahh yes, lol forgot about the reception of the data. That is an issue.

    But it would be possible to create a single drop which does it's own fancy movement wouldn't it, because that requires no change in code client side?
     
  6. Offline

    Shamebot

    There is one problem: The client predics how the entity behaves and it thinks the entity will fall, but the server tells the client the entities position, so the entity will bounce up and down.

    Edit:
    Question is, why do players in flymode not fall?
     
  7. Offline

    nisovin

    Probably has to do with the "on ground" flag in every player packet.
     
  8. Offline

    Shamebot

    The only server to client packet has no entity id, so I think it's only for the player receiving it.
     
  9. Offline

    Pathogen David

    Minecraft does not seem to interpolate or attempt to predict player positions at all, judging by the behavior when you or other players are lagging a lot. So the players don't bounce.
     
  10. Offline

    randomman159

    damn, so it is 100% impossible to make a smoothly moving drop go through the air? It will always create a bouncing effect? :(
     
  11. Offline

    Shamebot

    You might be able to minimize the effect, or create a soft bouncing.
     
Thread Status:
Not open for further replies.

Share This Page