Jump to content

Recommended Posts

Posted (edited)

I'm trying to render a block's bounding box as a solid color cube that can be seen through other blocks. I've searched for a few hours for a method that is both up to date and working but have had no luck so far. I haven't worked with 3D rendering before, so I am trying to use this as a basis to get started, so please forgive me if I ask too many questions. If you are unsure what it is I am trying to accomplish, try googling "chest finder" and looking at the images. (P.S. No, I am not making another hacked client) I don't wish to be spoonfed code, but I need help getting pushed in the right direction. Cheers!

Edited by Crypnotic
Posted

You can render the outline in any of forge's rendering events. I would recommend RenderWorldLastEvent.

To make it render on top of everything just disable depth in the GlStateManager. Don't forget to re-enale it once you are done.

The TileEntityStructureRenderer can assist you with rendering the box itself - see how it is done there, in vanilla.

Once you piece it all together you can store the positions of the blocks you want to outline in any array and in the event iterate through that array, offset the gl matrix accordingly(again, look at how vanilla handles it, generic entity rendering is the example you need) and render your box. 

Posted
  On 4/30/2017 at 3:29 PM, V0idWa1k3r said:

You can render the outline in any of forge's rendering events. I would recommend RenderWorldLastEvent.

To make it render on top of everything just disable depth in the GlStateManager. Don't forget to re-enale it once you are done.

The TileEntityStructureRenderer can assist you with rendering the box itself - see how it is done there, in vanilla.

Once you piece it all together you can store the positions of the blocks you want to outline in any array and in the event iterate through that array, offset the gl matrix accordingly(again, look at how vanilla handles it, generic entity rendering is the example you need) and render your box. 

Expand  
2

I did, afaik, everything you explained. It's rendering lines now, but they're rather... weird. It should be outlining the Andesite block, but it definitely is not.

2017-04-30_11.21.05.png

Posted (edited)

You need to offset the vertexbuffer/gl matrix(whichever you are using) before rendering the lines at the desired position.

Think of it this way:

Every time MC renders the world it offsets everything based on the player's position.

The RenderWorldLast event is fired when those offsets are applied.

If you want your outline to be stationary and not follow the player you need to 'negate' them by offsetting your rendering back to where it was(0,0,0) and then render at the desired position(x,y,z).

So your rendering would then look like

calculate offsets

offset(-offsets)

render boxes loop

offset(offsets).

 

As I usually do, here is a simple example:

 

// your positions. You might want to shift them a bit too
int sX = yourX;
int sY = yourY;
int sZ = yourZ;
// Usually the player
Entity entity = Minecraft.getMinecraft().getRenderViewEntity();
//Interpolating everything back to 0,0,0. These are transforms you can find at RenderEntity class
double d0 = entity.lastTickPosX + (entity.posX - entity.lastTickPosX) * (double)evt.getPartialTicks();
double d1 = entity.lastTickPosY + (entity.posY - entity.lastTickPosY) * (double)evt.getPartialTicks();
double d2 = entity.lastTickPosZ + (entity.posZ - entity.lastTickPosZ) * (double)evt.getPartialTicks();
//Apply 0-our transforms to set everything back to 0,0,0
Tessellator.getInstance().getBuffer().setTranslation(-d0, -d1, -d2);
//Your render function which renders boxes at a desired position. In this example I just copy-pasted the one on TileEntityStructureRenderer
renderBox(Tessellator.getInstance(), Tessellator.getInstance().getBuffer(), sX, sY, sZ, sX + 1, sY + 1, sZ + 1);
//When you are done rendering all your boxes reset the offsets. We do not want everything that renders next to still be at 0,0,0 :)
Tessellator.getInstance().getBuffer().setTranslation(0, 0, 0);

 

note that if you want to outline more than 1 box like this you would need to apply player offsets first, then render your boxes in a loop, then reset the offsets.

 

This is a result I get with my example:

 

2017-04-30_19.40.52.png

Edited by V0idWa1k3r
  • Like 1
  • 3 years later...
Posted

@V0idWa1k3r Hi. I know it's been a good few years since this thread was active but I can't seem to get this code to work. In the renderBox function I found, it takes 3 extra int arguments. I looked at the code and those seem to be color arguments(r, g, b). However, the color only shows up when I'm looking in the positive x, positive z direction. Otherwise, the outline is just black. Do you have any idea why this is happening?

