Commit graph

305 commits

Author SHA1 Message Date
Nicholas Ignoffo
a02631d9be Fix teleposers sending entities at the target the opposite direction 2019-11-04 18:01:01 -08:00
Tobias
1155be6d6b Fixed Ritual Tinkerer & added range reset (#1636)
* Add getMinimumOffset() and getMaximumOffset to AreaDescriptor
Add the ability to reset BlockRanges to the Ritual Tinkerer

* Added copy-constructors and functions to AreaDescriptor
Added the ability to reset BlockRanges to the Ritual Tinkerer
- Mode: Define Area, with BloodOrb in offhand & sneaking, right click on MRS

Changed "addBlockRange" and "addBlockRanges" to use .putIfAbsent
Added "setBlockRange" and "setBlockRanges" to IMasterRitualStone
- reference implementation in TileMasterRitualStone is identical to old "addBlockRange" and "addBlockRanges"

Fixed range setting for good.

Tested behavior with RitualWater.

* Minor cleanup

* Remove TODO
2019-09-04 18:58:45 -07:00
Tobias Gremeyer
21f3b9047c Made teleposers a bit more foolproof (#1592)
Fixed an issue where a teleposer that somehow got filled with nasty items would crash on tick because the teleposer throws a fit at that nasty item.
2019-04-25 00:09:15 -07:00
Nicholas Ignoffo
d5834a34ba Merge remote-tracking branch 'origin/1.12' into 1.12 2019-04-14 08:42:02 -07:00
Phil
7c767b3bbf Stop insertions into Demon Crucible if the inventory is not empty (#1567) 2019-04-14 08:29:51 -07:00
Nicholas Ignoffo
53b6030ba9 Run code formatter
🦀 Way is gone 🦀
2019-04-14 08:22:42 -07:00
Nicholas Ignoffo
83f0eefa15 Update mappings + dependencies 2019-01-31 19:10:37 -08:00
Tobias Gremeyer
e8eb44632d Ritual Reader Quality of Life (#1528)
* 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
2019-01-31 17:11:32 -08:00
Tobias Gremeyer
95d99c0a01 Command rework (#1434)
* 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>
2019-01-31 16:46:02 -08:00
Tobias Gremeyer
865968a4b8 Ported Ritual of the Feathered Earth to BM2. (#1492)
* Ported Ritual of the Feathered Earth to BM2.

* Changed maximum area

* Feathered Earth Hurt timer fall damage negation based on Set part1

* Part 2, switched to handling through potions, digging into area descriptor range bug

* Fixed Ritual area

* Update gradle.properties
2019-01-31 16:29:51 -08:00
Tobias Gremeyer
5b4e624d44 Make Movement & Updraft arrays stronger by adding more of their ingredients! (#1520)
* Make Movement & Updraft arrays stronger by adding more of their ingredients!

Reduced base motion for Movement & Updraft arrays

* Reverted Bound Tool change

* Readability & using tailored methods
2019-01-31 16:22:00 -08:00
Tobias Gremeyer
74436a1338 This should do it but I would like you to test it again just in case (not sure if I would have gotten the NPE to begin with) (#1522) 2019-01-22 19:34:03 -08:00
Tobias Gremeyer
415d3f1f42 Fixed RitualReader (RitualTinkerer) area setting ability. (#1505)
* Fixed RitualReader (RitualTinkerer) area setting ability.

Signed-off-by: tobias <angryaeon@icloud.com>

* Update TileMasterRitualStone.java

* Interface tidied up
2019-01-21 15:06:38 -08:00
tommyTT
fa87ed0e17 Bugfix attempt to remove render lag (see WayofTime#1457) (#1458)
Simplified the whole branch since it got really messed up
2019-01-05 09:34:45 -08:00
KohaiKhaos
9440d3c0b9 This should fix a few existing issues with Teleposers, they no longer syphon from the bound player. (#1414) 2018-08-26 13:00:07 -07:00
AEon - Tobias
f5282bd767 Phantom bridge (#1397)
* 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
2018-08-17 18:14:41 -07:00
AEon - Tobias
2c92a9e0c1 Crossdimensional Teleposition (including entities, into unloaded chunks etc) (#1385)
* 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.
2018-08-07 17:50:56 -07:00
KohaiKhaos
ebfd8ce9a3 Several mimic fixes, with actually cleaned up commit history. (#1379)
* 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
2018-08-07 16:28:55 -07:00
AEon - Tobias
ce46de0d0a Fixed Crystal Cluster behavior. (#1390)
* Players in creative mode can now add crystals to crystal blocks by right clicking them with an item demon crystal.
Crystal block texture now updates on the next tick. The render update is only called when a new crystal has been added (by natural or unnatural means).
Adding a crystal imitates a positive result of checkAndGrowCrystal()

closes #1151

* fixed conditional to allow harvesting crystals if not in creative and holding crystal
2018-08-07 15:59:09 -07:00
Arcaratus
b441e7fc1e SoulTicket internal implementation (#1372)
* 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???)
2018-08-07 15:27:12 -07:00
Nicholas Ignoffo
42c69eb557 Rework of ritual registration
Moves to annotation based registration. Configs are handled for automatically
2018-06-28 21:56:25 -07:00
Nicholas Ignoffo
f563da152e Fix Teleposer swapping blocks even if the event is cancelled (#1303) 2018-05-13 22:20:33 -07:00
WayofTime
b20e1ac4d7 Fixed Cutting Fluids so they now work properly. 2018-04-29 08:40:42 -04:00
Nicholas Ignoffo
560d167765 Check the proper maps when looking up fluid priorities (#1286)
When copypasta goes wrong.
2018-04-26 19:12:14 -07:00
WayofTime
842c9d1411 Fixed the Alchemy Array from voiding items when broken when it shouldn't have. 2018-04-26 16:33:22 -04:00
WayofTime
60c8441115 Added the "Resonance of the Faceted Crystal" 2018-04-20 13:39:05 -04:00
WayofTime
07ae96a60e Fixed Demon Crystals growing at an accelerated rate (all the time). 2018-04-17 19:12:29 -04:00
Nicholas Ignoffo
79ccd1f3bb Add inputs to crafting events + implement SF/AT events (#1270) 2018-04-15 11:21:14 -07:00
WayofTime
af3e1fecb6 Fixed an interaction issue between vanilla hoppers and the Alchemy Table, due to the hoppers not actually using the Forge capabilities for all of its checking methods. 2018-04-13 16:44:00 -04:00
WayofTime
ebdc66d063 Changed the Alchemy Table to use Bindable for checking the Orb's stored LP. Also fixed a crafting exploit with the table. #1269 2018-04-13 11:31:52 -04:00
Nicholas Ignoffo
c8b394bf86 Add missing itemblock for demon crystals (#1252)
Still need to figure out the rendering issue. Might just need to rewrite
them to store the age as meta instead of the type.
2018-04-07 13:05:32 -07:00
Nicholas Ignoffo
cdfc77be03 Cleanup ritual events (#1256)
Also actually fire the imperfect one ¬_¬
2018-03-23 16:18:16 -07:00
Nicholas Ignoffo
77e5beb9e1 Fully remove old LogHelper usage 2018-03-17 17:18:20 -07:00
WayofTime
bbe026dda9 Added a new (slightly WIP?) array, the Turret Array 2018-03-11 11:19:34 -04:00
Nicholas Ignoffo
eada60f436 Some altar cleanup and renaming 2018-03-09 18:00:04 -08:00
WayofTime
3a83b4ca8a Increased the max number of items transferable by the Master Routing Node in its system to 64 per second. 2018-03-04 19:11:46 -05:00
Nicholas Ignoffo
3f5178dd6a A bit of Ritual cleanup
Slowly getting rid of these BlockStack references. Slowly moving towards
a proper "API" in our internals.
2018-03-04 09:17:24 -08:00
WayofTime
986852e265 Added the ability to set the array to no longer drop its ingredients.
- I need to just change all of the files to my format, so Nut doesn't cry each push.
2018-03-04 09:36:03 -05:00
Nicholas Ignoffo
70d98455b7 Cleaned up a lot of different inspections 2018-03-01 19:27:39 -08:00
Nicholas Ignoffo
0dd0854bd9 Move all SysOut references to debug logging 2018-03-01 18:23:56 -08:00
Nicholas Ignoffo
caab4dcbef Fix rituals crashing when deserializing the owner 2018-02-27 18:17:30 -08:00
Nicholas Ignoffo
2a43e53842 Rewrite IBindable to provide an object instead of storing 2 strings 2018-02-27 16:59:51 -08:00
Nicholas Ignoffo
106532061d Alchemy Table now supports new recipe API 2018-02-19 15:41:18 -08:00
Nicholas Ignoffo
c05336ac9f "Temporarily" disable cross-dimension entity teleports 2018-02-17 16:27:57 -08:00
Nicholas Ignoffo
2fecb427fd Merge apibutnotreally with the main packages
Do not consider anything outside of the true API safe to use. And even then,
I'm changing things. Just wait. Please I beg you.
2018-02-15 18:49:07 -08:00
Nicholas Ignoffo
616c08094b Run formatter 2018-02-14 23:38:57 -08:00
Nicholas Ignoffo
123b06c288 Alchemy arrays should mostly function now (#1202)
Rewrites the crafting recipe portion of alchemy arrays. Currently the rewritten
portion is wrapped in the old stuff. Ideally the remaining old stuff will
be rewritten as well.

Mods who wish to do custom array effects still need to depend on internal
classes and I think this is fine.
2018-02-11 11:40:13 -08:00
Nicholas Ignoffo
2d3f86aaf8 Fixup Soul Forge crafting 2018-02-07 18:46:18 -08:00
Nicholas Ignoffo
80e7b50dde Move Soul Forge to new recipe API 2018-02-06 22:17:06 -08:00
Nicholas Ignoffo
f8c734bc96 Implemented new Tranquility value API
For quick compat, mods can now register a static state-based tranquility
value for their blocks. More
2018-02-06 21:24:40 -08:00