• 0

    posted a message on Model Citizens

    Hi, can I reproduce this mod introduction in a Chinese Minecraft forum?(www.mcbbs.net)

    It will keep the download link and the link of this page.


    Basically, it's just translated into Chinese.


    Also I will create a zh_CN.lang:


    tile.blockModelCitizen.name=模型放置器

    Posted in: Minecraft Mods
  • 0

    posted a message on Custom CutScene/SplashScreen Mod [500+ DL]

    Fantastic..

    I think it would be really popular for modpack makers.


    Would you mind me to introduce this post into a Chinese forum?

    It will keep your curseforge link.

    Posted in: WIP Mods
  • 0

    posted a message on About the FakePlayer

    Thanks a lot!

    Then I will try to extends EntityLiving.....

    Posted in: Modification Development
  • 0

    posted a message on About the FakePlayer

    Have anyone been familiar with it?

    I want to spawn a player like entity just for decoration.

    Basically, how can I clone a player's name and skin to spawn an fake player?

    I have tried FakePlayerFactory by using a online player GameProfile, but I got the notification "[Server thread/WARN]: Fetching addPacket for removed entity"

    Also if I try to use a new GameProfile to get a new FakePlayer, game will crash...

    Posted in: Modification Development
  • 0

    posted a message on [Minecraft Modding Question]The procedure of world generation

    Anybody is familiar with the world gen process?

    I have tried to read the code with fml and forge, but I still feel confused with some words.


    My basic understanding now is minecraft first calculate the noise which will determine the 2D pattern of the landscape(is it? It's just a speculation),

    then populate,

    and then decorate.


    It seems that the chunk provider and biome implements at the "populate" stage.... but what about the actual stage that minecraft fill the 2d pattern with the block(like stone...dirt)? Is it in the "populate" stage? If it's in "populate" stage, who(what class) is actually filling the block? Or I miss some stages?


    For example, I want the to make a mod that set the world gen border. If any biome is already exceeding the border range, the beside biome will be ocean biome so that the world will all end with ocean.


    BTW, I try to find the actual "fill block" event, but there are just some events like biome decoration or biome population. I'm not very sure about the usage of these events....

    Posted in: Modification Development
  • 0

    posted a message on [SOLVED] 1.8 Block Texture Loading Problem

    WOW!! How did you work it out!

    I have similar problem for binding block texture.


    The register is here

    https://github.com/ci010/Vending/blob/master/[1.8]Vending/src/main/java/info/jbcs/minecraft/vending/client/ClientProxy.java


    The block have 16 metablock(0-15)


    The blockstates

    https://github.com/ci010/Vending/blob/master/[1.8]Vending/src/main/resources/assets/vending/blockstates/vendingMachine.json

    and the model

    https://github.com/ci010/Vending/blob/master/[1.8]Vending/src/main/resources/assets/vending/models/block/vendingMachine.json


    My forge version is 1.8-11.14.3.1450


    Any sugguestion? Or did I have any misunderstanding on these?

    Thank a lot.


    BTW, what's your final version looks like?

    Maybe it will inspire me.

    Posted in: Modification Development
  • 0

    posted a message on [Forge][1.6.4 - 1.8] EventHandler and IExtendedEntityProperties

    Wow! That's right! I even forget the case of multiplayer...

    I think the modular method is a good idea and I will try it. Thanks a lot again.

    Posted in: Mapping and Modding Tutorials
  • 0

    posted a message on [Forge][1.6.4 - 1.8] EventHandler and IExtendedEntityProperties
    Quote from coolAlias»

    Please post your code using pastebin, and post entire classes (including your Strength class) - it is much more readable.


    According to your console log, you are trying to recover some value on both the server and the client, and you can see how the client is always trying to recover 5 whereas the server is trying to recover 10. This is because the server and client tend to have different motion values, not to mention strict equality is very difficult to achieve with floating point values.


    Anyway, long story short: ONLY update values on the SERVER, never* the client.


    Also, do not use static variables such as "Status.timer++;" bad idea.


    I reconstruct these classes for a while and they are work now.(Even though I don't know what's exactly going on......orz) But thanks a lot!


    BTW, any suggestion for timer update?

    I have seen some mods, like iguana tweak, which implement these kind of things(to not calculate every livingupdate cycle) by making a tick handler to handle key tick... (well.. the code of iguana tweak is too tough for me to really understand now)

    Posted in: Mapping and Modding Tutorials
  • 0

    posted a message on [Forge][1.6.4 - 1.8] EventHandler and IExtendedEntityProperties

    I'm still a little bit confused about the mechanic of the dataWatcher.


    I have these code


    lic void LivingUpdate(LivingUpdateEvent event)
    {
    if(event.entityLiving.isDead)
    {
    return;
    }
    if(event.entityLiving instanceof EntityPlayer)
    {

    EntityPlayer player = (EntityPlayer)event.entityLiving;

    Status.timer++;
    if(Status.timer>20)
    {

    Sleepness playerSl = Sleepness.get(player);
    Strength playerSt = Strength.get(player);

    if (!player.isSprinting())
    {
    if (player.motionX == 0 && player.motionZ == 0)
    {
    System.out.println("try to recover 10");

    playerSt.recover(10);
    }
    else
    {
    System.out.println("try to recover 5");
    playerSt.recover(5);
    }
    }


    {
    float multiplier = Attributes.agility.getMultiplier(player);

    player.motionX *= multiplier;
    player.motionZ *= multiplier;
    }
    Status.timer = 0;
    // if(playerSl.isSleeping)
    // {
    // playerSl.consume(false);
    // playerSt.consume(0);
    // }
    }
    }
    }


    It works for the single player. I write the gui part as this tutorial has.

    I print the string on screen by

    drawString(this.mc.fontRendererObj, prop.getCurrent() + "", xPos + 40, yPos / 2, 0xFFFFFF);

    The string on screen show the correct value of the prop. But when I get the prop value in my attack event:


    @SubscribeEvent
    public void attackEvent(LivingAttackEvent event)
    {
    Entity inflictor = event.source.getEntity();
    if(inflictor instanceof EntityPlayer)
    {

    EntityPlayer player = (EntityPlayer) inflictor;

    Strength playerSt = Strength.get(player);
    Sleepness playerSl = Sleepness.get(player);


    if(inflictor instanceof EntityPlayerMP)
    System.out.println("catch attack event. mp fires this event. Now mp strength is "+playerSt.getCurrent());
    if (inflictor instanceof EntityPlayerMP)
    System.out.println("catch attack event. sp fires this event. Now sp strength is " +playerSt.getCurrent());


    if(player.getHeldItem()!=null)
    {
    //TODO make this '20' and '10' dynamic
    if(playerSt.getCurrent() <= 20 )
    {

    System.out.println("canceled lower than 20 ("+playerSt.getCurrent());
    event.setCanceled(true);
    }
    else
    {
    playerSt.consume(20);
    }
    }
    else
    {
    if(playerSt.getCurrent() <= 10 )
    {
    System.out.println("canceled lower than 10 ("+playerSt.getCurrent());
    event.setCanceled(true);
    }
    else
    {
    playerSt.consume(10);
    }
    }

    if (playerSl.getCurrent() <= 0)
    {

    }
    }
    }

    It just doesn't work. Both sp and mp get 0 value..... I don't know why....


    Here is a part of console:


    [19:09:38] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:196]: try to recover 10
    [19:09:39] [Client thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:202]: try to recover 5
    [19:09:39] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:196]: try to recover 10
    [19:09:39] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:132]: catch attack event. mp fires this event. Now mp strength is 0
    [19:09:39] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:134]: catch attack event. sp fires this event. Now sp strength is 0
    [19:09:39] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:155]: canceled lower than 10 (0
    [19:09:40] [Client thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:202]: try to recover 5
    [19:09:40] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:202]: try to recover 5
    [19:09:41] [Client thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:202]: try to recover 5
    [19:09:41] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:196]: try to recover 10
    [19:09:42] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:132]: catch attack event. mp fires this event. Now mp strength is 0
    [19:09:42] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:134]: catch attack event. sp fires this event. Now sp strength is 0
    [19:09:42] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:155]: canceled lower than 10 (0
    [19:09:42] [Client thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:202]: try to recover 5
    [19:09:42] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:196]: try to recover 10
    [19:09:43] [Client thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:196]: try to recover 10
    [19:09:43] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:132]: catch attack event. mp fires this event. Now mp strength is 0
    [19:09:43] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:134]: catch attack event. sp fires this event. Now sp strength is 0
    [19:09:43] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:155]: canceled lower than 10 (0
    [19:09:43] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:202]: try to recover 5
    [19:09:44] [Client thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:202]: try to recover 5
    [19:09:44] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:132]: catch attack event. mp fires this event. Now mp strength is 0
    [19:09:44] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:134]: catch attack event. sp fires this event. Now sp strength is 0
    [19:09:44] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:155]: canceled lower than 10 (0
    [19:09:44] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:196]: try to recover 10
    [19:09:45] [Client thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:202]: try to recover 5
    [19:09:45] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:132]: catch attack event. mp fires this event. Now mp strength is 0
    [19:09:45] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:134]: catch attack event. sp fires this event. Now sp strength is 0
    [19:09:45] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:155]: canceled lower than 10 (0
    [19:09:46] [Client thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:202]: try to recover 5
    [19:09:46] [Client thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:196]: try to recover 10
    [19:09:47] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:196]: try to recover 10
    [19:09:47] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:132]: catch attack event. mp fires this event. Now mp strength is 0
    [19:09:47] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:134]: catch attack event. sp fires this event. Now sp strength is 0
    [19:09:47] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:155]: canceled lower than 10 (0
    [19:09:47] [Client thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:202]: try to recover 5
    [19:09:48] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:202]: try to recover 5
    [19:09:48] [Client thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:202]: try to recover 5
    [19:09:49] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:132]: catch attack event. mp fires this event. Now mp strength is 0
    [19:09:49] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:134]: catch attack event. sp fires this event. Now sp strength is 0
    [19:09:49] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:155]: canceled lower than 10 (0
    [19:09:49] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:196]: try to recover 10
    [19:09:49] [Client thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:202]: try to recover 5
    [19:09:50] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:202]: try to recover 5
    [19:09:50] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:132]: catch attack event. mp fires this event. Now mp strength is 0
    [19:09:50] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:134]: catch attack event. sp fires this event. Now sp strength is 0
    [19:09:50] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:155]: canceled lower than 10 (0
    [19:09:50] [Client thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:202]: try to recover 5
    [19:09:51] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:196]: try to recover 10
    [19:09:51] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:132]: catch attack event. mp fires this event. Now mp strength is 0
    [19:09:51] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:134]: catch attack event. sp fires this event. Now sp strength is 0
    [19:09:51] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:attackEvent:155]: canceled lower than 10 (0
    [19:09:51] [Client thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:202]: try to recover 5
    [19:09:52] [Server thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:196]: try to recover 10
    [19:09:52] [Client thread/INFO] [STDOUT]: [net.ci010.attributesmod.handler.CommonHandler:LivingUpdate:202]: try to recover 5

    Posted in: Mapping and Modding Tutorials
  • 0

    posted a message on [Forge][1.6.4 - 1.8] EventHandler and IExtendedEntityProperties

    I'm little confused about the IExtendedEntityProperties, or we can say the mechanic of minecraft's properties.

    Does it run over the ram when minecraft normal running and save as NBT when minecraft closing?

    Or running in some other ways?


    Also about the packet, is that means after you register a packet, the minecraft will manage when the packet should be sent?

    If a mod have a function changing the exp of player, do we need a extra packet to syn the exp again?

    Posted in: Mapping and Modding Tutorials
  • 0

    posted a message on Teds World Gen Mods - Realistic World Gen Alpha 1.3.2

    Is there any way to let the RWG mod generate with in a range?

    I mean I want the world's bound that ends with infinite ocean.....

    Posted in: Minecraft Mods
  • 0

    posted a message on Streams - Real Flowing Rivers!
    Seems like new blocks doesn't compatible with the shader........
    Or maybe we should see the shader doesn't compatible with these new blocks?
    Posted in: Minecraft Mods
  • 0

    posted a message on Carpenter's Blocks
    So this mod is not compatible with worldedit.....(Or is there any ways to make "copy" work?)

    Also does mcpatcher works on this mod?
    Posted in: Minecraft Mods
  • 0

    posted a message on resource pack's ctm help!
    I accidentally found out that optifine 1.7.10 Ultra A4 won't connect the blocks with different metadata. :P

    But thank you anyway.
    Posted in: Resource Pack Discussion
  • 0

    posted a message on [Freeuse, No permission needed] FpsPlus 1.5.2-1.7.10+Source
    Just one question, I have deleted the line "FastMath" but it's created when I start up minecraft

    ofFastMath:false

    Do I need to get rid of it? or just ignore it
    Posted in: Minecraft Mods
  • To post a comment, please or register a new account.