MCenderdragon
Forge Modder-
Posts
130 -
Joined
-
Last visited
-
Days Won
1
Everything posted by MCenderdragon
-
This is a wide guess but have you tried to update you grafic drivers ?
-
EntityLiving and EntityZombie
-
I have an 3-d-Array of IblockStates and using renderBlock to rendem them. (this works fine) BlockRendererDispatcher.renderBlock(IBlockState state, BlockPos pos, IBlockAccess blockAccess, VertexBuffer worldRendererIn) Everything is correctly in the VertexBuffer I give to this methode and I can render this VertexBuffer using draw. (This is the code inside the Tesselator.draw() methode) WorldVertexBufferUploader.draw(VertexBuffer vertexBufferIn) But calling everytime renderBlock is slow and the blocks and the data doesnt change so I try to keep the data inside the VertexBuffer and just render them again, but now the issue happens. The VertexData is stored inside a ByteBuffer you can get them via getByteBuffer() inside VertexData. VertexData also has the methode addVertexData(int[] vertexData), to add alot of data in one go. With some Buffer magic I convert the ByteBuffer to a IntBuffer and add the data to a new VertexBuffer (the one that is currently inuse from the Tesselator). But somehow the face and vertex amount is correct but nothing is rendered. But rendering the "old" VertexBuffer works. Has anybody any advise were a possible bug is? Conversation Code: private static final WorldVertexBufferUploader vboUploader = new WorldVertexBufferUploader(); private static void rotateStaticData(VertexBuffer target, VertexBuffer data, float[] rotation, float[] translation) { if(target.getVertexFormat() != data.getVertexFormat()) { return; //this should not happen! } float[] rot = new float[6]; rot[0] = (float) Math.sin(rotation[0]); rot[1] = (float) Math.sin(rotation[1]); rot[2] = (float) Math.sin(rotation[2]); rot[3] = (float) Math.cos(rotation[0]); rot[4] = (float) Math.cos(rotation[1]); rot[5] = (float) Math.cos(rotation[2]); if(data.getVertexFormat() == DefaultVertexFormats.BLOCK) { //vboUploader.draw(data); VertexFormat format = data.getVertexFormat(); ByteBuffer read = data.getByteBuffer().asReadOnlyBuffer(); read.position(0); ByteBuffer write = ByteBuffer.allocate(data.getVertexCount() * format.getNextOffset()); //target.setTranslation(translation[0], translation[1], translation[2]); IntBuffer intBuf = write.asIntBuffer(); intBuf.position(0); int[] vertexData = new int[intBuf.limit()]; intBuf.get(vertexData); target.addVertexData(vertexData);//TODO: this still is not rendering //vboUploader.draw(data); is this is used in renders Correctly return; } }
-
I whould recommend you to also you GZIP input/outputstream. In can decrease the packet size dramaticaly, Minecrft already has the "CompressedStreamTools" were it can send NBT's in an compressed form.
-
Does that mean if I stop the server to send unload packages the client will keep ALL chunks? Well I think the chunk traking will be on the client side, if there are tomany empty chunks, then I will send a custom package to the server, I hope this will not get to difficult.
-
Is it possible to get chunks from the server out of the view distance from the client? And render them. I whoud like to make some kind of camera, but on a server you will get quickly to the chunk borders. And how do I do that, I mean the client is deleting unused chunks, where is he doing that (can I somehow foce him not doing that) And is it possible to send the chunk data from the server to the client via vanilla packages, will that work?
-
Why are you registering the Message Handler for server adn clietn, only the client needs it? And the EventPlayerTick get only registered on the CLient but this is needed on the server because you send the Message from the Server to the CLient.
-
Build fails becasue makeStart cant download libs
MCenderdragon replied to MCenderdragon's topic in ForgeGradle
Okay Today it seems to work, maybe this was caused by the massive DDos -
I tried to build my mod but it fails at "makeStart", because it cant get some dependencies. This happens only on my linux build server, but not on my windows home machine. Here is the log: http://pastebin.com/35SJcz4t I have not added any dependencies so this is just base gradle but if you want I provide the gradle files. EDIT: I can still start client and server, there makeSTart is SKIPPED, but at buidling it fails
-
Ok thanks. I found this: http://support.feed-the-beast.com/t/java-lang-noclassdeffounderror/7233/2. It seems like it is a well known problem.
-
In version 1.8 - 1.10.2 it crashes if I call Class.getResourceAsStream(...); The crash: http://pastebin.com/34kwhKKh Is their a workaround or can someone explain what the FTB-Launcher tries to do their?
-
there is a 1.8 branch alredy and its forking fine. (Also for 1.9 and 1.10)
-
[1.10.2] What's the correct way to modify the player model?
MCenderdragon replied to TPD's topic in Modder Support
the Pre evnt, is is called before or after the rotation?. If its called before, you have to somehow prevent setRotationAngles to override them -
Look at the log, I am pretty sure there is somewhere an exception, also wich constructor do you use and how looks you guiHandler ?
-
[1.10.2] What's the correct way to modify the player model?
MCenderdragon replied to TPD's topic in Modder Support
this whould result in rendering thr RightArm twice. //... pre event //rX, rY, rZ need to be global rX = model.bipedRightArm.roationX; rY = model.bipedRightArm.roationY; rZ = model.bipedRightArm.roationZ; model.bipedRightArm.roationX=2; model.bipedRightArm.roationY=3; model.bipedRightArm.roationZ=4; //..... //... post event model.bipedRightArm.roationX=rX; model.bipedRightArm.roationY=rY; model.bipedRightArm.roationZ=rZ; -
[1.10.2] What's the correct way to modify the player model?
MCenderdragon replied to TPD's topic in Modder Support
have you ever useg OpenGL or lwjgl ? Well search for explanation of Gl11.glRotate Gl11.glScale and Fl11.glTranslate. With these methods you can alter rendered things. There is an event with pre and post phase, PlayerRenderEvent or something like that. in the prer you should acces the player model, inside the PlayerRenderer, and edit it. It should be an instance of ModelBiped. If there are some weird bugs with other player/creatures use the post methode to reverse you changes. between pre and post the player get rendered, so in the post phase you cant change the model. -
[1.10.2] What is ISound and how is it implemented?
MCenderdragon replied to FireController1847's topic in Modder Support
are you using eclipse ? Just search for ISound -
Custom tools crash minecraft, post init and init help needed
MCenderdragon replied to hhggtg3279's topic in Modder Support
add to the super(mat) two flaots (hardness and speed ? ) -
[1.10.2] What is ISound and how is it implemented?
MCenderdragon replied to FireController1847's topic in Modder Support
its an normal interface. so just create a new class impleenting ISound. the methodas are self explaning, if you dont know what a specific method does post its name. And we can help you. -
by calling add. This is a normal Collection
-
public void displayAllReleventItems(List items) { super.displayAllRelevantItems(items); Collections.sort(items, tabSorter); tabSorter = Ordering.explicit(order).onResultOf(new Function<ItemStack, Item>() { @Override public Item apply(ItemStack input) { return input.getItem(); } }); } arent you already sorting them ?
-
What is iun your IParticleManager.java in line 22 ?