Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Various additions #44

Merged
merged 93 commits into from
Jun 29, 2024
Merged

Various additions #44

merged 93 commits into from
Jun 29, 2024

Conversation

Gordon-Frohman
Copy link

@Gordon-Frohman Gordon-Frohman commented Feb 27, 2024

Again, another PR to track my progress.

Currently done:

  • Trophies for minor bosses and Questing Ram (properly textured by yours truly)
  • Backported Yeti sounds
  • Trophies now make noises of corresponding bosses when clicked
  • Trophies now can be worn, just like vanilla skulls
    • Fireflies, cicadas and moonworms can be worn on your head as well
    • Both trophies and critters can be equipped with Shift+rightclicking
  • Fixed a bug where clicking a trophy with mouse wheel wouldn't give you a trophy item
  • Trophy pedestal can finally be collected once deactivated
  • Trophy pedestal now gives a comparator output depending on progression order of the trophy on top
  • Fixed Aurora Palace map icon
  • Compressed blocks now can be used as a beacon base
  • Material traits:
    • Fiery blocks now provide light, sustain fire and damage player standing on top (unless he/she is wearing fiery boots or sneaking), just like magma blocks from future versions
    • Fur and Steeleaf blocks now reduse fall damage by 75% and 25% accordingly
  • New Fiery metal block model - with glowing outline and seamless textures
  • Huge water lily and thorn rose can now be crafted into magenta and red dye accordingly
  • Fiery blood/tears are now registered under same OreDictionary entry - "fieryEssence". All the recipes using them changed accordingly
  • Fiery armor can now be crafted directly from intact iron armor and appropriate amount of fiery blood/tears
  • Wispy clouds can be harvested with silk touch tools
  • "Twilight Hunter" and progression achievements now can only be gained when in Twilight Forest
  • Mosquitos now count as arthropods
  • Skeleton druids now won't cast without a hoe (in case you can take it away from it somehow)
  • Every boss now has its own spawner (names for those were fixed as well)
  • Every boss now leaves its spawner behind when going into peaceful
    • Knight phantoms spawner keeps record of knights left to prevent exp farming abuse
  • Ice bomb now adds snow to already existing layers
    • Shape in which snow will generate is more circular now
  • Charms effects finally render properly
  • Charms of Keeping now keep inventory even if you log out instead of respawning immediately
  • Phantom armor is now kept on death, regardless of having any Charms of Keeping
  • Thorn roses can now be placed on leaves and any blocks that can sustain flowers
  • Crumble Horn can now crumble a lot more blocks
  • Chests made of twilight wood (trapped chests as well)
  • Burnt thorns can now be broken with projectiles
  • Bugs can now be killed with projectiles
  • Cicadas now shut up once broken

To be done (notes made for myself):

Easy:

  • New castle blocks
  • Rebalancing giant tools (?)
  • Questing ram spawn egg
  • Death tomes enchanted books drop (how rare?)
  • Alpha yeti should throw ice bombs during rampage
  • Golden minotaur axe (WHY?)
  • Redo knightmetal bonus damage depending on amount of armor pieces
  • Make beanstalk pop through blocks
  • Cicada jars (WHYYYYYY?)
  • Redo Experiment 115 comparator output (again, do we need this?)
  • No fire enchantments on ice stuff
  • Clouds should reduse fall damage
  • Giants should step over taller obstacles

Medium:

  • Anti-builder block blacklist
  • Blocked back portal option
  • TF spawn option
  • Non-fiery lightning option
  • Driud hut rework (+ more variants and basement)
  • Longer reach for giant tools
  • Scepter of Fortification
  • Aurolized glass - should color beacon light accordingly
  • Moon dial
  • Clover patches
  • Seeker bow hostile priority and avoid targets it can't hit
  • Fallen logs generation redone (do we really need this?)
  • Progression achievements depending on hitting boss at least once
  • Usage of scepters, moonworm queen, transforming powder, horn, fan and ice bombs with dispencer
  • New enchantments, only found in loot:
    • Fire React: has a chance to set the attacker on fire when worn. Incompatible with chill aura and thorns.
    • Chill Aura: has a chance to apply frosted to the attacker. Incompatible with fire react and thorns.
    • Stuff for Block and Chain (It shouldn't break blocks by default now):
      • Destruction: 3 levels. Level 1 enables block breaking, higher levels increase its mining tier up to iron.
  • New wells (which ones exactly?)
  • Potion flasks (to be done when lich tower update comes out)
  • Climb root strands (do we really need this?)
  • Eat torchberries to glow
  • Baby skeleton druids: only spawn on swarm spiders
  • Burn mobs with the Lamp of Cinders
  • TF plants flowerpot support
  • Ability for Lich to absorb mobs around him and regenerate

Hard:

  • Shapeless portals (?)
  • New potion effect for ice damage, instead of slowness
    • Fiery, Fur and Yeti armor should make player immune to ice damage
  • Immersive Engineering support (one day maybe)
  • New minoshroom attack
  • Hollow logs that can be filled with stuff (if can be done at all)
  • Red thread (if possible)
  • Beanstalk growing animation (can I do that?)
  • Cloud stuff:
    • Weather mimicing for fluffy clouds
    • Being ignored by weather (pass through) for wispy clouds
    • Rainy and snowy clouds

@LewisSaber
Copy link
Member

image
OMG OMG OMG

@Gordon-Frohman
Copy link
Author

image OMG OMG OMG

Spent all day tweaking this. Feel free to try it out)

