Jump to content

IamMaxim

Members
  • Posts

    56
  • Joined

  • Last visited

Posts posted by IamMaxim

  1. No, I tried search and found nothing. Log: 

      Reveal hidden contents

     

  2. You can send client's HP on connect and process damage on both server and client side, or send updated HP to client when damaged/healed. For last mob's HP bar you can create a field in capability and assign HP to it in attack event (and sync, too). Also, on client side track last attacked entity and save it to capability/variable too. Then, when you render entity, check if renderingEntity == lastAttackedEntity, and if it's true, render HP bar above it.

    • Like 1
  3. I made a TileEntity and renderer for it. It renders fine in world, but in inventory and in hand it's just block with missing texture. I tried to find a way to fix it on forums, but not succeeded. I believe I miss renderer registration or do it in wrong place. Can you point me at mistake?

    Here's my block: https://github.com/IamMaxim/galedwell/blob/89d5eee59ebd5b07d78eb0ff83bffd17e55cb19b/src/main/java/ru/iammaxim/tesitems/Blocks/BlockChest.java

    Tile entity https://github.com/IamMaxim/galedwell/blob/89d5eee59ebd5b07d78eb0ff83bffd17e55cb19b/src/main/java/ru/iammaxim/tesitems/Blocks/BlockChestTileEntity.java

    TESR https://github.com/IamMaxim/galedwell/blob/89d5eee59ebd5b07d78eb0ff83bffd17e55cb19b/src/main/java/ru/iammaxim/tesitems/Blocks/BlockChestTileEntityRenderer.java

    TESR registration: here https://github.com/IamMaxim/galedwell/blob/89d5eee59ebd5b07d78eb0ff83bffd17e55cb19b/src/main/java/ru/iammaxim/tesitems/Blocks/mBlocks.java#L41

    and here https://github.com/IamMaxim/galedwell/blob/89d5eee59ebd5b07d78eb0ff83bffd17e55cb19b/src/main/java/ru/iammaxim/tesitems/Proxy/ClientProxy.java#L37

     

    I tried moving initModels to init event (from preInit), but this hasn't helped. No info about missing model variants appear (i tried search)

  4. I have this problem:

    [21:28:27] [server thread/INFO] [sTDOUT]: [ru.iammaxim.tesitems.TESItems:onEntityLoad:297]: trying to attach capability to 214
    [21:28:27] [server thread/ERROR] [FML]: Exception caught during firing event net.minecraftforge.event.AttachCapabilitiesEvent$Entity@2a9f08e:
    java.lang.NoClassDefFoundError: net/minecraft/client/entity/EntityPlayerSP
    at java.lang.Class.getDeclaredConstructors0(Native Method) ~[?:1.8.0_101]
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) ~[?:1.8.0_101]
    at java.lang.Class.getConstructor0(Class.java:3075) ~[?:1.8.0_101]
    at java.lang.Class.newInstance(Class.java:412) ~[?:1.8.0_101]
    at net.minecraftforge.common.capabilities.CapabilityManager$1.call(CapabilityManager.java:64) ~[CapabilityManager$1.class:?]
    at net.minecraftforge.common.capabilities.Capability.getDefaultInstance(Capability.java:124) ~[Capability.class:?]
    at ru.iammaxim.tesitems.Player.PlayerAttributesCapabilityProvider.<init>(PlayerAttributesCapabilityProvider.java:13) ~[PlayerAttributesCapabilityProvider.class:?]
    at ru.iammaxim.tesitems.TESItems.onEntityLoad(TESItems.java:298) ~[TESItems.class:?]
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_8_TESItems_onEntityLoad_AttachCapabilitiesEvent.invoke(.dynamic) ~[?:?]
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?]
    at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:185) [EventBus.class:?]
    at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:565) [ForgeEventFactory.class:?]
    at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:550) [ForgeEventFactory.class:?]
    at net.minecraft.entity.Entity.<init>(Entity.java:252) [Entity.class:?]
    at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:192) [EntityLivingBase.class:?]
    at net.minecraft.entity.player.EntityPlayer.<init>(EntityPlayer.java:181) [EntityPlayer.class:?]
    at net.minecraft.entity.player.EntityPlayerMP.<init>(EntityPlayerMP.java:162) [EntityPlayerMP.class:?]
    at net.minecraft.server.management.PlayerList.createPlayerForUser(PlayerList.java:525) [PlayerList.class:?]
    at net.minecraft.server.network.NetHandlerLoginServer.tryAcceptPlayer(NetHandlerLoginServer.java:137) [NetHandlerLoginServer.class:?]
    at net.minecraft.server.network.NetHandlerLoginServer.update(NetHandlerLoginServer.java:64) [NetHandlerLoginServer.class:?]
    at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:308) [NetworkManager.class:?]
    at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:195) [NetworkSystem.class:?]
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:806) [MinecraftServer.class:?]
    at net.minecraft.server.dedicated.DedicatedServer.updateTimeLightAndEntities(DedicatedServer.java:408) [DedicatedServer.class:?]
    at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:687) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:536) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_101]
    Caused by: java.lang.ClassNotFoundException: net.minecraft.client.entity.EntityPlayerSP
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.12.jar:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_101]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_101]
    ... 27 more
    Caused by: net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerException: Exception in class transformer net.minecraftforge.fml.common.asm.transformers.SideTransformer@17d2ed1b from coremod FMLCorePlugin
    at net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerWrapper.transform(ASMTransformerWrapper.java:253) ~[forgeSrc-1.10.2-12.18.2.2123.jar:?]
    at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279) ~[launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176) ~[launchwrapper-1.12.jar:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_101]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_101]
    ... 27 more
    Caused by: java.lang.RuntimeException: Attempted to load class net/minecraft/client/entity/EntityPlayerSP for invalid side SERVER
    at net.minecraftforge.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:56) ~[forgeSrc-1.10.2-12.18.2.2123.jar:?]
    at net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerWrapper.transform(ASMTransformerWrapper.java:249) ~[forgeSrc-1.10.2-12.18.2.2123.jar:?]
    at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279) ~[launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176) ~[launchwrapper-1.12.jar:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_101]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_101]
    ... 27 more
    [21:28:27] [server thread/ERROR] [FML]: Index: 1 Listeners:
    [21:28:27] [server thread/ERROR] [FML]: 0: NORMAL
    [21:28:27] [server thread/ERROR] [FML]: 1: ASM: ru.iammaxim.tesitems.TESItems@3285c689 onEntityLoad(Lnet/minecraftforge/event/AttachCapabilitiesEvent;)V
    [21:28:27] [server thread/ERROR]: Encountered an unexpected exception
    java.lang.NoClassDefFoundError: net/minecraft/client/entity/EntityPlayerSP
    at java.lang.Class.getDeclaredConstructors0(Native Method) ~[?:1.8.0_101]
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) ~[?:1.8.0_101]
    at java.lang.Class.getConstructor0(Class.java:3075) ~[?:1.8.0_101]
    at java.lang.Class.newInstance(Class.java:412) ~[?:1.8.0_101]
    at net.minecraftforge.common.capabilities.CapabilityManager$1.call(CapabilityManager.java:64) ~[CapabilityManager$1.class:?]
    at net.minecraftforge.common.capabilities.Capability.getDefaultInstance(Capability.java:124) ~[Capability.class:?]
    at ru.iammaxim.tesitems.Player.PlayerAttributesCapabilityProvider.<init>(PlayerAttributesCapabilityProvider.java:13) ~[PlayerAttributesCapabilityProvider.class:?]
    at ru.iammaxim.tesitems.TESItems.onEntityLoad(TESItems.java:298) ~[TESItems.class:?]
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler_8_TESItems_onEntityLoad_AttachCapabilitiesEvent.invoke(.dynamic) ~[?:?]
    at net.minecraftforge.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:90) ~[ASMEventHandler.class:?]
    at net.minecraftforge.fml.common.eventhandler.EventBus.post(EventBus.java:185) ~[EventBus.class:?]
    at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:565) ~[ForgeEventFactory.class:?]
    at net.minecraftforge.event.ForgeEventFactory.gatherCapabilities(ForgeEventFactory.java:550) ~[ForgeEventFactory.class:?]
    at net.minecraft.entity.Entity.<init>(Entity.java:252) ~[Entity.class:?]
    at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:192) ~[EntityLivingBase.class:?]
    at net.minecraft.entity.player.EntityPlayer.<init>(EntityPlayer.java:181) ~[EntityPlayer.class:?]
    at net.minecraft.entity.player.EntityPlayerMP.<init>(EntityPlayerMP.java:162) ~[EntityPlayerMP.class:?]
    at net.minecraft.server.management.PlayerList.createPlayerForUser(PlayerList.java:525) ~[PlayerList.class:?]
    at net.minecraft.server.network.NetHandlerLoginServer.tryAcceptPlayer(NetHandlerLoginServer.java:137) ~[NetHandlerLoginServer.class:?]
    at net.minecraft.server.network.NetHandlerLoginServer.update(NetHandlerLoginServer.java:64) ~[NetHandlerLoginServer.class:?]
    at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:308) ~[NetworkManager.class:?]
    at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:195) ~[NetworkSystem.class:?]
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:806) ~[MinecraftServer.class:?]
    at net.minecraft.server.dedicated.DedicatedServer.updateTimeLightAndEntities(DedicatedServer.java:408) ~[DedicatedServer.class:?]
    at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:687) ~[MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:536) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_101]
    Caused by: java.lang.ClassNotFoundException: net.minecraft.client.entity.EntityPlayerSP
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.12.jar:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_101]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_101]
    ... 27 more
    Caused by: net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerException: Exception in class transformer net.minecraftforge.fml.common.asm.transformers.SideTransformer@17d2ed1b from coremod FMLCorePlugin
    at net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerWrapper.transform(ASMTransformerWrapper.java:253) ~[forgeSrc-1.10.2-12.18.2.2123.jar:?]
    at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279) ~[launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176) ~[launchwrapper-1.12.jar:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_101]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_101]
    ... 27 more
    Caused by: java.lang.RuntimeException: Attempted to load class net/minecraft/client/entity/EntityPlayerSP for invalid side SERVER
    at net.minecraftforge.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:56) ~[forgeSrc-1.10.2-12.18.2.2123.jar:?]
    at net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerWrapper.transform(ASMTransformerWrapper.java:249) ~[forgeSrc-1.10.2-12.18.2.2123.jar:?]
    at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279) ~[launchwrapper-1.12.jar:?]
    at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176) ~[launchwrapper-1.12.jar:?]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_101]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_101]
    ... 27 more
    [21:28:27] [server thread/ERROR]: This crash report has been saved to: /home/maxim/Galedwell/run/./crash-reports/crash-2016-11-12_21.28.27-server.txt

    on latest Forge build on server, but I even don't have EntityPlayerSP in my imports and methods (I tried search and found nothing).

     

    Here are my:

    Main mod file: https://github.com/IamMaxim/galedwell/blob/1.10.2/src/main/java/ru/iammaxim/tesitems/TESItems.java

    Exception is thrown in https://github.com/IamMaxim/galedwell/blob/1.10.2/src/main/java/ru/iammaxim/tesitems/Player/PlayerAttributesCapabilityProvider.java

    when i try to getDefaultInstance() of https://github.com/IamMaxim/galedwell/blob/1.10.2/src/main/java/ru/iammaxim/tesitems/Player/IPlayerAttributesCapability.java

    In singleplayer all works as it should. I tried it on 1.9.4 and got the same result. Can you point me at problem?

  5. There's another problem now. Minecraft#thePlayer here is null:

    @Override
        public IMessage onMessage(AttributesMessage message, MessageContext ctx) {
            System.out.println("got message");
            EntityPlayer player = Minecraft.getMinecraft().thePlayer;
            if (player == null) System.out.println("player == null");
            IPlayerAttributesCapability cap = player.getCapability(TESItems.attributesCapability, null);
    
            for (String s : TESItems.ATTRIBUTES) {
                System.out.println("Adding " + s + " to player");
                cap.setAttribute(s, message.getAttribute(s));
            }
    
            return null;
        }

  6. No, it's still null. Here's my code:

    @SubscribeEvent
        public void onEntityJoinWorld(EntityJoinWorldEvent event) {
            IPlayerAttributesCapability cap = event.getEntity().getCapability(TESItems.attributesCapability, null);
            if (cap == null) System.out.println("cap == null");
            networkWrapper.sendTo(new AttributesMessage(cap.getAttributes()), (EntityPlayerMP) event.getEntity());
        }

  7. How should I send data from server to client on player login? I am trying to do this:

    public void onEntityLoad(AttachCapabilitiesEvent.Entity event) {
            if (event.getEntity() instanceof EntityPlayer) {
                event.addCapability(new ResourceLocation(TESItems.attributesTagName), new PlayerAttributesCapabilityProvider());
                IPlayerAttributesCapability cap = event.getEntity().getCapability(TESItems.attributesCapability, null);
                networkWrapper.sendTo(new AttributesMessage(cap.getAttributes()), (EntityPlayerMP) event.getEntity());
                System.out.println("onEntityLoad(" + event.getEntity().getDisplayName() + ")");
            }

    , but I get cap == null. Where should I send my packet? Capability works fine on server side, I already used it.

  8. Create class for command:

    public class Command extends CommandBase {
        @Override
        public String getCommandName() {
            return "commandName";
        }
    
        @Override
        public String getCommandUsage(ICommandSender sender) {
            return "commandUsage";
        }
    
        @Override
        public void execute(MinecraftServer server, ICommandSender sender, String[] args) throws CommandException {
            //Do what you want
        }
    }
    

     

    Register in main mod file:

     

    @EventHandler
    public void serverStarting(FMLServerStartingEvent event) {
    event.registerServerCommand(new Command());
    }
    

  9. I decided to try making a coremod (if it is possible in 1.9.4), but I don't know how to make my IFMLLoadingPlugin launch. Has someone worked with them? I know this breaks compatibility with other mods, but I don't see any other way to completely remake vanilla combat system.

  10. I want to add some fields to EntityPlayer. What is the better way to do that? If I extend EntityPlayer, how can I replace it everywhere else? Are class transformers avaible in 1.9.4? I've tried replacing classes with MCP, but I couldn't compile it(it works fine in IDE). As I know, reflection can only change fields, but not to add. Please point me in right direction.

  11. I'm trying to load my custom item model (located at <resourcepack>/assets/tesitems/models/item/iron_sword.json), I am using resource pack for fast reloading, but it doesn't work. I don't see any exceptions, so I think model is getting loaded. Here is model code:

    {
        "parent": "tesitems:item/handheld",
        "textures": {
            "layer0": "tesitems:items/iron_sword"
        },
        "display": {
            "thirdperson": {
                "rotation": [ 0, 90, -35 ],
                "translation": [ 0, 1.25, -3.5 ],
                "scale": [ 0.85, 0.85, 0.85 ]
            },
            "firstperson": {
                "rotation": [ 0, -135, 25 ],
                "translation": [ 0, 4, 2 ],
                "scale": [ 1.7, 1.7, 1.7 ]
            }
        }
    }
    

    , handheld (in the same folder):

    {
        "parent": "builtin/generated",
        "display": {
            "thirdperson_righthand": {
                "rotation": [ 0, 90, -35 ],
                "translation": [ 0, 1.25, -3.5 ],
                "scale": [ 0.85, 0.85, 0.85 ]
            },
            "firstperson_righthand": {
                "rotation": [ 0, -135, 25 ],
                "translation": [ 0, 4, 2 ],
                "scale": [ 1.7, 1.7, 1.7 ]
            },
            "thirdperson_lefthand": {
                "rotation": [ 0, 90, -35 ],
                "translation": [ 0, 1.25, -3.5 ],
                "scale": [ 0.85, 0.85, 0.85 ]
            },
            "firstperson_lefthand": {
                "rotation": [ 0, -135, 25 ],
                "translation": [ 0, 4, 2 ],
                "scale": [ 1.7, 1.7, 1.7 ]
            }
        }
    }
    

    , registering:

        private static void registerWeapon(Weapon weapon, String name) {
            weapon.setRegistryName(name);
            weapon.setUnlocalizedName(name);
            GameRegistry.register(weapon);
        }
    

    , Weapon extends ItemSword. Texture is in <resourcepack>/assets/tesitems/textures/items/. What had I missed?

  12.  

      Reveal hidden contents

     

  13. I don't understand where I should register my messages. I want to send one message to server and then send another back to client in onMessage(). It modifies player player's ExtendedProperties(it saves on server, but in client it being registered every connect and don't sync with server), but my hanlder on client side doesn't work. On server side all works.

     

    Request message:

      Reveal hidden contents

     

     

    Here's server handler:

      Reveal hidden contents

     

     

    data message:

      Reveal hidden contents

     

     

    Client handler(it don't write log, so it doesn't work)

      Reveal hidden contents

     

     

    Registering:

      Reveal hidden contents

    I tried to move client handler registration to Init(), but this throws exception on server launch due to missing EntityClientPlayerMP class.

×
×
  • Create New...

Important Information

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