Jump to content

Recommended Posts

Posted

So I'd like to make the chat have a death message whenever a (non-named) mob was killed by a player. This is easy for melee/ranged attack kills (I just used LivingDeathEvent), but how would I get if a mob was recently hit by a player before death (i.e. if it is thrown off a cliff or into lava)? For example, if I hit the mob and then it falls into lava, I want a death message spawned. However if it just walks into lava on its own there should be no message.

 

The value in the MC source code that keeps track of this so it can spawn XP orbs and stuff is protected so I can't get to it...

 

Is there a way to get a boolean that tells you this?

Posted

Everything really depends on how much data on death you need.

 

You are quite outdated (WHY?!?!?) so I don't remember if MC had CombatTracker (good one) at that time, and even if - it might be poorer than it is now.

 

Anyway - are you referring to field that holds last attacker entity (which might be player)? If there is no getter then you have to either update or use java Reflection (google).

 

Is there a way to get a boolean that tells you this?

 

What boolean?

 

As to other ways - whenever data vanilla gives you is not sufficient you use IExtendedEntityProperties (now 1.8.9+ @Capability) to store more data. That data can be manipulated from anywhere really (so e.g you can track such actions yourself from e.g LivingHurtEvent). Currently some of such tracking is in mentioned CombatTracker, which idk if existed back then (cmon, it's been 2 years, update).

1.7.10 is no longer supported by forge, you are on your own.

Posted

Everything really depends on how much data on death you need.

 

You are quite outdated (WHY?!?!?) so I don't remember if MC had CombatTracker (good one) at that time, and even if - it might be poorer than it is now.

 

Anyway - are you referring to field that holds last attacker entity (which might be player)? If there is no getter then you have to either update or use java Reflection (google).

 

Is there a way to get a boolean that tells you this?

 

What boolean?

 

As to other ways - whenever data vanilla gives you is not sufficient you use IExtendedEntityProperties (now 1.8.9+ @Capability) to store more data. That data can be manipulated from anywhere really (so e.g you can track such actions yourself from e.g LivingHurtEvent). Currently some of such tracking is in mentioned CombatTracker, which idk if existed back then (cmon, it's been 2 years, update).

 

I have to start at 1.7.10, mostly because that's the version significant numbers of the mods are. Maybe later I will update to 1.9 or so (may just skip 1.8.9 entirely).

Posted

Oh yeah, I found CombatTracker in 1.7.10 and got it to give me a death message, but the thing is I want to use my own custom (random from a selection in a config, the config part is done already) death messages, separate from the original ones.

Posted

I have to start at 1.7.10, mostly because that's the version significant numbers of the mods are.

 

1. You don't HAVE TO.

2. If you are implying that 1.9+ (or even 1.8+ for that matter) has no mod base you are simply wrong. Most respectable mods are updated.

3. 1.7.10 is so old that you will get significantly less support here than for recent version.

4. You are making it difficult for yourself (1.7.10 is much more messed up than 1.8.9+).

5. You are missing on a LOT of new features/hooks (seriously, a lot), have fun making sneaky hacks.

 

Maybe later I will update to 1.9 or so (may just skip 1.8.9 entirely).

 

Currently writing anything for 1.7.10 can be called waste of time. Why?

1.7.10 and 1.9+ are so much different (threads, registry, blocks/items, rendering, models, tons of changes like two hands, class and mehtod names etc.) that updating in means of "fixing things" is close to not possible. You will basically have to relearn quite big chunk of API and vanilla systems and then rewrite mod from scratch. On top of that - anything you write regarding rendering will be 100% useless, because of new models/rendering.

 

"I won't update my mod because others haven't updated theirs yet" is alredy bad. "I will write new outdated mod because others haven't updated" is even worse. Seriously, don't be that guy. Waste of efforts and just bad approach.

 

Oh yeah, I found CombatTracker in 1.7.10 and got it to give me a death message, but the thing is I want to use my own custom (random from a selection in a config, the config part is done already) death messages, separate from the original ones.

 

I don't think there is anything (server-side) that would allow catching message to be sent. You can manipulate client received (pre-chat-printing), client to-be-sent and server received, but not server to-be-sent. Unless you would hook into packet pipeline (basically override network pipeline of vanilla).

 

EDIT

 

I'd look for a way to cancel sending death message (there is such thing, idk where tho, maybe even in event). And then send your own from death event (basing off CombatTracker).

1.7.10 is no longer supported by forge, you are on your own.

Posted

Okay, I understand what you mean now. Gonna try it out...

 

A significant portion of the mods I play (which are still being updated) haven't yet updated to 1.8.9+, though some of them have said they will update soon. I do want them to update eventually but seeing as my entire playstyle revolves around mods like those I'm sticking with 1.7.10. TBH this mod is more of a personal thing for my own experience that I may not even plan to distribute.

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

    • Reach Out To Rapid Digital: What sapp Info: +1 41 4 80 7 14 85 Email INFO: rap iddi gita lrecov ery @ exe cs. com Hello, my name is Jayson, and I’m 35 years old from the United Kingdom. My family and I recently endured an incredibly challenging experience that I wouldn’t wish on anyone. We became victims of a cryptocurrency investment fraud scheme that saw us lose a staggering $807,000 in USDT and Bitcoins. The fraudsters had created a convincing facade, and we were lured into investing, only to discover later that the platform was a complete scam. We were left devastated, not just financially, but emotionally, as we had trusted these people and believed in the legitimacy of the investment. After the initial shock wore off, we desperately searched for ways to recover the lost funds. It seemed like an impossible task, and we felt as though there was no hope. That’s when, by sheer luck, we stumbled across a post about Rapid Digital Recovery, a cryptocurrency and funds recovery organization with a proven track record in cybersecurity and fraud recovery. We decided to reach out to them, and from the first interaction, we were impressed with their professionalism and transparency. They explained the recovery process in detail and reassured us that they had the skills and expertise to track down the perpetrators and recover our funds. This gave us a renewed sense of hope, something we hadn’t felt in months. What truly stood out during our experience with Rapid Digital Recovery was their dedication to the recovery process. The team went above and beyond, using sophisticated tracking tools and cyber forensics to gather critical information. Within a matter of weeks, they had successfully located the funds and traced the scam back to the fraudsters responsible. They worked with the authorities to ensure the criminals were held accountable for their actions. To our relief, the team at Rapid Digital Recovery was able to recover every single penny we had lost. The funds were returned in full, and the sense of closure we felt was invaluable. We couldn’t have imagined such a positive outcome in the early stages of our recovery journey, and we are deeply grateful for the work they did. If you ever find yourself in a similar situation, I highly recommend contacting Rapid Digital Recovery. Their expertise, transparency, and dedication to their clients make them the go-to choice for anyone seeking to recover lost cryptocurrency or funds. They truly gave us back our financial future.  
    • This is my first time modding anything, so maybe just skill issue. I'm using Forge 54.0.12 and Temurin 21.0.5+11-LTS I wanted to create a custom keybind and to check whether it works I'd like to send a chat message. I tried using Minecraft.getInstance().player.sendSystemMessage(Component.literal("test")); but IntelliJ couldnt resolve sendSystemMessage(...). Since I saw people using it in earlier versions, I tried the same thing with 1.20.6(- 50.1.0), where it works fine, now I can't figure out if this is intentional and whether there are other options for sending chat messages. On that note, is there more documentation than https://docs.minecraftforge.net/en/1.21.x/? It seems very incomplete compared to something like the Oracle Java docs
    • Hi, i'm having this error and I wanna fix it. we try: -Reload drivers -Eliminate .minecraft -Eliminate Java -Restart launcher -Verify if minecraft is using gpu -Mods  in .minecraft is empty -Install the latest and recomended version of forge idk what i have to do, help me pls. the lastest log is: https://mclo.gs/WAMao8x  
    • Read the FAQ, Rule #2. (https://forums.minecraftforge.net/topic/125488-rules-and-frequently-asked-questions-faq/)  
  • Topics

×
×
  • Create New...

Important Information

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