* The onArrowFire event handler for LivingArmour now checks whether the arrows were fired from a sentient bow, and if they are it calls a getDuplicateArrows method in ItemSentientBow. Said method gets the will and potion types, without changing the bow's durability or consuming will or arrows.
* Extra line breaks removed
* Potion tipped arrows now get the will effects applied alongside them
- Destructive releases a splash potion at the target location
- potion amplifiers are increased if the potion effect is already applied by the will type (poison, levitation, slowness)
* On hold for now, I'll do the commands first (I've had enough of arrows for this week).
* Revert Sentient Bow/Arrow to handle only potion arrows and fire regular modded arrows.
* Removed last remnants of modded arrow creation code.
* arrowHit() now supports modded Arrows (onUpdate() has the issue of TNT arrows exploding indefinitely atm)
* Crashes when firing a TNT arrow from the SimplyArrows mod with destructive will infused sentient bow
* Fixed potion arrows.
Modded arrows now work fully when hitting the ground (no splash visual effect).
* Added scaling for explosive potion arrows + cleanup
* Added explicit Tooltip for unbound items and restructured Bindable inheritance
- Added a "Item is not bound" tooltip to ItemBindableBase
- Streamlined inheritance. All Sigils now extend ItemBindableBase at some point.
- removed redundant hasTextCompound check
* Removed TextHelper usages in the affected files.
* Nobody likes tooltips.
* Forgot the translation entry.
* Reverted change
* Groundwork for Reader part 1
* More Ritual Reader information & more intuitive to use.
* Added `getCurrentRitual()` to `IMasterRitualStone`
RitualReader can now only be used on MRS with a set Ritual (this prevents a (caught) NPE).
* Refactored
* Added Enum
* Network part finished.
* Should be more reasonable now
* This should be good enough.
* Orb finished, needs strings
* Bind finished. Needs strings.
* Reformat & Help subcommand
* Cleanup, strings, no negative amounts
* Removed TODOs
* Added missing MaxTier check for Blood Orbs.
Added TODO: Test with custom Blood Orbs.
* Ritual commands finished.
Check for valid placement might be optimized. (TODO)
* Access modifiers, moved TODO
* Added TODOs for localized strings
* DrainUtils postponed until the necessary functionality is available with SoulTickets (telling SoulTicket network from soul ticket, a list of all registered soul tickets per network)
* Replaced all occurrences of TextHelper with TextComponentTranslation in the commands section
* - Moved Teleports.java to teleport package
- added teleposer command
- added missing strings
- cleanup
* Fixed spelling of "Successful(ly)"
* getUsage() now returns translation keys.
getInfo() is now an explicit String
ritual creation command now has proper tab completions
help is an additional argument with "-h" or "?"
cleanup
* teleposerSet final
cleanup.
* Removed ritual removal command
Signed-off-by: tobias <angryaeon@icloud.com>
* Check if the tile has a ritual first
Signed-off-by: tobias <angryaeon@icloud.com>
* A bit more optimisation
Signed-off-by: tobias <angryaeon@icloud.com>
* Cleanup part 1
Signed-off-by: tobias <angryaeon@icloud.com>
* Cleanup part 2
Signed-off-by: tobias <angryaeon@icloud.com>
* Part 3
Signed-off-by: tobias <angryaeon@icloud.com>
* Part 4
Signed-off-by: tobias <angryaeon@icloud.com>
* Updated language file to reflect cleanup & continuity changes.
Signed-off-by: tobias <angryaeon@icloud.com>
* Change to use an abstract class that gets called instead of calling super on overriden execute() for commands
Signed-off-by: tobias <angryaeon@icloud.com>
* Use player facing for ritual creation.
Signed-off-by: tobias <angryaeon@icloud.com>
* Implemented Ritual of Grounding, a Ritual to change gravity behavior
[x] <- x are new potion effects
- (NoMod) moves entities towards the ground, prevents jumping [Grounded]
- (Raw) affects players
- (Corrosive) disables gravity [Suspension]
- (Destructive) increases fall damage [Heavy Heart]
- (Steadfast) affects bosses
- (Vengeful) stronger effects, (+Corrosive) applies levitation (+Destructive) stronger effect
[Grounded] prevents jumping and moves entities towards the ground, higher amplifiers cause a faster descend, interesting interaction with Sigil of Air
[Suspension] disables gravity (keeps movement)
[Heavy Heart] increases fall height and fall damage multiplier by 1 per level.
Fixed a possible division by 0 in RitualConder.
Saved event entity variable in PotionEventHandlers.
Made rune configuration more readable in RitualHarvest.
Signed-off-by: tobias <angryaeon@icloud.com>
* Fixed Ritual area
* Lists are cleared on world unload.
* Ported RitualDismantler
Signed-off-by: tobias <angryaeon@icloud.com>
* Added Hellfire Forge recipe
Destructive Will Crystal, Destructive Will Crystal, Ritual Diviner (default), Weak Blood Shard
Requires a minimum of 500 will and consumes 100 will to craft
* Changed costs (lazy proposal):
- 50 LP per normal Ritual Stone
- discount cost of 200 LP for a whole ritual (smallest ritual has 4 ritual stones)
- 100 LP for an MRS
* Inital commit.
Water Sigil can now be used as infinite water tank item to fill machines with water (as long as you have LP) (Doesn't use LP yet).
* Should now work for all fluid sigils.
* Reverted Bound tool change
* Moved the code out of the spacey loft
IDE said it's ok... or something
* Reinstated Compression sigil.
- does not compress wooden planks into crafting tables
- searches for reversible 3x3/2x2 recipes with a single material type
- probably has a lot of redundant stuff and looks silly
- uses try/catch (might want to find a different approach, some people scoff at this)
- should probably have spent the night sleeping, I'm taking exams tomorrow and will probably sleep the whole day through.
* Learned how to properly handle the "NullPointerException"-situation.
* Update BaseCompressionHandler.java
* Update CompressionRegistry.java
* Removed (almost) all code comments (only a one-liner remains that serves as pointer to a completly commented-out class (StorageBlockCraftingRecipeAssimilator)).
Made methods and variables for long function calls to be more efficient.
Fixed an oversight that resulted in a NullPointerException after removing redundant checks that were made to prevent exactly that.
Rearranged and reformatted code.
* corrected something that could be considered a typo but was an oversight
* This should be it. An Array should be more efficient but you can correct me if I'm wrong. In either case it does what it is supposed to do.
* Fixed. Needed a seperate inventory for the reversible check (or clear the previously used one, but then I'd had to repopulate again and that would just have been messy)
* Forgot one of my lines.
* Fix and cleanup.
Could definitely clean more but that should suffice for now.
* Modified sigils of lava, water, and void to interact with tanks correctly.
* Fixed up some formatting errors
* Fixed?
* Reimplemented necessary fluid code as extensible functions in ItemSigilFluidBase and made the fluid sigils draw functions from there rather than FluidUtil
* Fixed up formatting and used an actual IDE for once.
* Teleportation now works similar to the Nether Portal:
if teleportation is attempted before the cooldown (10 ticks) is over, the cooldown gets reset.
This way teleportation loops are prevented.
You can now:
- Stand on a loop of permanently activated (well, constantly refreshing through a high-speed redstone clock) Teleposers, only getting teleposed once per stepping on it
- AFK in the Gate of the Fold without getting teleported constantly
- and other things, I guess.
* Bound Pickaxe AoE ability now destroys blocks properly.
closes#1001
* Streamlined bound tool harvest code.
Cleanup, duplicate code for bound tools moved as method to ItemBoundTool.sharedHarvest()
Tested aoe harvest with Stone, Dirt/Grass and Oak trees. Same result as before.
* silkTouch and fortuneLvl are now passed instead of recalculated on every block
* Rework. Desyncs for no apparent reason.
Apart from that, it works.
Desyncing started after I implemented the "diagTemplate" methods.
Can definitely be optimised, some advice for that would be good (lots of duplicated code for the "templates").
* Code cleanup.
Reverted stuff that I didn't want to commit.
* Some fine tuning for speed.
playerVel is not very accurate still but this should work out for most stuff.
Might need a lot of testing.
Might still not work properly on servers.
Diagonal templates are inconsistent, need variables switched.
Will deal with that later (maybe).
In any case, this works just fine unless you're speeding diagonally.
* The occasional stuff that should not be pushed.
Meaningless whitespaces or code reformatting.
* The occasional stuff that should not be pushed.
Meaningless whitespaces or code reformatting.
Take 2.
* MERGE ME I'M AWESOME
* removed unused import
* Refactoring, adding braces, renaming constants etc etc.
done.
* take 2
* take 2
* Removed one-liners
they grew organically because I initially created every "bridge" with a unique for loop before I removed duplicate code by passing variables/ranges
they were helpful until I found good names for the variables, now they've outlived their usefulness
* tiny bit of fine tuning
* various fluff / small fixes
more fine tuning, code reformatting, meaningful variables, for loop fix (variable mismatch), shrinking a redundant method to a call to an advanced method
- Checks if the arrow is the vanilla arrow, if it is then it continues with normal use. But, if arrow isn't the vanilla arrow it uses their custom arrow entity.
* Added Soul Fray check.
Sacrificial dagger now glows even more if you're fully prepared!
Added NBT field for maximum incense altar bonus from the last incense altar the player has encountered.
(There is a case in which the dagger glows even if the player is not at maximum incense bonus:
The player must have been at maximum incense bonus and then gone into the vincinity of a stronger incense altar.
The maximum incense bonus data field only updates once the maximum bonus has been reached for efficiency.)
* Multiplayer fixed.
* Fixed weirdness that occurred during a phase I don't remember.
* AWAITING ALLOWANCE FROM BRANDON3055 (PERMISSION TO USE CODE SNIPPET FOR INTERDIMENSIONAL/CROSSDIMENSIONAL TELEPORT) COPYRIGHT ALL RIGHTS RESERVED FOR BRANDON3055 (CODE SNIPPET)
AWAITING ALLOWANCE FROM TEHNUT, WAYOFTIME TO USE FOREIGN CODE (AS IT NEEDS ALLOWANCE & POSSIBLE CREDITS)
DO NOT USE.
* Forgot something.
Requires permission from Brandon3055 (copyright on code snippet)
Requires permission from WayofTime, TehNut (because it uses foreign code that might need attribution)
Do not use.
* License permits usage.
Sorry for bothering everyone involved.
Don't merge. Teleposer broken. Teleposition sigil works though.
* IT WORKS!!!!
- re-enabled cross dimensional telepositioning
- works even if target teleposer is unloaded at the time of activation (force loads the chunk so the teleposer can be found, releases ticket when player arrives)
- entity teleposition works properly
- I'm tired and slightly insane
- nobody asked for this.
closes#973 (rewrite might still be needed though)
might be able to close the following issue:
- #1198 (improved cross dimensional teleportation code thanks to brandon3055)
* Zombies stop holding onto tickets now.
* Oversight.
* Reimplemented a lot of mimic logic and did a first run of changing how mimics store their states.
* Finished removing all metadata calls for blocks replaced by mimics.
* Update EntityMimic.java
* Update ItemBlockMimic.java
* Update TileMimic.java
* How did I even replace a semicolon with a slash.
* Changed all tabs to 4 spaces. Changed Serializer to StateUtil
* Fixed spacing again, hopefully for the last time
* Fix the Blood Tank BB
* Add modid to command localizations to prevent conflicts
* Fixed the items not being drawn on the right Y-level for the Sigil of Holding HUD
Corrected localizations of other lang files
* SoulTicket internal implementation
* do what TehNut says
* implement hashCode()
* Fix toggleable sigils draining on r-click when it shouldn't
Also moved the ItemSigil and ItemSigilToggleable to the sigil package (why wasn't it there???)