Jump to content

Recommended Posts

Posted

This would not be to laggy as it would only be a few certain blocks that are I assume keeping a multiblock from constructing? Or something similar. You should make a static Map of BlockPos linked to the BlockPos of your TileEntity then after a certain amount of time has passed remove the ones linked to your TileEntites BlockPos. The rendering should then be done in the Event mentioned prior. Drawing as mentioned prior as well.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Posted

Is there any good tutorial for drawing lines on the screen in MC 1.10 with Tessellator?

Which args should i use in the Vertexbuffer.begin(???, ???) for just drawing (red) lines?

Posted

Largely speaking, you need to look up how to use OpenGL / GL11.  VertexBuffer's second paramter is the same one passed to GL11.Begin() (which typically you want to use GL11.GL_QUADS).  Last time I tried using lines I had trouble.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted
  On 9/1/2016 at 7:15 AM, Animefan8888 said:

WorldRenderer has become VertexBuffer and instead of addVertex it is the way diesieben said. You also must call vb.startDrawing(glnum, DefaultVertexFormats...) mess around with that last var because i do not know what it would be in this case.

  Quote

And which one exactly?

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Posted

Hopefully the last Question in this Topic:

Actually I get almost everything running, just the lines act strange depending on the direktion the player looking.

 

Thats not what I want

t66fppyw.png

This is what I want

 

safee8ny.png

 

Does anybody know how to fix this?

Posted
  On 9/6/2016 at 9:10 AM, Kaneka said:

Hopefully the last Question in this Topic:

Actually I get almost everything running, just the lines act strange depending on the direktion the player looking.

 

Thats not what I want

t66fppyw.png

This is what I want

 

safee8ny.png

 

Does anybody know how to fix this?