@LewisSaber
Copy link
Member

image
Yo man thats insane, I have been dreaming of this for years, thank you so much!!!

@Gordon-Frohman
Copy link
Author

You're welcome!

@Dream-Master
Copy link
Member

@LewisSaber can you spit fire now ? :trollface:

@Gordon-Frohman
Copy link
Author

Gordon-Frohman commented Feb 29, 2024

Using the addNewStalactite method, you can add stalactites made of various blocks without affecting vanilla ones. You can also adjust:

  1. Level of the hill these stalactites would generate in
  2. Their min/max/relative size
  3. Chance of them generating compared to the others

For example I used it to generate these huge fur stalactites in hills of any level. But, as you can see, no other stalactites are affected by this:

2024-03-01_00 13 59
2024-03-01_00 16 40
2024-03-01_00 16 51
2024-03-01_00 16 57

@YannickMG
Copy link

Using the addNewStalactite method, you can add stalactites made of various blocks without affecting vanilla ones. You can also adjust:

...

I like your approach of defining new stalactites. I'm curious as to why that couldn't have been feedback on #41 rather than a new implementation, but no matter.

I created #41 as a result of feedback by @Dream-Master for a project that involves replacing all the vanilla ore stalactites by other ores, mainly those added by Gregtech. This feature should match his requirements to be implemented. At the very least support is needed to completely remove the vanilla ores, if not by API then by config.

It should also be easy for the user of your API to use alternative methods of setting the ore block such as Gregtech's GT_TileEntity_Ores.setOreBlock. #36 did that directly by adding a dependency on Gregtech and I sought to be more flexible by letting the caller use their own dependencies in #41. You should then make it possible at least to set ores the Gregtech way, but preferably in any way the caller chooses.

Finally I will note that until @Dream-Master finishes drafting the requirements for the TF stalactite ore replacement project then any merge might be premature as it might lack a feature we'll end up needing.

Also unless you want to delay this PR, may I suggest you make a separate PR for the stalactites? The functionality is quite separate from the rest of your PR.

@Gordon-Frohman
Copy link
Author

I'm curious as to why that couldn't have been feedback on #41 rather than a new implementation, but no matter.

Sorry, GitHub is still a pretty new platform for me, so I don't know all of it functionality. :D It was just easier for me to add all of this in already existing PR.

At the very least support is needed to completely remove the vanilla ores, if not by API then by config.

Got it. It shouldn't be very difficult to do. For example I can add a method to clear all the stalactite lists, that can be called from GT.

It should also be easy for the user of your API to use alternative methods of setting the ore block such as Gregtech's GT_TileEntity_Ores.setOreBlock. #36 did that directly by adding a dependency on Gregtech and I sought to be more flexible by letting the caller use their own dependencies in #41. You should then make it possible at least to set ores the Gregtech way, but preferably in any way the caller chooses.

Okay, my bad, I guess I didn't know enough of GT ore generation. I'll read about it and figure out a way of implementing it. Or we can just use your PR, I guess our codes shouldn't really conflict

Also unless you want to delay this PR, may I suggest you make a separate PR for the stalactites? The functionality is quite separate from the rest of your PR.

Oh, don't worry about it. The functionality of this PR is just "take all I've added and mash it all together". And the list of things I still have to add is massive, so I don't expect a merge any time soon

@Gordon-Frohman
Copy link
Author

So, @YannickMG, if I understand correctly, the whole idea of your PR was to check if a block about to be placed has a GT version and, if it does, replace it with it?
If it is so, then your approach is the best version of doing it to my mind. Maybe I should add my api to your PR then? Then we would have both support for GT ores and option to add ores from other mods

@Caedis
Copy link
Member

Caedis commented Mar 2, 2024

