Jump to content

PixelsNeverDie

Members
  • Posts

    25
  • Joined

  • Last visited

Converted

  • Gender
    Undisclosed
  • Personal Text
    I am new!

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

PixelsNeverDie's Achievements

Tree Puncher

Tree Puncher (2/8)

0

Reputation

  1. I want to render a model between two blocks, in an animation.
  2. Is there a way for me to render JSON Models anywhere in the world from an IBakedModel using a method similar to the renderAll method the BaseModel class offers? I'd like to render the IBakedModel wherever I wish, independent of World and a BlockPos.
  3. are there any negative side effects of using ATs?
  4. Ugh. I can't even. Seriously - what's so bad about them? We also use Sponge Mixins instead of direct ASM transformers, are we the devil himself now?
  5. I have changed my plans to support .obj and .tcn files using the old AdvancedModelLoader. No clue how to render .b3d either.
  6. Still working on the Replay Mod.
  7. Please no! Kill it with fire! Rest assured that I have an accessTransformers.cfg file which is over 100 lines long for the Replay Mod.
  8. Thanks for the response. I'll use Access Transformers, but I got the idea. Cheers!
  9. Do you need any more information to help me? Basically I just need to know how to make a ResourceLocation to point to an actual File on the User's File System.
  10. Hello, is it possible to render a 3D Object in the World which is loaded from a .b3d File which is not in the Mod's Assets, but dynamically loaded from the User's Hard Drive? The B3DLoader class takes a ResourceLocation in its loadModel Method, how can I either create a ResourceLocation which points to a File or avoid using a ResourceLocation there? Thanks in advance, CrushedPixel
  11. Do you know the Replay Mod? https://replaymod.com We're trying to expand it to support Mod's Packets as well.
  12. Hello fellow Modders, for my current Project I need to store all IMessages the Client sends to the Server (and the other way around) in a File and load them later. Therefore, I'm hooking into the FML Channel using the following code: NetworkManager nm = event.manager; Channel channel = nm.channel(); for(String channelName : NetworkRegistry.INSTANCE.channelNamesFor(Side.CLIENT)) { FMLEmbeddedChannel embeddedChannel = NetworkRegistry.INSTANCE.getChannel(channelName, Side.CLIENT); embeddedChannel.pipeline().addFirst(new IMessageInboundListener()); } for(String channelName : NetworkRegistry.INSTANCE.channelNamesFor(Side.SERVER)) { FMLEmbeddedChannel embeddedChannel = NetworkRegistry.INSTANCE.getChannel(channelName, Side.SERVER); embeddedChannel.pipeline().addFirst(new IMessageOutboundListener()); } The IMessageInboundListener looks the following way: public class IMessageInboundListener extends ChannelInboundHandlerAdapter { @Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { int somehting = 0; if(msg instanceof FMLProxyPacket) { FMLProxyPacket proxyPacket = (FMLProxyPacket)msg; String channelName = proxyPacket.channel(); Side target = proxyPacket.getTarget(); ByteBuf buf = proxyPacket.payload(); byte[] bytes = new byte[buf.readableBytes()]; buf.readBytes(bytes); buf.readerIndex(0); //some code to store the Packet is here } super.channelRead(ctx, msg); } } Now, my question is - how do I re-send these Packets to the Server? How can I reconstruct the Packet from the byte array, channel name and target Side and where do I need to inject it? Thanks in advance, Pixel
  13. No problem, didn't take too long to figure that out. I've decided to rename the interface's method now anyway, because of the possibility of other "native" Gui Elements having a method with the setEnabled(Z)V signature, and in that case, it wouldn't work again.
  14. Thanks, this worked, but your example was wrong - you need the Method's return type in the signature. What worked for me: srgExtra "MD: my/mod/my/packages/GuiElement/setEnabled (Z)V my/mod/my/packages/GuiElement/func_146184_c (Z)V"
  15. Forge Version: 11.14.3.1487 Basic Setup: I've created a Helper Interface for Gui Elements called GuiElement, so my custom Gui Elements provide some basic methods like isHovering(), mouseClick() or setEnabled(). In my case I created a GuiAdvancedTextField, which extends GuiTextField and implements GuiElement. To satisfy the interface, I override void setEnabled(boolean enabled); When calling this Method while in the Development Environment, everything works fine, but after compiling the following error occurs: java.lang.AbstractMethodError: somepackets.GuiAdvancedTextField.setEnabled(Z)V As far as I understand, this is caused by setEnabled both overriding GuiTextField's setEnabled method with the same signature and implementing GuiElement's setEnabled method where GuiTextField doesn't implement GuiElement. Renaming the interface's setEnabled method to setElementEnabled was a functioning workaround. Thanks in advance for the fix, Pixel
×
×
  • Create New...

Important Information

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