Could you post your current code?

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Posted
public class MultiAssemblerTESR extends TileEntitySpecialRenderer<TileEntityMultiAssembler>
{
@Override
public void renderTileEntityAt(TileEntityMultiAssembler te, double x, double y, double z, float partialTicks, int destroyStage) 
{

        int teposX = te.getPos().getX();
        int teposY = te.getPos().getY();
        int teposZ = te.getPos().getZ();
        Map list = te.getBlocksWithMarkersList();
	Entity entity = this.rendererDispatcher.entity;
	double distance = te.getDistanceSq(entity.posX, entity.posY, entity.posZ);
    if (distance < 100.0 && !list.isEmpty()) 
    {
    	
    	 Iterator iterator = list.entrySet().iterator();
         Entry entry;
         do
         {
             entry = (Entry)iterator.next();
             BlockPos actualpos = (BlockPos) entry.getKey();
             drawCubeWithCrossesAtPos(x, y, z, actualpos.getX() - teposX, actualpos.getY() - teposY, actualpos.getZ() - teposZ);
             
         }
         while (iterator.hasNext());
	}

}

public static void drawCubeWithCrossesAtPos(double x, double y, double z, int addx, int addy, int addz)
{
	GL11.glPushMatrix();
	GlStateManager.color(1F, 0F, 0F);
	GlStateManager.glLineWidth(10F);
	GL11.glTranslated(x + addx, y + addy, z + addz);
	 Tessellator tessellator = Tessellator.getInstance();
	 VertexBuffer worldRenderer = tessellator.getBuffer();
	 int rendertype = GL11.GL_LINE_STRIP;
	//CrossNorth
		worldRenderer.begin(rendertype, DefaultVertexFormats.POSITION);
		worldRenderer.pos(0, 0, -0.001).endVertex();
		worldRenderer.pos(1, 1, -0.001).endVertex();
		worldRenderer.pos(1, 0, -0.001).endVertex();
		worldRenderer.pos(0, 1, -0.001).endVertex();
		tessellator.draw();
		//CrossWest
		worldRenderer.begin(rendertype, DefaultVertexFormats.POSITION);
		worldRenderer.pos(-0.001, 0, 1).endVertex();
		worldRenderer.pos(-0.001, 1, 0).endVertex();
		worldRenderer.pos(-0.001, 0, 0).endVertex();
		worldRenderer.pos(-0.001, 1, 1).endVertex();
		tessellator.draw();
		//CrossSouth
		worldRenderer.begin(rendertype, DefaultVertexFormats.POSITION);
		worldRenderer.pos(1, 0, 1.001).endVertex();
		worldRenderer.pos(0, 1, 1.001).endVertex();
		worldRenderer.pos(0, 0, 1.001).endVertex();
		worldRenderer.pos(1, 1, 1.001).endVertex();
		tessellator.draw();
		//CrossEast
		worldRenderer.begin(rendertype, DefaultVertexFormats.POSITION);
		worldRenderer.pos(1.001, 0, 0).endVertex();
		worldRenderer.pos(1.001, 1, 1).endVertex();
		worldRenderer.pos(1.001, 0, 1).endVertex();
		worldRenderer.pos(1.001, 1, 0).endVertex();
		tessellator.draw();
		//CrossUp
		worldRenderer.begin(rendertype, DefaultVertexFormats.POSITION);
		worldRenderer.pos(1, 1.001, 1).endVertex();
		worldRenderer.pos(0, 1.001, 0).endVertex();
		worldRenderer.pos(0, 1.001, 1).endVertex();
		worldRenderer.pos(1, 1.001, 0).endVertex();
		tessellator.draw();
		//CrossDown
		worldRenderer.begin(rendertype, DefaultVertexFormats.POSITION);
		worldRenderer.pos(1, -0.001, 1).endVertex();
		worldRenderer.pos(0, -0.001, 0).endVertex();
		worldRenderer.pos(0, -0.001, 1).endVertex();
		worldRenderer.pos(1, -0.001, 0).endVertex();
		tessellator.draw();
		//RestUp
		worldRenderer.begin(rendertype, DefaultVertexFormats.POSITION);
		worldRenderer.pos(1, 1.001, 1).endVertex();
		worldRenderer.pos(1, 1.001, 0).endVertex();
		worldRenderer.pos(0, 1.001, 0).endVertex();
		worldRenderer.pos(0, 1.001, 1).endVertex();
		worldRenderer.pos(1, 1.001, 1).endVertex();
		tessellator.draw();
		//RestDown
		worldRenderer.begin(rendertype, DefaultVertexFormats.POSITION);
		worldRenderer.pos(1, -0.001, 1).endVertex();
		worldRenderer.pos(1, -0.001, 0).endVertex();
		worldRenderer.pos(0, -0.001, 0).endVertex();
		worldRenderer.pos(0, -0.001, 1).endVertex();
		worldRenderer.pos(1, -0.001, 1).endVertex();
		tessellator.draw();
		GL11.glPopMatrix();

}
}

Posted

Does this actually give you the correct position?

actualpos.getX() - teposX, actualpos.getY() - teposY, actualpos.getZ() - teposZ

Why not just pass the BlockPos#getX() ect?

 

*Edit Also only call tessellator.draw() once at the end.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Posted
  On 9/6/2016 at 10:38 AM, Kaneka said:

Because I render more than 1 Block and I need to set their position referenced to the TE

te.getPos().getX() == x, te.getPos().getY() == y, and te.getPos().getZ() == z.

If so you would no do this

 

GL11.glTranslated(x + addx, y + addy, z + addz);

 

Just some math

x + (actualpos.getX() - teposX), y + (actualpos.getY() - teposY), and z + (actualpos.getZ() - teposZ) should = actualpos.getX(), actualpos.getY(), and actualpos.getZ()

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Posted
  On 9/6/2016 at 10:52 AM, Kaneka said:

ok, just some unnecessary math, but this would fix my rendering problem

I don't think the math would, but did you try my second suggestion. But amended to also only calling begin once.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Posted

I think, but I am not sure, that you are running into Z-Fighting: the lines you are drawing occur in the same z-depth (distance from the camera) as the objects you're drawing them "over" so the GPU can't correctly sort their order.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