Guest
This topic is now closed to further replies.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Looking for a fantastic way to save big on your next Temu order? The acr639380 Temu coupon code is exactly what you need! Whether you're shopping from the USA, Canada, or Europe, this code offers unbeatable savings — up to $100 off your next purchase. If you’ve been eyeing something on Temu, now’s the perfect time to grab it with this exclusive offer!  What Is the Coupon Code for Temu $100 Off? Both new and existing customers can benefit from this incredible deal when shopping on the Temu app or website. Just use code acr639380 at checkout to unlock your $100 discount. Here’s what it offers: acr639380: Flat $100 off your next purchase.   acr639380: Receive a $100 coupon pack for multiple uses.   acr639380: New customers get an exclusive $100 off their first purchase.   acr639380: Existing customers can claim an extra $100 off future purchases.   acr639380: Valid in the USA, Canada, and across Europe.    Temu $100 Off Coupon for New Users in 2025 If you're new to Temu, this coupon code is perfect for you. It’s your chance to enjoy huge savings right from your very first order. Here’s what new customers get with acr639380: Flat $100 discount on your first order.   Access to a $100 coupon bundle for multiple purchases.   Stack up to $100 in discounts across various orders.   Free shipping to 68 countries, including the USA, Canada, and UK.   An additional 30% off any item on your first purchase.    How to Redeem the Temu $100 Off Coupon (For New Users) It’s simple! Follow these quick steps: Visit the Temu website or download the Temu app.   Create a new account.   Add your favorite products to your cart.   At checkout, enter the Temu $100 off coupon code: acr639380.   Apply the code, enjoy the savings, and complete your purchase!    Temu Coupon $100 Off for Existing Customers Good news — existing customers aren’t left out! Temu rewards loyal shoppers too. Perks for returning users with acr639380: Get an extra $100 off your next order.   A $100 coupon bundle for multiple future purchases.   Free gifts with express shipping (USA & Canada).   An additional 30% off on any purchase.   Free shipping to 68 countries globally.    How to Use Temu $100 Off Coupon (For Existing Customers) To redeem: Log into your Temu account.   Add your items to the cart.   At checkout, enter acr639380.   Apply the code and enjoy your savings!    Temu $100 Off Coupon for First Orders Your first Temu order just got better with acr639380: $100 off your initial purchase.   Access to exclusive first-time user discounts.   Up to $100 in savings on multiple items.   Free shipping to 68 countries.   Extra 30% off your first order.    Where to Find the Latest Temu $100 Off Coupon Looking for the newest and verified Temu coupon codes? Here’s where you can find them: Temu’s newsletter: Subscribe for email-exclusive deals.   Official Temu social media pages.   Trusted coupon websites.   Community threads like Temu coupon $100 off Reddit where users share legit codes.    Is the Temu $100 Off Coupon Legit? Absolutely — the acr639380 coupon is verified, tested, and 100% legit. It works for both new and existing customers worldwide, with no expiration date. Use it with confidence!  How Does the Temu $100 Off Coupon Work? Simple — enter acr639380 at checkout, and the discount is applied automatically. Whether it’s your first order or a repeat purchase, you’ll enjoy direct savings.  How to Earn Temu $100 Coupons as a New Customer New customers can score extra Temu savings by: Signing up for a new Temu account.   Making your first purchase using acr639380.   Watching for special promotions and email deals.   Checking Temu’s homepage for limited-time coupon bundles.    Advantages of Using the Temu $100 Off Coupon Here’s what makes this coupon so appealing: Flat $100 discount on first-time and future orders.   $100 coupon bundle for multiple uses.   Up to 90% off popular products.   Extra 30% off for existing customers.   Free gifts for new users.   Free shipping to 68 countries, including the USA, UK, and Canada.    Temu $100 Discount Code + Free Gift for Everyone Both new and existing customers get added perks: $100 off your first order.   An extra 30% off any product.   Free gifts on first purchases.   Up to 90% off select deals on the Temu app.   Free shipping to 68 countries.    Pros and Cons of Using the Temu Coupon Code $100 Off in 2025 Pros: Massive $100 discount.   Up to 90% off on select items.   Free global shipping to 68 countries.   30% off bonus for existing users.   Verified, legit, and no expiration date.   Cons: Free shipping limited to select countries.   Some exclusions may apply to already discounted items.    Terms and Conditions (2025) No expiration date.   Valid in 68 countries.   No minimum spend required.   Applicable for multiple purchases.   Some product exclusions may apply.    Final Note: Don’t Miss Out on the $100 Temu Coupon If you’re shopping on Temu, don’t leave money on the table. Use coupon code acr639380 to unlock $100 off, free shipping, extra discounts, and exclusive perks. It’s one of the easiest ways to make your shopping spree even more rewarding.  FAQs: Temu $100 Off Coupon Q: Is the $100 off coupon available for both new and existing customers? A: Yes! Both can use acr639380 for amazing discounts. Q: How do I redeem the Temu $100 coupon? A: Enter acr639380 at checkout to instantly save $100. Q: Does the Temu coupon expire? A: No — this coupon currently has no expiration date. Q: Can the coupon be used for multiple purchases? A: Yes, the $100 off coupon and bundle can apply to multiple orders. Q: Does it work for international users? A: Absolutely! It’s valid in 68 countries, including the USA, Canada, and Europe.
    • Add the full crash-report or latest.log (logs-folder) with sites like https://mclo.gs/ and paste the link to it here
    • Hey everyone! We're working on a new Fabric mod called RodinCraft, it uses our in-house AI to generate Minecraft structures from simple text prompts or images. For example, you can type something like "floating castle" or upload a picture of a house, and the mod will build a Minecraft version of it in-game. It’s powered by our own 3D AI system, Rodin Gen-1.5. Video demo: Watch it on Twitter (https://x.com/DeemosTech/status/1917660914503016839) We’re still in early development, so we’d love your feedback: 1. Would you use something like this? 2. What features would make it better or more useful? 3. Any thoughts or concerns?   Thanks! — RodinCraft Team
    • Um i was installing minecraft and it said i needed neoforge 21.1.186 but i don't know how to install it.
  • Topics

×
×
  • Create New...

Important Information

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