Just a heads up, GT_TileEntity_Ores will be going away soon-ish with the material rewrite

@Gordon-Frohman
Copy link
Author

Just a heads up, GT_TileEntity_Ores will be going away soon-ish with the material rewrite

Huh
And how will ore placement look after it?

@Caedis
Copy link
Member

Caedis commented Mar 2, 2024

The material rewrite will include the block metadata expansion so that instead of a block being limited to 15 metadata, it will have up to 32k i believe.

The reason why ores are current TEs are so they can store NBT on if they are natural so that the MBM can't mine user placed ores.

@Gordon-Frohman
Copy link
Author

I was just going to add an option to set up metadata for stalactite blocks
Is this going to be enough?

@mitchej123
Copy link

As a note we support TF outside of the pack, so config options are generally warranted for anything balance related.

Additionally not registering recipes when dream craft is present and adding elsewhere is significantly faster than add, remove, add.

@Gordon-Frohman
Copy link
Author

Additionally not registering recipes when dream craft is present and adding elsewhere is significantly faster than add, remove, add.

Well, I've done it. Are we cool now?

@Ethryan
Copy link

Ethryan commented Jun 24, 2024

crash-2024-06-24_23.38.52-server.txt
crash-2024-06-24_23.49.04-client.txt
@Gordon-Frohman , Cicadas shouldn't crash the server when broken.

@Gordon-Frohman
Copy link
Author

Cicadas shouldn't crash the server when broken.

Oh, they do? Nasty little things. Will look into this

@Gordon-Frohman
Copy link
Author

@Ethryan, I think I fixed it. No crashes for me at least. Can you check it?

@Ethryan
Copy link

Ethryan commented Jun 27, 2024

@Ethryan, I think I fixed it. No crashes for me at least. Can you check it?

On it.

@Dream-Master
Copy link
Member

@Gordon-Frohman will do a new pre tag in a bit

@Ethryan
Copy link

Ethryan commented Jun 27, 2024

@Ethryan, I think I fixed it. No crashes for me at least. Can you check it?

Tested and the area that 100 % crashed me before don't anymore, think I consider this fixed.

@Dream-Master
Copy link
Member

@Lyfts @chochem @Caedis @Ethryan @mitchej123 @YannickMG anything else need to be done before merge ?

@Caedis
Copy link
Member

Caedis commented Jun 27, 2024

Looks good to me

@Ethryan
Copy link

Ethryan commented Jun 27, 2024

Me too.

@Gordon-Frohman
Copy link
Author

Should be fixed now
@Lyfts, what do you think?

@Dream-Master Dream-Master requested a review from Lyfts June 28, 2024 22:02
Copy link

@Ethryan Ethryan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I got a question:
While I took a peek at your latest commit, I noticed that you are adding obfuscated values. Why?

It makes the code so much more readable if you use human language and can tell what the values represent. Even if it is just aX, aY, aZ as block coordinates for example.

@Gordon-Frohman
Copy link
Author

Well, there're two reasons for this
Firstly, sometimes I just copy obfuscated vanilla code. I can (and will) make it more readable if I know the purpose of such variables/methods
And secondly, some of functions I added are overriding obfuscated functions in parent classes. I can't just rename these

Copy link
Member

@Lyfts Lyfts left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe all of the bigger bugs have been addressed at this point, very good job!

@Dream-Master
Copy link
Member

@Gordon-Frohman we merge this now. If you want to add the changes @Ethryan suggest make a new pr.

@Dream-Master Dream-Master merged commit 3e69ed4 into GTNewHorizons:master Jun 29, 2024
1 check passed
@Gordon-Frohman
Copy link
Author

@Gordon-Frohman we merge this now. If you want to add the changes @Ethryan suggest make a new pr.

Sure thing
I was going to do just that

@AetherLegacyPro
Copy link

Wow this is amazing! Keep up the great work!

@Gordon-Frohman
Copy link
Author

Wow this is amazing! Keep up the great work!

Thank you!

@brandyyn
Copy link

@Gordon-Frohman

The twilight forest is too easy in modded minecraft and I think it'd be a good idea to make it more difficult, especially since people practically 4 shot the naga even in GTNH- Maybe add configs to increase/change the twilight forest mob's health? The configs would be there so you wouldn't have to balance it, the packdevs would, say I wanted to fight a naga with 500 hp, i would just set it in the config. At the very least the bosses. Maybe the lich can have phases instead of just losing all his shields and then you can kill him, what if he regenerates some shields in each phase?

@Dream-Master
Copy link
Member

Yea I like the idea make the fights a bit more challenging. Make the Naga immune to arrows :trollface:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.