Rather than drawing exactly at the coordinates (e.g.

(1, 1, 1

) draw slightly offset (e.g.

1.001, 1.001, 1.001

).  You'll want to draw larger than the block and you don't care if that direction is towards or away from the camera (if it's away, then it's behind, and won't draw anyway).

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted
  On 9/7/2016 at 7:41 AM, Kaneka said:

its my own block, it is a TESR and it drow over all type of blocks

I'm not sure you understood what Draco was saying.

// Instead of this
		worldRenderer.pos(0, 0, -0.001).endVertex();
		worldRenderer.pos(1, 1, -0.001).endVertex();
		worldRenderer.pos(1, 0, -0.001).endVertex();
		worldRenderer.pos(0, 1, -0.001).endVertex();
// Do this
		worldRenderer.pos(-0.001, -0.001, -0.001).endVertex();
		worldRenderer.pos(1.001, 1.001, -0.001).endVertex();
		worldRenderer.pos(1.001, -0.001, -0.001).endVertex();
		worldRenderer.pos(-0.001, 1.001, -0.001).endVertex();

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I've been attempting to trouble shoot performance issues with this version of forge - I've been getting 10 - 14 FPS on a fresh install while the same settings on vanilla will net me ~ 250 FPS  I've tried setting ram to 2, 4, 6, 8, 16 GB, making sure that the GPU is being used - although i cant confirm other than the F3 screen - I've cleared out my .Minecraft folder and done a fresh install of forge multiple times, I even reinstalled Java 17 - from what i read this is the recommended for this version of MC, - Graphics drivers are fully up to date and I've tried it on both studio and game ready drivers. I have a spark report but I dont know what to do with it https://spark.lucko.me/BrrJ5vzX6k Would love some help for this as Ive spent three days on this
    • One fateful day, my life took an unexpected turn when I received a phone call that would change everything. The voice on the other end claimed to be from my bank, delivering alarming news: my account had been frozen due to suspicious activity. Panic surged through me as I listened, my heart racing at the thought of losing my hard-earned savings. At that moment, I had about 130,000 USD in my bank, equivalent to around 2 BTC. The caller spoke with such authority and urgency that I felt compelled to act immediately. They insisted that the only way to protect my funds was to transfer Bitcoin BTC to them for "safekeeping. In my fear and confusion, I believed I was making a wise decision to secure my finances. Without fully grasping the implications, I complied and transferred the equivalent of my savings in Bitcoin, convinced I was safeguarding my money. It wasn’t until later that the reality of my situation hit me like a ton of bricks. I had been duped, and the weight of my mistake was unbearable. Shame and disbelief washed over me as I realized how easily I had been manipulated. How could I have let this happen? The feeling of vulnerability was overwhelming, and I was left grappling with the consequences of my actions. I learned about a recovery expert named RAPID DIGITAL RECOVERY. Desperate to reclaim what I had lost, I reached out for help. RAPID DIGITAL RECOVERY was knowledgeable and reassuring, explaining that there was a chance to trace the Bitcoin I had sent. With their expertise, they tracked the stolen funds to a peer-to-peer (P2P) exchanger based in the United Kingdom. This revelation sparked a glimmer of hope within me, a sense that perhaps justice could be served. RAPID DIGITAL RECOVERY collaborated with Action Fraud, the UK's national reporting center for fraud and cybercrime, to take decisive action against the scammers. Knowing that law enforcement was involved provided me with a sense of relief. The thought that the culprits behind my suffering could be brought to justice was comforting. In an incredible turn of events, RAPID DIGITAL RECOVERY successfully recovered all my funds, restoring my faith in the possibility of justice and recovery.
    • My game crashed in 1.12.2 here is the crash log https://pastebin.com/6MYu4mGy
    • I created a Modpack Forge in 1.20.1 for my friend and I. There are 135 mods including "Essential". I was able to play an 8 hour session without problem but when I relaunch my world, I crashed when I opened the menu of the game "ESC" or after about 15 minutes of session. I can't find the source of the problem. Latest.log and Debug.log : https://paste.ee/p/B0npvlRw
    • Hello! Faced with the same problem. Can you please describe in more detail how you rewrote the toNetwork and fromNetwork methods?
  • Topics

×
×
  • Create New...

Important Information

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