1
0
mirror of https://github.com/chylex/Hardcore-Ender-Expansion-2.git synced 2025-09-15 05:32:10 +02:00

223 Commits
wip ... wip4

Author SHA1 Message Date
32ea34fa0c SHELF 2021-01-15 18:42:49 +01:00
2ab4659da5 [WIP] Tomb Dungeon 2021-01-15 18:40:13 +01:00
276df76979 Fix Transform mirroring entity yaw incorrectly 2021-01-02 22:23:18 +01:00
14788dd9ad Fix invisible bottom layer in Jar o' Dust when placed on transparent block 2020-12-31 21:25:57 +01:00
5b69abf29e Make Jar o' Dust layers more visible & add dust compression effect 2020-12-31 21:25:28 +01:00
dd6f4fa4d1 Implement Jar o' Dust generation in Tomb Dungeon 2020-12-31 21:16:07 +01:00
414b11aa0d Implement Undread spawning in Forgotten Tombs 2020-12-30 00:11:12 +01:00
14fbcac4e0 Make Undreads avoid unsupported Dusty Stone when not in aggro 2020-12-29 21:36:22 +01:00
3e0aedc039 Add entity ground navigator that supports custom node processors 2020-12-29 21:33:38 +01:00
20c21f9afa Fix overriding wrong overload of getBlockPathWeight in entities 2020-12-29 19:49:45 +01:00
f4fac58b32 Add special handler for entities colliding with full blocks instead of making collision boxes slightly shorter 2020-12-29 17:38:00 +01:00
f21a4fbf3f Replace broken EntitySelector.inDimension 2020-12-29 17:24:49 +01:00
c9ad94bcb4 Fix portal rendering in fog 2020-12-29 15:11:14 +01:00
1a11754bad Reformat code 2020-12-25 09:15:22 +01:00
421cadb545 Fix IntelliJ folder exclusions in build.gradle 2020-12-25 00:05:27 +01:00
596042b255 Work on Forgotten Tombs environment (dust particles, Grave Dirt sounds) 2020-12-20 19:27:06 +01:00
f4bfd0f8e3 Add IntColor properties for RGBA as floats 2020-12-20 15:43:45 +01:00
373087e33c Fix debug mode not removing territory fog 2020-12-19 12:57:07 +01:00
a46524e518 Finalize The Hub environment 2020-12-19 12:40:50 +01:00
ecd48ec345 Address a few technical TODOs and tweak code 2020-12-15 20:44:36 +01:00
8c21bcad67 Partially fix rendering issues with lightmaps and fog after updating from 1.14 2020-12-15 20:27:00 +01:00
7b54a8885a IntelliJ folder exclusions are fucked... 2020-12-11 17:03:00 +01:00
e587f212eb Refactor Vec3d uses to simplify eventual 1.16 transition 2020-12-08 05:37:13 +01:00
7957655ed1 Update IDEA project settings 2020-11-22 23:28:07 +01:00
69e59992dc Address several TODOs (entity replacement, anvil repair, vanilla resources) 2020-11-22 23:27:50 +01:00
465728fdd5 Add debug command to check and manipulate instability 2020-11-22 19:58:02 +01:00
efe56e0ebc Fix Ender Eye spawn rotation 2020-11-22 04:54:51 +01:00
cd63de38ca Improve The Hub portal positioning 2020-11-22 04:54:51 +01:00
1515102b04 Add debug command to regenerate territory 2020-11-22 04:54:50 +01:00
f0eeea3249 Work on Ender Eye attacks and respawning 2020-11-18 03:53:17 +01:00
b3be6d0104 Implement Ender Eye respawning after all players die 2020-11-17 04:11:00 +01:00
828607283c Add ITerritoryDescription.prepareSpawnPoint 2020-11-17 04:03:13 +01:00
90e7076143 Implement Ender Eye laser attack & update previous attacks 2020-11-16 06:06:58 +01:00
280d4ecaf3 Refactor damage handling, implement fallback damage, tweak fire damage to set fire even if protected 2020-11-15 21:38:23 +01:00
d901f1b2f4 Migrate parts of coremod to mixin 2020-11-04 14:39:26 +01:00
0f44dcaaa8 Update Forge & disable mixin refmaps 2020-11-04 03:38:54 +01:00
04243968b9 Allow using Portal Tokens in creative mode even when in another dimension or already standing in a portal 2020-11-04 02:41:55 +01:00
c60576d738 Fix not being able to /kill in the End 2020-11-04 02:31:50 +01:00
4766669c0a Update more item textures 2020-11-03 13:42:36 +01:00
8f8ccd3dd3 Update several item textures and animations 2020-11-02 06:10:51 +01:00
f9c1af0c30 Allow duplicating Rare and Solitary Portal Tokens 2020-11-01 23:48:50 +01:00
7e237eca3a Implement solitary territories 2020-11-01 23:26:03 +01:00
350f79f8c5 Redo Portal Token display name and tooltip & introduce difficulty rating for territories 2020-11-01 09:49:40 +01:00
5d3ed67531 Change Portal Token texture after the territory is corrupted 2020-11-01 06:26:39 +01:00
9735696341 Fix rendering of custom lightning bolt 2020-11-01 05:05:55 +01:00
5b0dfdac59 Implement Void mechanics for rare territories & stop damaging players in portals 2020-11-01 05:05:42 +01:00
86c0b6a0ec Implement territory storage component and ticking system & store Token type 2020-11-01 04:51:10 +01:00
284779bb64 Rewrite End Portal rendering to use plain UVs instead of texgen 2020-10-12 04:10:30 +02:00
e5c84ea639 Fix/suppress compiler warnings 2020-10-06 13:27:20 +02:00
3ef4731db0 Remove no longer necessary Python scripts 2020-10-05 21:31:17 +02:00
bab0f0c876 Fix issues (Infused Glass occlusion, Pearl phasing collision, line particles, test world commands, wrong texture name, minor tweaks) 2020-10-05 17:46:43 +02:00
4ae0f894fc Refactor registries and game initialization 2020-10-05 10:57:44 +02:00
58261cc62e Implement datagen for tags & add missing blocks/items to tags 2020-10-04 14:20:28 +02:00
42026b459d Fix loot table patcher crashing on loot pools named "custom#" 2020-10-04 10:48:43 +02:00
01ed6d4393 Move more block loot tables to datagen & fix missing potted Sapling 2020-10-04 10:15:28 +02:00
dfa946ecd7 Replace self-drop block loot tables with datagen 2020-10-03 19:09:26 +02:00
9a53b13626 Update Kotlin mod version & ensure HEE loads after Forge 2020-10-03 16:15:01 +02:00
f8888e0a3b Implement datagen for most block states 2020-10-03 14:16:11 +02:00
1b2db80199 Implement datagen for most block & item models 2020-10-02 22:34:59 +02:00
089a0501d6 Add datagen module 2020-10-01 08:09:01 +02:00
3d6a20aecb Make the Obsidian block on top of the boss tower in Obsidian Towers indestructible 2020-09-30 13:29:09 +02:00
951dc1e4b9 Update IntelliJ inspections & excluded folders 2020-09-30 13:25:50 +02:00
6a2152f9d7 Fix not registering mod sounds into the registry 2020-09-30 12:25:54 +02:00
bb21611878 Fix subtitles of sounds triggered by the mod 2020-09-30 12:24:44 +02:00
8a05c00ccb Add FX (Ender Eye & Token Holder hit, Puzzle Block toggle, Ring of Preservation & Scale of Freefall use) 2020-09-29 20:38:27 +02:00
93aca7c562 Move AltGr fix into a separate mod 2020-09-29 10:23:57 +02:00
4c3332a2ba Update Ender Eye boss to use the new flying navigator 2020-09-29 08:50:31 +02:00
c8391294bc Implement flying entity navigator with strafing support 2020-09-29 08:50:31 +02:00
4fac0d77d4 Update Obsidian Towers territory to use custom lightning bolt & ensure cinematic view from boss tower 2020-09-28 18:38:30 +02:00
6f6a4d8df2 Add territory-wide lightning bolt entity 2020-09-28 18:34:25 +02:00
e7be0c9905 Refactor per-player sound playing into a SoundExt utility 2020-09-28 16:29:20 +02:00
1bc58aff84 Remove unnecessary type aliases & fix code that used vanilla types instead of aliases 2020-09-28 16:29:19 +02:00
2fea86e6a5 Update .gitignore and IntelliJ project files 2020-09-28 13:24:29 +02:00
7757dd7192 Address IDE inspections 2020-09-28 13:17:51 +02:00
f992e16e71 Reorganize packages and move most non-content sources to 'system' module 2020-09-28 12:25:14 +02:00
7dd6eeaf11 Fix wrong Specification-Title META-INF attribute in build.gradle 2020-09-28 06:29:45 +02:00
96e19ad787 Add sub-project 'system' module into src/system 2020-09-28 06:29:45 +02:00
dbfb660e3e Implement Ender Eye death animation and Token Holder charging 2020-09-26 11:30:37 +02:00
1638fa041b Implement Ender Eye knockback dash attack 2020-09-26 07:32:04 +02:00
22e63f5ccb Work on Ender Eye spawn animation, movement, and attack logic 2020-09-26 07:32:04 +02:00
2fefcf0339 Fix EntityMoveFlyingForward not taking setMoveTo speed parameter into account 2020-09-26 02:42:51 +02:00
d2db1adf0c Prevent Vampire Bats from sleeping under blocks occupied by another Bat 2020-09-25 22:38:04 +02:00
fd6a4766c9 Migrate to 'Kotlin for Forge' and update Kotlin to 1.4.10 2020-09-25 21:21:01 +02:00
97d7c61ff8 Enforce LF line endings 2020-09-25 09:31:12 +02:00
9ab88cfb73 Fix perlin noise after updating to 1.15 where vanilla implementation changed 2020-08-13 02:23:12 +02:00
89c7226e55 Work on Ender Eye spawn animation & Demon Eye transformation 2020-07-23 14:48:49 +02:00
86b1b858ba Update Gradle, IntelliJ files, and inspection profile 2020-07-21 05:43:56 +02:00
3c02852af0 Allow rewrapping IStructureTriggers and exposing the wrapped instance 2020-07-21 04:08:16 +02:00
8f737d9161 Implement Puzzle Block shape detection for better Medallion drops 2020-07-18 08:36:03 +02:00
24204910a8 Add BoundingBox.isInside(BlockPos) 2020-07-18 07:58:41 +02:00
5e99a759ac Add BlockPos.offsetUntilExclusive and offsetWhile & update existing code 2020-07-18 04:58:32 +02:00
27e3365abd Address a few TODOs (potions, bats, world properties, cave pather, etc) 2020-07-18 02:04:31 +02:00
540d725e31 Create a new '// POLISH' comment for things to address during polishing stage 2020-07-18 01:07:13 +02:00
4ed18bddaf Migrate Container & Particle class names 2020-07-17 07:22:26 +02:00
09f6ba19ad Migrate ITextComponent class names 2020-07-17 06:59:04 +02:00
ef10efad94 Fix Trinket Pouch not opening in inventory GUI after previous Minecraft update 2020-07-17 05:52:12 +02:00
22fd1aa474 Fix several issues (AI tweaks, entity NBT not saving, Amulet of Recovery crash) 2020-07-17 05:51:36 +02:00
2177384235 Add Blobby w/ most of the behavior implemented 2020-07-17 02:07:23 +02:00
8c20b78990 Add AI for jumping entities (follow leader, watch dying leader, watch idle, item pickup detour) 2020-07-17 02:01:22 +02:00
4309beaca5 Add a few ModelBox utilities 2020-07-17 01:56:38 +02:00
7aff962eee Add movement/look helpers for jumping entities 2020-07-16 20:13:27 +02:00
2c407c01bc Add beeline-preferring path navigator 2020-07-15 22:27:40 +02:00
4f766607e1 Conceptually change EntityBodyHeadless to EntityBodyHeadOnly & update EntityLookSlerp 2020-07-15 02:20:43 +02:00
859929a397 Simplify 'getQuads' call and fix broken randomness 2020-07-03 08:09:19 +02:00
609a3ff807 Remove some unnecessary classes/objects 2020-07-02 05:21:33 +02:00
72e32de1a3 Replace mob peaceful despawn bypass coremod with new vanilla feature 2020-07-01 23:50:13 +02:00
41763638f0 Reimplement ITeleporter without chunk preloading 2020-07-01 00:59:04 +02:00
543b5c3fd6 Allow (dis)charging the End Portal by sneaking & right-clicking in creative mode 2020-07-01 00:46:46 +02:00
e228c09692 Fix Amulet of Recovery container rows & report Energy cost calculation errors 2020-06-30 23:27:21 +02:00
eefa507bd6 Fix dropping Trinkets on death when 'keepInventory' is enabled 2020-06-30 23:26:39 +02:00
40c843bafa Fix Death Flower placement after 1.15 update & add withering sound fx 2020-06-30 22:25:13 +02:00
083d6448ef Fix overridden potions with no effects being listed in creative tab 2020-06-30 16:57:50 +02:00
91c5e81cbd Add shadows to Token Holders 2020-06-30 16:00:24 +02:00
ed81e21e8c Add custom Enderman teleportation sound fx 2020-06-30 15:51:39 +02:00
fe7393b5d4 Add Puzzle Medallion insertion sound fx 2020-06-30 15:50:42 +02:00
c9ffee2d1e Replace sword sweep & damage multiplier workarounds with ASM 2020-06-30 00:02:08 +02:00
ef6d8e7a0c Work around broken AI reinforcement call since 1.14 2020-06-29 21:11:52 +02:00
8d4e1cda4f Update code and textures to Minecraft 1.15.2 2020-06-29 21:11:51 +02:00
25096c4d33 Update meta files to Minecraft 1.15.2 2020-06-29 15:35:15 +02:00
aa57e9d2c5 Fix Endermen despawning during delayed teleportation 2020-06-29 12:17:29 +02:00
f6f631f6f3 Add Lost Garden territory w/ most main features 2020-06-26 13:16:10 +02:00
81b1a62083 Fix formatting in Spiderling & Undread loot tables 2020-06-26 11:48:54 +02:00
a39c6ecbb4 Allow territories to set Dry Vine color & optimize default color retrieval 2020-06-25 23:38:44 +02:00
ea73a78501 Work around a few portal rendering issues 2020-06-25 19:09:31 +02:00
4037ed172f Fix WorldToStructureWorldAdapter allowing double placements and breaking chests with torches 2020-06-23 22:31:26 +02:00
837da2fed5 Add CaveCarverEllipsoid & consecutive fail check to CaveGenerator 2020-06-23 21:29:05 +02:00
f11f85a81c Refactor Blobs & add 2 new populators 2020-06-21 11:09:05 +02:00
693b7232d3 Tweak Autumn tree generation & disable mipmapping for Whitebark Leaves 2020-06-09 15:10:44 +02:00
d5d58c41d7 Avoid making LazyOptional instances in getCapability 2020-06-09 13:47:14 +02:00
6c30afa3ca Fix Endersol & Humus bottom textures when merged (although it never appears naturally) 2020-05-30 17:09:13 +02:00
69b0b803a0 Make Humus merge with Endersol below instead of Endersol merging upwards 2020-05-30 11:47:45 +02:00
c27bce9425 Fix vanilla weather causing issues (fog color, wrong weather checks) in the End 2020-05-30 00:03:49 +02:00
fb8308b3c4 Refactor territory renderers & incorporate skyLight property into lightmap calculation 2020-05-29 22:17:13 +02:00
1d1c5eb06f Add 'offsetTowards' math extension & update existing code 2020-05-29 20:29:06 +02:00
f8a0b80ddc Add Endersol top/bottom texture 2020-05-27 17:47:46 +02:00
c08f994514 Replace End Stone texture with old vanilla one 2020-05-27 14:58:22 +02:00
b67102539c Replace VanillaModelOverrides with a hidden resource pack 2020-05-26 16:20:43 +02:00
2f393e3b72 Add Red Autumn Leaves & improve leaf textures 2020-05-26 00:18:53 +02:00
30c5201fd1 Add ModelBox.retainFace extension & update ModelEntityBossEnderEye 2020-05-24 22:09:32 +02:00
204b37ace7 Update Spawn Egg names to match vanilla 2020-05-24 18:07:11 +02:00
93037873dd Make Jar o' Dust break and drop its dusts after a nearby explosion 2020-05-23 18:12:25 +02:00
81dd8314c1 Add Shulker Box size variations w/ recipes 2020-05-23 18:12:24 +02:00
cc9bf35e99 Make getStackInRowAndColumn available to all dynamic recipes 2020-05-23 15:35:00 +02:00
acf42c38c9 Fix Brewing Stands not opening if loaded from a vanilla world 2020-05-23 14:53:24 +02:00
04e5ab97dc Fix field order in init & factory classes 2020-05-23 14:53:24 +02:00
4f70387e3a Add coremod to fix Infused TNT catching fire 2020-05-22 19:29:03 +02:00
7ca8589d29 Add starry sky to Forgotten Tombs 2020-05-22 16:32:57 +02:00
7ee1d8866c Fix particle alpha & void particle brightness 2020-05-22 15:07:19 +02:00
e22dbb597e Add sky cube scale parameter & foggy sky plane renderer 2020-05-22 14:03:17 +02:00
0214bfe15f Add GL.color that takes a Vec3d & update existing code 2020-05-22 13:51:59 +02:00
f20f7eb7e3 Fix client seeing rain while loading into the End 2020-05-22 09:01:18 +02:00
5ab4acc52d Add more Chests to Tomb Dungeon pieces 2020-05-21 22:43:33 +02:00
5bbf2feb25 Add Tomb Dungeon loot 2020-05-21 22:43:32 +02:00
e893348547 Fix 'set_item' loot function not crashing on invalid items 2020-05-21 20:39:24 +02:00
b932c3d7b6 Fix dying villager crash when reloading the world 2020-05-21 15:25:27 +02:00
0f887c515e Add '/hee causatum' subcommands (list, check, set) 2020-05-21 14:59:37 +02:00
47efddde53 Implement custom spawner taint mechanic 2020-05-21 14:34:38 +02:00
53fe8bb272 Add InBox constructor with more granular extra entity offsets 2020-05-21 14:24:01 +02:00
1d8e219674 Refactor BlockAbstractGoo collision limiter into a separate class 2020-05-21 09:40:20 +02:00
90e4db12f7 Update TerritoryGenerationCache to expire after 5 minutes & allow concurrency 2020-05-21 09:29:42 +02:00
3926fe96f3 Improve fog & skybox rendering with low chunk render distance 2020-05-21 08:59:36 +02:00
fec66ca034 Decorate Tomb Dungeon (cobwebs, crumbling ceiling) & tweak Dusty Stone physics 2020-05-21 06:07:51 +02:00
88f9a23df2 Add Tomb Dungeon generator & pieces 2020-05-20 16:24:59 +02:00
f96ee53833 Unfuck block mirror logic but better this time 2020-05-20 15:46:49 +02:00
1e0a2dac27 Add and expose some StructureBuild utilities & add documentation 2020-05-19 01:42:27 +02:00
ea2f042886 Revert mappings to 20200119-1.14.3 2020-05-18 01:13:03 +02:00
02bbb1b850 Replace 'pick_colored_gloomrock' and 'pick_music_disk' functions w/ 'set_item' 2020-05-18 00:53:17 +02:00
73974c71b6 Add loot function to change generated item 2020-05-18 00:43:14 +02:00
9e4e8f67d2 Add crumbling mechanic to Dusty Stone 2020-05-16 04:10:48 +02:00
bdaba72a82 Move BlockExperienceGate collision shape out for other blocks 2020-05-16 02:28:15 +02:00
4eee60949b Add Dusty Stone Decoration 2020-05-14 23:53:23 +02:00
9b696ab2c1 Add optional seed argument to '/hee structure x build' & CommandContext.getLong extension 2020-04-24 09:47:42 +02:00
f4ef7e2e38 Fix Kotlin sources by using slim Kottle as a dependency 2020-04-24 06:07:19 +02:00
b57a9a0962 Add optional run/mods_deobf.gradle for configuring deobf runtime mods 2020-04-23 23:52:37 +02:00
ab4cd44d14 Fix wrong break face using debug stick 2020-04-23 23:50:40 +02:00
db508a0a67 Add random chance of rainbow beds in Energy Shrine dormitory room 2020-04-23 19:57:24 +02:00
764b30c08d Expose StructurePiece.Instance owner and transform 2020-04-23 19:54:19 +02:00
9744b7b709 Add spectator mode to debug key shortcut (ctrl+tilde) 2020-04-23 19:53:08 +02:00
0e2ec8193f Add (temporary) debug coremod to fix MC-127862 2020-04-22 01:00:43 +02:00
e1fefa8b59 Improve debug/build stick with off-hand block placement 2020-04-22 00:58:26 +02:00
c51483cb0c Add debug build/break stick 2020-03-23 19:59:02 +01:00
3c17a99248 Work on Totem of Undying (new sound & particle FX, tweak balance) 2020-03-23 02:06:09 +01:00
ce661b9fb8 Add recipes for implemented infusions & Ancient Dust transformation 2020-03-22 21:37:00 +01:00
580021693c Update Enhanced Brewing Stand texture & override Brewing Stand item texture 2020-03-22 19:41:23 +01:00
ae5da9352d Add a system to override vanilla textures 2020-03-22 19:40:13 +01:00
c44eded6a0 Add Amelior w/ recipe and Brewing Stand upgrade mechanic 2020-03-22 17:35:44 +01:00
8c6acca74c Fix Brewing Stand not ticking & not accepting End Powder via Hoppers 2020-03-22 17:01:06 +01:00
ee976a258d Add Instability Orb, Ectoplasm, and Enchanted Claw (textures only) 2020-03-22 16:19:50 +01:00
17a8ea72c3 Add Infusion Table Core w/ recipe 2020-03-21 16:14:08 +01:00
9ab0559144 Add Infusion Table 2020-03-21 16:11:13 +01:00
355a7ba63e Minor formatting fixes & override EntityBossEnderEye.isNonBoss 2020-03-21 14:18:22 +01:00
a62e8a8b7e Include vanilla blocks/items in Infusion matching checks 2020-03-20 17:05:18 +01:00
5f14ec633a Add ITableContext.requestUseSupportingItem with a filter parameter 2020-02-28 15:57:47 +01:00
39f73b259e Add Accumulation Table Core & Experience Table Core w/ recipes 2020-02-27 17:14:42 +01:00
4c90629922 Add Ticking Core 2020-02-27 17:14:13 +01:00
c02078074b Add base class for Table Core items 2020-02-27 16:47:27 +01:00
9c82e4db2a Add Experience Table 2020-02-27 13:17:47 +01:00
cd2a480ab8 Redesign Table Pedestal comparator output 2020-02-27 09:26:12 +01:00
b2cd3f604f Add custom Bottle o' Enchanting w/ special Table Pedestal stacking behavior 2020-02-27 08:45:02 +01:00
77c9023d69 Replace uses of stupid Inventory.addItem with implementation that checks NBT 2020-02-27 07:37:18 +01:00
9a0ebf51eb Fix empty Jar o' Dust rendering 2020-02-26 14:43:41 +01:00
7de1d6cba9 Work on Tables (supporting item, Pedestal logic & color tweaks) 2020-02-26 14:43:16 +01:00
412ed53da3 Add WIP Banishment status effect 2020-02-26 08:39:15 +01:00
ffada411d0 Fix broken Fermented Spider Eye brewing modifier 2020-02-25 23:56:07 +01:00
0a4e74670a Replace PotionBase by moving constants and tweaking constructors 2020-02-25 15:39:58 +01:00
f8540e89b0 Add Corruption status effect 2020-02-25 15:17:40 +01:00
caee859fff Fix a few language key issues 2020-02-25 11:16:24 +01:00
5e37c08559 Reorganize potion types to avoid circular references 2020-02-25 10:53:04 +01:00
53b2832605 Fix compile error in Territory_ForgottenTombs & unused import in EntityProjectileEnderPearl 2020-02-25 07:08:55 +01:00
c65de1cbeb Work around 1.14 freeze when replacing an entity after loading an old world 2020-02-25 07:04:46 +01:00
99824b84b7 Remove server-side debug init, banner texture testing, and coremod debug print 2020-02-25 07:04:45 +01:00
3cccf245b0 Update build.gradle, add IJ files to gitignore, and begone daemon 2020-02-25 06:57:15 +01:00
12f63e69e7 Add a few utilities to IBlockPicker (thenApplying function, thenSetting property) 2020-02-14 19:41:30 +01:00
ca1ee7d203 Fix structure bugs (TE triggers, Chest mirroring, Stronghold Library stairs) 2020-02-14 18:11:11 +01:00
2a21ccdb5d Register custom argument types to support dedicated servers 2020-02-14 15:59:36 +01:00
68c4b9bf6b Fix client side generating The Hub when asking for spawn point 2020-02-14 14:21:39 +01:00
e0d46e4d1d Fix worldgen causing block drops & vanilla stairs mirror bug 2020-02-11 15:47:53 +01:00
c9fc3a1ac0 Minor refactoring & piece validation in structure builders 2020-02-11 12:02:57 +01:00
39c5eaef4b Reimplement Stronghold & Energy Shrine generation using technical entity 2020-02-08 02:44:16 +01:00
42e97b0ee9 Fix Item and model events causing dedicated server crash 2020-02-07 12:31:04 +01:00
e3563a99e7 Replace debug window title w/ CustomWindowTitle & push eula txt 2020-02-07 11:45:35 +01:00
e294af9973 Fix broken BlobPopulatorFill & EnergyClusterStructureTrigger after 1.14 update 2020-02-07 10:57:30 +01:00
cc1964711f Add player parameter to TerritoryRenderer setup & tick methods 2020-02-06 21:31:46 +01:00
2000 changed files with 39419 additions and 21344 deletions

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
* text=auto eol=lf

25
.gitignore vendored
View File

@@ -4,12 +4,17 @@ out
*.iws
*.iml
.idea/gradle.xml
.idea/tasks.xml
.idea/workspace.xml
.idea/codeStyles
.idea/libraries
.idea/*
!.idea/inspectionProfiles
!.idea/codeInsightSettings.xml
!.idea/compiler.xml
!.idea/encodings.xml
!.idea/gradle.xml
!.idea/jsLibraryMappings.xml
!.idea/kotlinc.xml
!.idea/statistic.xml
!.idea/vcs.xml
!.idea/shelf
# eclipse
bin
@@ -26,3 +31,11 @@ build
# game
run/*
!run/*.ps1
!run/eula.txt
!run/mods
run/mods/*
!run/mods/CustomWindowTitle-*
!run/mods/FixAltGr.jar
!run/config
run/config/*
!run/config/customwindowtitle-client.toml

View File

@@ -14,6 +14,7 @@
<name>javax.swing</name>
<name>javax.xml</name>
<name>jdk.internal</name>
<name>kotlin.random.Random</name>
<name>net.java.games.input.Component.Identifier.Key</name>
<name>net.minecraft.init.Blocks</name>
<name>net.minecraft.init.Items</name>
@@ -38,4 +39,4 @@
<name>sun</name>
</excluded-names>
</component>
</project>
</project>

8
.idea/compiler.xml generated
View File

@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="1.8">
<module name="Hardcore-Ender-Expansion-2.api" target="1.8" />
<module name="Hardcore-Ender-Expansion-2.main" target="1.8" />
<module name="Hardcore-Ender-Expansion-2.test" target="1.8" />
</bytecodeTargetLevel>
<bytecodeTargetLevel target="1.8" />
</component>
</project>
</project>

21
.idea/gradle.xml generated Normal file
View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="delegatedBuild" value="true" />
<option name="testRunner" value="GRADLE" />
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/data" />
<option value="$PROJECT_DIR$/src/system" />
</set>
</option>
</GradleProjectSettings>
</option>
</component>
</project>

462
.idea/inspectionProfiles/Project.xml generated Normal file
View File

@@ -0,0 +1,462 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project" />
<inspection_tool class="AccessToNonThreadSafeStaticFieldFromInstance" enabled="true" level="WARNING" enabled_by_default="true">
<option name="nonThreadSafeClasses">
<value />
</option>
<option name="nonThreadSafeTypes" value="" />
</inspection_tool>
<inspection_tool class="AccessToStaticFieldLockedOnInstance" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AddOperatorModifier" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="AmbiguousFieldAccess" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AmbiguousMethodCall" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AnonymousInnerClassMayBeStatic" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ArrayEquality" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AssertEqualsCalledOnArray" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AssertsWithoutMessagesTestNG" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AssignmentOrReturnOfFieldWithMutableType" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AssignmentToCatchBlockParameter" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AssignmentToLambdaParameter" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AssignmentToMethodParameter" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreTransformationOfOriginalParameter" value="true" />
</inspection_tool>
<inspection_tool class="AssignmentToStaticFieldFromInstanceMethod" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AssignmentUsedAsCondition" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AutoBoxing" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreAddedToCollection" value="false" />
</inspection_tool>
<inspection_tool class="AutoCloseableResource" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AutoUnboxing" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AwaitNotInLoop" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="AwaitWithoutCorrespondingSignal" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="BadOddness" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="BigDecimalEquals" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="BigDecimalLegacyMethod" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="BooleanExpressionMayBeConditional" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CallToNativeMethodWhileLocked" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CascadeIf" enabled="false" level="INFO" enabled_by_default="false" />
<inspection_tool class="CastConflictsWithInstanceof" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CastToIncompatibleInterface" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ChainedEquality" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ChannelResource" enabled="true" level="WARNING" enabled_by_default="true">
<option name="insideTryAllowed" value="false" />
</inspection_tool>
<inspection_tool class="ClassLoaderInstantiation" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ClassMayBeInterface" enabled="true" level="INFORMATION" enabled_by_default="true">
<option name="reportClassesWithNonAbstractMethods" value="true" />
</inspection_tool>
<inspection_tool class="ClassName" enabled="true" level="WEAK WARNING" enabled_by_default="true">
<option name="namePattern" value="[A-Z][_A-Za-z\d]*" />
</inspection_tool>
<inspection_tool class="ClassNameDiffersFromFileName" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ClassNewInstance" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ClassWithOnlyPrivateConstructors" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CloneableClassInSecureContext" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CollectionContainsUrl" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CollectionsFieldAccessReplaceableByMethodCall" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ComparableImplementedButEqualsNotOverridden" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ComparatorNotSerializable" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CompareToUsesNonFinalVariable" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ConditionSignal" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ConditionalExpression" enabled="true" level="INFORMATION" enabled_by_default="true">
<option name="ignoreSimpleAssignmentsAndReturns" value="true" />
</inspection_tool>
<inspection_tool class="ConfusingElse" enabled="false" level="WEAK WARNING" enabled_by_default="false">
<option name="reportWhenNoStatementFollow" value="true" />
</inspection_tool>
<inspection_tool class="ConfusingFloatingPointLiteral" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ConfusingMainMethod" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ConfusingOctalEscape" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ConstantConditions" enabled="true" level="WARNING" enabled_by_default="true">
<scope name="Mixins" level="INFORMATION" enabled="true">
<option name="SUGGEST_NULLABLE_ANNOTATIONS" value="false" />
<option name="DONT_REPORT_TRUE_ASSERT_STATEMENTS" value="false" />
</scope>
<option name="SUGGEST_NULLABLE_ANNOTATIONS" value="false" />
<option name="DONT_REPORT_TRUE_ASSERT_STATEMENTS" value="false" />
</inspection_tool>
<inspection_tool class="ConstantJUnitAssertArgument" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ConstantMathCall" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ConstantTestNGAssertArgument" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ControlFlowStatementWithoutBraces" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="ConvertJavadoc" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ConvertLambdaToReference" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="ConvertOldAnnotations" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CssReplaceWithShorthandUnsafely" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="CustomClassloader" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CustomSecurityManager" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CyclicClassDependency" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="CyclicPackageDependency" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="DateToString" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="DefaultNotLastCaseInSwitch" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="DoubleBraceInitialization" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="DoubleCheckedLocking" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreOnVolatileVariables" value="false" />
</inspection_tool>
<inspection_tool class="DriverManagerGetConnection" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="DuplicateBooleanBranch" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ES6ConvertLetToConst" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="ES6ConvertModuleExportToExport" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="ES6ConvertRequireIntoImport" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="ES6ConvertToForOf" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="ES6ConvertVarToLetConst" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="ES6ShorthandObjectProperty" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="EmptyStatementBody" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_reportEmptyBlocks" value="true" />
<option name="commentsAreContent" value="true" />
</inspection_tool>
<inspection_tool class="EmptySynchronizedStatement" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="EqualsCalledOnEnumConstant" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="EqualsHashCodeCalledOnUrl" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="EqualsUsesNonFinalVariable" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ErrorRethrown" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ExceptionNameDoesntEndWithException" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ExpectedExceptionNeverThrownTestNG" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ExtendsThread" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ExtendsThrowable" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ExternalizableWithSerializationMethods" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="FallthruInSwitchStatement" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="FieldAccessedSynchronizedAndUnsynchronized" enabled="true" level="WARNING" enabled_by_default="true">
<option name="countGettersAndSetters" value="false" />
</inspection_tool>
<inspection_tool class="FieldHidesSuperclassField" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_ignoreInvisibleFields" value="false" />
<option name="ignoreStaticFields" value="false" />
</inspection_tool>
<inspection_tool class="FieldMayBeStatic" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="Finalize" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreTrivialFinalizers" value="true" />
</inspection_tool>
<inspection_tool class="FinalizeNotProtected" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="FloatingPointEquality" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="FoldInitializerAndIfToElvis" enabled="false" level="INFO" enabled_by_default="false" />
<inspection_tool class="FunctionName" enabled="true" level="WEAK WARNING" enabled_by_default="true">
<option name="namePattern" value="([A-Za-z][A-Za-z\d]*)|([A-Z][_A-Z\d]*)" />
</inspection_tool>
<inspection_tool class="HashCodeUsesNonFinalVariable" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="HibernateResource" enabled="true" level="WARNING" enabled_by_default="true">
<option name="insideTryAllowed" value="false" />
</inspection_tool>
<inspection_tool class="HtmlMissingClosingTag" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="IOResource" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoredTypesString" value="java.io.ByteArrayOutputStream,java.io.ByteArrayInputStream,java.io.StringBufferInputStream,java.io.CharArrayWriter,java.io.CharArrayReader,java.io.StringWriter,java.io.StringReader" />
<option name="insideTryAllowed" value="false" />
</inspection_tool>
<inspection_tool class="ImplicitDefaultCharsetUsage" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="InconsistentLanguageLevel" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="InconsistentLineSeparators" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="InnerClassOnInterface" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_ignoreInnerInterfaces" value="true" />
</inspection_tool>
<inspection_tool class="InnerClassReferencedViaSubclass" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="InnerClassVariableHidesOuterClassVariable" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_ignoreInvisibleFields" value="false" />
</inspection_tool>
<inspection_tool class="InstanceofCatchParameter" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="InstanceofIncompatibleInterface" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="InstanceofThis" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="InterfaceMayBeAnnotatedFunctional" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="IteratorNextDoesNotThrowNoSuchElementException" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="JDBCExecuteWithNonConstantString" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="JDBCPrepareStatementWithNonConstantString" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="JDBCResource" enabled="true" level="WARNING" enabled_by_default="true">
<option name="insideTryAllowed" value="false" />
</inspection_tool>
<inspection_tool class="JNDIResource" enabled="true" level="WARNING" enabled_by_default="true">
<option name="insideTryAllowed" value="false" />
</inspection_tool>
<inspection_tool class="JSArrowFunctionBracesCanBeRemoved" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="JSEqualityComparisonWithCoercion" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="JSFunctionExpressionToArrowFunction" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="JSLastCommaInArrayLiteral" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="JSLastCommaInObjectLiteral" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="JSNonASCIINames" enabled="true" level="WARNING" enabled_by_default="true">
<option name="myAllowOnlyAscii" value="true" />
</inspection_tool>
<inspection_tool class="JSOctalInteger" enabled="true" level="ERROR" enabled_by_default="true">
<option name="myReportNonStrictEs5" value="true" />
</inspection_tool>
<inspection_tool class="JSReferencingMutableVariableFromClosure" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="JSStringConcatenationToES6Template" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="JSUndeclaredVariable" enabled="true" level="WEAK WARNING" enabled_by_default="true">
<option name="myCheckGlobalDefinitions" value="true" />
</inspection_tool>
<inspection_tool class="JSUnfilteredForInLoop" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="JSUnresolvedFunction" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="JSUnresolvedVariable" enabled="true" level="WEAK WARNING" enabled_by_default="true">
<option name="myStrictlyCheckProperties" value="false" />
</inspection_tool>
<inspection_tool class="JSUnusedGlobalSymbols" enabled="false" level="WARNING" enabled_by_default="false">
<option name="myReportUnusedDefinitions" value="true" />
<option name="myReportUnusedProperties" value="true" />
</inspection_tool>
<inspection_tool class="JSValidateTypes" enabled="false" level="WEAK WARNING" enabled_by_default="false" />
<inspection_tool class="JUnitDatapoint" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="JUnitRule" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="JUnitTestNG" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="JavadocHtmlLint" enabled="true" level="ERROR" enabled_by_default="true" />
<inspection_tool class="LambdaCanBeMethodCall" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="LengthOneStringInIndexOf" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="LengthOneStringsInConcatenation" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="LoadLibraryWithNonConstantString" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="LocalCanBeFinal" enabled="true" level="WARNING" enabled_by_default="true">
<option name="REPORT_VARIABLES" value="true" />
<option name="REPORT_PARAMETERS" value="true" />
</inspection_tool>
<inspection_tool class="MalformedSetUpTearDown" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="MapReplaceableByEnumMap" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="MethodMayBeStatic" enabled="true" level="WARNING" enabled_by_default="true">
<scope name="Mixins" level="INFORMATION" enabled="true">
<option name="m_onlyPrivateOrFinal" value="false" />
<option name="m_ignoreEmptyMethods" value="true" />
</scope>
<option name="m_onlyPrivateOrFinal" value="false" />
<option name="m_ignoreEmptyMethods" value="true" />
</inspection_tool>
<inspection_tool class="MethodMayBeSynchronized" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="MethodOverloadsParentMethod" enabled="true" level="WARNING" enabled_by_default="true">
<option name="reportIncompatibleParameters" value="true" />
</inspection_tool>
<inspection_tool class="MethodOverridesInaccessibleMethodOfSuper" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="MethodOverridesStaticMethod" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="MisorderedAssertEqualsArgumentsTestNG" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="MisorderedAssertEqualsParameters" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="MissingOverrideAnnotation" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreObjectMethods" value="false" />
<option name="ignoreAnonymousClassMethods" value="false" />
</inspection_tool>
<inspection_tool class="MissortedModifiers" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_requireAnnotationsFirst" value="true" />
</inspection_tool>
<inspection_tool class="MultipleTopLevelClassesInFile" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NakedNotify" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NegatedConditional" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_ignoreNegatedNullComparison" value="true" />
</inspection_tool>
<inspection_tool class="NestedAssignment" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NestedSwitchStatement" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NestedSynchronizedStatement" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonAsciiCharacters" enabled="true" level="WARNING" enabled_by_default="true">
<option name="CHECK_FOR_FILES_CONTAINING_BOM" value="true" />
</inspection_tool>
<inspection_tool class="NonExceptionNameEndsWithException" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonFinalClone" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonFinalFieldInEnum" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonFinalFieldOfException" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonFinalUtilityClass" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonReproducibleMathCall" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonSerializableFieldInSerializableClass" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignorableAnnotations">
<value />
</option>
<option name="ignoreAnonymousInnerClasses" value="false" />
<option name="superClassString" value="java.awt.Component" />
</inspection_tool>
<inspection_tool class="NonSerializableObjectBoundToHttpSession" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonSerializableObjectPassedToObjectStream" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonSerializableWithSerialVersionUIDField" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonSerializableWithSerializationMethods" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonShortCircuitBoolean" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonSynchronizedMethodOverridesSynchronizedMethod" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NonThreadSafeLazyInitialization" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NotifyCalledOnCondition" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NotifyWithoutCorrespondingWait" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NullThrown" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="NumericToString" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ObjectInstantiationInEqualsHashCode" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ObjectNotify" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ObjectToString" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ObsoleteCollection" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreRequiredObsoleteCollectionTypes" value="true" />
</inspection_tool>
<inspection_tool class="OctalAndDecimalIntegersMixed" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="OverloadedVarargsMethod" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ParameterHidingMemberVariable" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_ignoreInvisibleFields" value="true" />
<option name="m_ignoreStaticMethodParametersHidingInstanceFields" value="true" />
<option name="m_ignoreForConstructors" value="true" />
<option name="m_ignoreForPropertySetters" value="true" />
<option name="m_ignoreForAbstractMethods" value="false" />
</inspection_tool>
<inspection_tool class="ParameterizedParametersStaticCollection" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ProblematicVarargsMethodOverride" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ProtectedMemberInFinalClass" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="PublicFieldAccessedInSynchronizedContext" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="PublicStaticArrayField" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="PublicStaticCollectionField" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ReadObjectAndWriteObjectPrivate" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ReadObjectInitialization" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ReadResolveAndWriteReplaceProtected" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="RedundantImplements" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreSerializable" value="true" />
<option name="ignoreCloneable" value="true" />
</inspection_tool>
<inspection_tool class="RedundantSuppression" enabled="true" level="WARNING" enabled_by_default="true">
<option name="IGNORE_ALL" value="true" />
</inspection_tool>
<inspection_tool class="RegExpOctalEscape" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="ReplaceAssignmentWithOperatorAssignment" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreLazyOperators" value="true" />
<option name="ignoreObscureOperators" value="true" />
</inspection_tool>
<inspection_tool class="ReplaceCollectionCountWithSize" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="ReplaceGuardClauseWithFunctionCall" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="ReplaceSubstringWithDropLast" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="ReplaceSubstringWithIndexingOperation" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="ReplaceSubstringWithSubstringAfter" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="ReplaceSubstringWithSubstringBefore" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="ReplaceSubstringWithTake" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
<inspection_tool class="ResultOfObjectAllocationIgnored" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ResultSetIndexZero" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ReturnOfInnerClass" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="RuntimeExec" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="RuntimeExecWithNonConstantString" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SafeLock" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SerialPersistentFieldsWithWrongSignature" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SerialVersionUIDNotStaticFinal" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SerializableHasSerialVersionUIDField" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreAnonymousInnerClasses" value="false" />
<option name="superClassString" value="java.awt.Component" />
</inspection_tool>
<inspection_tool class="SerializableHasSerializationMethods" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreAnonymousInnerClasses" value="false" />
<option name="superClassString" value="java.awt.Component" />
</inspection_tool>
<inspection_tool class="SerializableInnerClassHasSerialVersionUIDField" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreAnonymousInnerClasses" value="false" />
<option name="superClassString" value="java.awt.Component" />
</inspection_tool>
<inspection_tool class="SerializableInnerClassWithNonSerializableOuterClass" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreAnonymousInnerClasses" value="false" />
<option name="superClassString" value="java.awt.Component" />
</inspection_tool>
<inspection_tool class="SerializableStoresNonSerializable" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SerializableWithUnconstructableAncestor" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SetReplaceableByEnumSet" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SharedThreadLocalRandom" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SignalWithoutCorrespondingAwait" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SimpleDateFormatWithoutLocale" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SimplifiableAnnotation" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SingleStatementInBlock" enabled="false" level="INFORMATION" enabled_by_default="false" />
<inspection_tool class="SizeReplaceableByIsEmpty" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SleepWhileHoldingLock" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SocketResource" enabled="true" level="WARNING" enabled_by_default="true">
<option name="insideTryAllowed" value="false" />
</inspection_tool>
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
<option name="processCode" value="true" />
<option name="processLiterals" value="true" />
<option name="processComments" value="true" />
</inspection_tool>
<inspection_tool class="StringBufferToStringInConcatenation" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="StringConcatenationInFormatCall" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="StringConcatenationInMessageFormatCall" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="StringConcatenationMissingWhitespace" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="StringEqualsEmptyString" enabled="true" level="WARNING" enabled_by_default="true">
<option name="SUPPRESS_FOR_VALUES_WHICH_COULD_BE_NULL" value="true" />
</inspection_tool>
<inspection_tool class="StringReplaceableByStringBuffer" enabled="true" level="WARNING" enabled_by_default="true">
<option name="onlyWarnOnLoop" value="true" />
</inspection_tool>
<inspection_tool class="StringToUpperWithoutLocale" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SubtractionInCompareTo" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SuspiciousArrayCast" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SuspiciousIndentAfterControlStatement" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SuspiciousLiteralUnderscore" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SwitchStatementWithConfusingDeclaration" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SynchronizationOnStaticField" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SynchronizeOnLock" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SynchronizeOnThis" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SynchronizedMethod" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_includeNativeMethods" value="true" />
<option name="ignoreSynchronizedSuperMethods" value="true" />
</inspection_tool>
<inspection_tool class="SynchronizedOnLiteralObject" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SystemGC" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SystemGetenv" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SystemProperties" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SystemRunFinalizersOnExit" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="SystemSetSecurityManager" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="TestCaseInProductCode" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="TestCaseWithConstructor" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="TestCaseWithNoTestMethods" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreSupers" value="true" />
</inspection_tool>
<inspection_tool class="TestMethodInProductCode" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="TestMethodWithoutAssertion" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ThreadLocalNotStaticFinal" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ThreadPriority" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ThreadStartInConstruction" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ThreadStopSuspendResume" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ThreadYield" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="ThrowCaughtLocally" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreRethrownExceptions" value="true" />
</inspection_tool>
<inspection_tool class="TimeToString" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="TransientFieldInNonSerializableClass" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="TransientFieldNotInitialized" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="TrivialStringConcatenation" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UnaryPlus" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UnconditionalWait" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UndeclaredTests" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UnnecessarilyQualifiedStaticUsage" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_ignoreStaticFieldAccesses" value="false" />
<option name="m_ignoreStaticMethodCalls" value="false" />
<option name="m_ignoreStaticAccessFromStaticContext" value="false" />
</inspection_tool>
<inspection_tool class="UnnecessarilyQualifiedStaticallyImportedElement" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UnnecessaryBoxing" enabled="true" level="WARNING" enabled_by_default="true">
<option name="onlyReportSuperfluouslyBoxed" value="true" />
</inspection_tool>
<inspection_tool class="UnnecessaryConstantArrayCreationExpression" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UnnecessaryConstructor" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreAnnotations" value="true" />
</inspection_tool>
<inspection_tool class="UnnecessaryLocalVariable" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_ignoreImmediatelyReturnedVariables" value="true" />
<option name="m_ignoreAnnotatedVariables" value="false" />
</inspection_tool>
<inspection_tool class="UnnecessaryLocalVariableJS" enabled="true" level="WARNING" enabled_by_default="true">
<option name="m_ignoreImmediatelyReturnedVariables" value="true" />
<option name="m_ignoreAnnotatedVariables" value="false" />
</inspection_tool>
<inspection_tool class="UnnecessaryParentheses" enabled="true" level="INFORMATION" enabled_by_default="true">
<option name="ignoreClarifyingParentheses" value="true" />
<option name="ignoreParenthesesOnConditionals" value="false" />
<option name="ignoreParenthesesOnLambdaParameter" value="false" />
</inspection_tool>
<inspection_tool class="UnnecessaryToStringCall" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UnnecessaryUnaryMinus" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UnnecessaryUnboxing" enabled="true" level="WARNING" enabled_by_default="true">
<option name="onlyReportSuperfluouslyUnboxed" value="true" />
</inspection_tool>
<inspection_tool class="UnusedProperty" enabled="false" level="WARNING" enabled_by_default="false" />
<inspection_tool class="UseOfAWTPeerClass" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UseOfJDBCDriverClass" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UseOfObsoleteAssert" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UseOfObsoleteDateTimeApi" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UseOfProcessBuilder" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UseOfPropertiesAsHashtable" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UseOfSunClasses" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UtilityClassWithPublicConstructor" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="UtilityClassWithoutPrivateConstructor" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignorableAnnotations">
<value />
</option>
<option name="ignoreClassesWithOnlyMain" value="true" />
</inspection_tool>
<inspection_tool class="VariableNotUsedInsideIf" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="VolatileArrayField" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="WaitCalledOnCondition" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="WaitNotInLoop" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="WaitNotifyNotInSynchronizedContext" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="WaitOrAwaitWithoutTimeout" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="WaitWhileHoldingTwoLocks" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="WaitWithoutCorrespondingNotify" enabled="true" level="WARNING" enabled_by_default="true" />
<inspection_tool class="WhileLoopSpinsOnField" enabled="true" level="WARNING" enabled_by_default="true">
<option name="ignoreNonEmtpyLoops" value="false" />
</inspection_tool>
<inspection_tool class="ZeroLengthArrayInitialization" enabled="true" level="WARNING" enabled_by_default="true" />
</profile>
</component>

View File

@@ -1,22 +0,0 @@
<component name="InspectionProjectProfileManager">
<profile version="1.0">
<option name="myName" value="Project Default" />
<inspection_tool class="CascadeIf" enabled="false" level="INFO" enabled_by_default="false" />
<inspection_tool class="ClassName" enabled="true" level="WEAK WARNING" enabled_by_default="true">
<option name="namePattern" value="[A-Z][_A-Za-z\d]*" />
</inspection_tool>
<inspection_tool class="FoldInitializerAndIfToElvis" enabled="false" level="INFO" enabled_by_default="false" />
<inspection_tool class="FunctionName" enabled="true" level="WEAK WARNING" enabled_by_default="true">
<option name="namePattern" value="([A-Za-z][A-Za-z\d]*)|([A-Z][_A-Z\d]*)" />
</inspection_tool>
<inspection_tool class="RedundantSuppression" enabled="true" level="WARNING" enabled_by_default="true">
<option name="IGNORE_ALL" value="true" />
</inspection_tool>
<inspection_tool class="SpellCheckingInspection" enabled="false" level="TYPO" enabled_by_default="false">
<option name="processCode" value="true" />
<option name="processLiterals" value="true" />
<option name="processComments" value="true" />
</inspection_tool>
<inspection_tool class="UnusedProperty" enabled="false" level="WARNING" enabled_by_default="false" />
</profile>
</component>

View File

@@ -0,0 +1,6 @@
<component name="InspectionProjectProfileManager">
<settings>
<option name="PROJECT_PROFILE" value="Project" />
<version value="1.0" />
</settings>
</component>

7
.idea/jsLibraryMappings.xml generated Normal file
View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptLibraryMappings">
<includedPredefinedLibrary name="Nashorn" />
<excludedPredefinedLibrary name="HTML" />
</component>
</project>

18
.idea/misc.xml generated
View File

@@ -14,12 +14,18 @@
<item index="9" class="java.lang.String" itemvalue="net.minecraftforge.fml.relauncher.IFMLLoadingPlugin.Name" />
</list>
</component>
<component name="FrameworkDetectionExcludesConfiguration">
<file type="web" url="file://$PROJECT_DIR$" />
</component>
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES5" />
</component>
<component name="NullableNotNullManager">
<option name="myDefaultNullable" value="javax.annotation.Nullable" />
<option name="myDefaultNotNull" value="javax.annotation.Nonnull" />
<option name="myNullables">
<value>
<list size="11">
<list size="14">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
<item index="2" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
@@ -31,12 +37,15 @@
<item index="8" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableDecl" />
<item index="9" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableType" />
<item index="10" class="java.lang.String" itemvalue="com.android.annotations.Nullable" />
<item index="11" class="java.lang.String" itemvalue="org.eclipse.jdt.annotation.Nullable" />
<item index="12" class="java.lang.String" itemvalue="io.reactivex.annotations.Nullable" />
<item index="13" class="java.lang.String" itemvalue="io.reactivex.rxjava3.annotations.Nullable" />
</list>
</value>
</option>
<option name="myNotNulls">
<value>
<list size="10">
<list size="13">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
@@ -47,11 +56,14 @@
<item index="7" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullDecl" />
<item index="8" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullType" />
<item index="9" class="java.lang.String" itemvalue="com.android.annotations.NonNull" />
<item index="10" class="java.lang.String" itemvalue="org.eclipse.jdt.annotation.NonNull" />
<item index="11" class="java.lang.String" itemvalue="io.reactivex.annotations.NonNull" />
<item index="12" class="java.lang.String" itemvalue="io.reactivex.rxjava3.annotations.NonNull" />
</list>
</value>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="false" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8 DCEVM" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/bin" />
</component>
</project>

10
.idea/modules.xml generated
View File

@@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/modules/Hardcore-Ender-Expansion-2.iml" filepath="$PROJECT_DIR$/.idea/modules/Hardcore-Ender-Expansion-2.iml" />
<module fileurl="file://$PROJECT_DIR$/.idea/modules/Hardcore-Ender-Expansion-2.main.iml" filepath="$PROJECT_DIR$/.idea/modules/Hardcore-Ender-Expansion-2.main.iml" />
<module fileurl="file://$PROJECT_DIR$/.idea/modules/Hardcore-Ender-Expansion-2.test.iml" filepath="$PROJECT_DIR$/.idea/modules/Hardcore-Ender-Expansion-2.test.iml" />
</modules>
</component>
</project>

4
.idea/shelf/Datagen_Recipes.xml generated Normal file
View File

@@ -0,0 +1,4 @@
<changelist name="Datagen_Recipes" date="1601734824200" recycled="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Datagen_Recipes/shelved.patch" />
<option name="DESCRIPTION" value="Datagen Recipes" />
</changelist>

View File

@@ -0,0 +1,79 @@
Index: data/src/main/java/chylex/hee/datagen/DataGen.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
<+>package chylex.hee.datagen\nimport chylex.hee.HEE\nimport chylex.hee.datagen.client.BlockItemModels\nimport chylex.hee.datagen.client.BlockModels\nimport chylex.hee.datagen.client.BlockStates\nimport chylex.hee.datagen.client.ItemModels\nimport chylex.hee.system.forge.SubscribeAllEvents\nimport chylex.hee.system.forge.SubscribeEvent\nimport net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus.MOD\nimport net.minecraftforge.fml.event.lifecycle.GatherDataEvent\n\n@SubscribeAllEvents(modid = HEE.ID, bus = MOD)\nobject DataGen{\n\t@SubscribeEvent\n\tfun register(e: GatherDataEvent){\n\t\tval modid = HEE.ID\n\t\tval helper = e.existingFileHelper\n\t\t\n\t\twith(e.generator){\n\t\t\tif (e.includeClient()){\n\t\t\t\taddProvider(BlockStates(this, modid, helper))\n\t\t\t\taddProvider(BlockModels(this, modid, helper))\n\t\t\t\taddProvider(BlockItemModels(this, modid, helper))\n\t\t\t\taddProvider(ItemModels(this, modid, helper))\n\t\t\t}\n\t\t}\n\t}\n}\n
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- a/data/src/main/java/chylex/hee/datagen/DataGen.kt (revision f8888e0a3b33898551301124a0879cea12fc1f06)
+++ b/data/src/main/java/chylex/hee/datagen/DataGen.kt (date 1601732788951)
@@ -4,6 +4,7 @@
import chylex.hee.datagen.client.BlockModels
import chylex.hee.datagen.client.BlockStates
import chylex.hee.datagen.client.ItemModels
+import chylex.hee.datagen.server.Recipes
import chylex.hee.system.forge.SubscribeAllEvents
import chylex.hee.system.forge.SubscribeEvent
import net.minecraftforge.fml.common.Mod.EventBusSubscriber.Bus.MOD
@@ -23,6 +24,10 @@
addProvider(BlockItemModels(this, modid, helper))
addProvider(ItemModels(this, modid, helper))
}
+
+ if (e.includeServer()){
+ addProvider(Recipes(this))
+ }
}
}
}
Index: data/src/main/java/chylex/hee/datagen/server/Recipes.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- /dev/null (date 1601733265753)
+++ b/data/src/main/java/chylex/hee/datagen/server/Recipes.kt (date 1601733265753)
@@ -0,0 +1,15 @@
+package chylex.hee.datagen.server
+import chylex.hee.datagen.server.util.ingredients
+import chylex.hee.datagen.server.util.shapeless
+import chylex.hee.init.ModItems
+import net.minecraft.data.DataGenerator
+import net.minecraft.data.IFinishedRecipe
+import net.minecraft.data.RecipeProvider
+import net.minecraft.item.Items
+import java.util.function.Consumer
+
+class Recipes(generator: DataGenerator) : RecipeProvider(generator){
+ override fun registerRecipes(consumer: Consumer<IFinishedRecipe>) = with(consumer){
+ shapeless(ModItems.ALTERATION_NEXUS, 1){ ingredients(Items.DIAMOND, Items.ENDER_EYE, ModItems.ANCIENT_DUST, ModItems.ETHEREUM) }
+ }
+}
Index: data/src/main/java/chylex/hee/datagen/server/util/RecipeProviderExt.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- /dev/null (date 1601733249382)
+++ b/data/src/main/java/chylex/hee/datagen/server/util/RecipeProviderExt.kt (date 1601733249382)
@@ -0,0 +1,20 @@
+package chylex.hee.datagen.server.util
+import net.minecraft.data.IFinishedRecipe
+import net.minecraft.data.ShapedRecipeBuilder
+import net.minecraft.data.ShapelessRecipeBuilder
+import net.minecraft.util.IItemProvider
+import java.util.function.Consumer
+
+fun Consumer<IFinishedRecipe>.shaped(result: IItemProvider, amount: Int, callback: ShapedRecipeBuilder.() -> Unit){
+ ShapedRecipeBuilder(result, amount).apply(callback).build(this)
+}
+
+fun Consumer<IFinishedRecipe>.shapeless(result: IItemProvider, amount: Int, callback: ShapelessRecipeBuilder.() -> Unit){
+ ShapelessRecipeBuilder(result, amount).apply(callback).build(this)
+}
+
+fun ShapelessRecipeBuilder.ingredients(vararg ingredients: IItemProvider){
+ for(ingredient in ingredients){
+ this.addIngredient(ingredient)
+ }
+}

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
<changelist name="Development" date="1579752205042" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Development/shelved.patch" />
<changelist name="Development3" date="1601983889370" recycled="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Development3/shelved.patch" />
<option name="DESCRIPTION" value="Development" />
</changelist>

18
.idea/shelf/Development3/shelved.patch generated Normal file

File diff suppressed because one or more lines are too long

4
.idea/shelf/Dust.xml generated Normal file
View File

@@ -0,0 +1,4 @@
<changelist name="Dust" date="1590783410567" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Dust/shelved.patch" />
<option name="DESCRIPTION" value="Dust" />
</changelist>

210
.idea/shelf/Dust/shelved.patch generated Normal file

File diff suppressed because one or more lines are too long

4
.idea/shelf/EnderEyeAttack_kt.xml generated Normal file
View File

@@ -0,0 +1,4 @@
<changelist name="EnderEyeAttack_kt" date="1601761992769" recycled="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/EnderEyeAttack_kt/shelved.patch" />
<option name="DESCRIPTION" value="EnderEyeAttack.kt" />
</changelist>

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
<changelist name="Ender_Eye" date="1579752352230" recycled="false">
<changelist name="Ender_Eye" date="1595119986895" recycled="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Ender_Eye/shelved.patch" />
<option name="DESCRIPTION" value="Ender Eye" />
</changelist>

4
.idea/shelf/Ender_Eye_Stuff.xml generated Normal file
View File

@@ -0,0 +1,4 @@
<changelist name="Ender_Eye_Stuff" date="1601351827334" recycled="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Ender_Eye_Stuff/shelved.patch" />
<option name="DESCRIPTION" value="Ender Eye Stuff" />
</changelist>

172
.idea/shelf/Ender_Eye_Stuff/shelved.patch generated Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +0,0 @@
<changelist name="Experience_Table" date="1579752469474" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Experience_Table/shelved.patch" />
<option name="DESCRIPTION" value="Experience Table" />
</changelist>

File diff suppressed because one or more lines are too long

4
.idea/shelf/Eye.xml generated Normal file
View File

@@ -0,0 +1,4 @@
<changelist name="Eye" date="1605472809585" recycled="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Eye/shelved.patch" />
<option name="DESCRIPTION" value="Eye" />
</changelist>

723
.idea/shelf/Eye/shelved.patch generated Normal file

File diff suppressed because one or more lines are too long

2
.idea/shelf/Ideas.xml generated
View File

@@ -1,4 +1,4 @@
<changelist name="Ideas" date="1579750085391" recycled="false">
<changelist name="Ideas" date="1595089578362" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Ideas/shelved.patch" />
<option name="DESCRIPTION" value="Ideas" />
</changelist>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

4
.idea/shelf/Later1.xml generated Normal file
View File

@@ -0,0 +1,4 @@
<changelist name="Later1" date="1607753523089" recycled="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Later1/shelved.patch" />
<option name="DESCRIPTION" value="Later" />
</changelist>

81
.idea/shelf/Later1/shelved.patch generated Normal file

File diff suppressed because one or more lines are too long

4
.idea/shelf/Later2.xml generated Normal file
View File

@@ -0,0 +1,4 @@
<changelist name="Later2" date="1610732422264" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Later2/shelved.patch" />
<option name="DESCRIPTION" value="Later" />
</changelist>

19
.idea/shelf/Later2/shelved.patch generated Normal file
View File

@@ -0,0 +1,19 @@
Index: src/system/src/main/java/chylex/hee/game/entity/EntitySelector.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
<+>package chylex.hee.game.entity\n\nimport chylex.hee.system.math.square\nimport net.minecraft.entity.Entity\nimport net.minecraft.util.math.AxisAlignedBB\nimport net.minecraft.util.math.Vec3d\nimport net.minecraft.world.IEntityReader\nimport java.util.function.Predicate\n\n@Suppress(\"NOTHING_TO_INLINE\")\nclass EntitySelector(private val world: IEntityReader, private val predicate: Predicate<in Entity>) {\n\tfun <T : Entity> inBox(cls: Class<T>, aabb: AxisAlignedBB): List<T> {\n\t\treturn world.getEntitiesWithinAABB(cls, aabb, predicate)\n\t}\n\t\n\tfun <T : Entity> inRange(cls: Class<T>, point: Vec3d, range: Double): List<T> {\n\t\tval aabb = AxisAlignedBB(point.x - range, point.y - range, point.z - range, point.x + range, point.y + range, point.z + range)\n\t\tval rangeSq = square(range)\n\t\t\n\t\treturn world.getEntitiesWithinAABB(cls, aabb) { predicate.test(it) && it!!.posVec.squareDistanceTo(point) <= rangeSq }\n\t}\n\t\n\t// Reified\n\t\n\tinline fun <reified T : Entity> inBox(aabb: AxisAlignedBB) = inBox(T::class.java, aabb)\n\tinline fun <reified T : Entity> inRange(point: Vec3d, range: Double) = inRange(T::class.java, point, range)\n\t\n\t// General\n\t\n\tinline fun allInBox(aabb: AxisAlignedBB) = inBox(Entity::class.java, aabb)\n\tinline fun allInRange(point: Vec3d, range: Double) = inRange(Entity::class.java, point, range)\n}\n
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/system/src/main/java/chylex/hee/game/entity/EntitySelector.kt b/src/system/src/main/java/chylex/hee/game/entity/EntitySelector.kt
--- a/src/system/src/main/java/chylex/hee/game/entity/EntitySelector.kt (revision 276df769798cbd4fd8154c5ebca0001dd8639545)
+++ b/src/system/src/main/java/chylex/hee/game/entity/EntitySelector.kt (date 1609259090000)
@@ -20,6 +20,8 @@
return world.getEntitiesWithinAABB(cls, aabb) { predicate.test(it) && it!!.posVec.squareDistanceTo(point) <= rangeSq }
}
+ // TODO only loaded? fuck
+
// Reified
inline fun <reified T : Entity> inBox(aabb: AxisAlignedBB) = inBox(T::class.java, aabb)

4
.idea/shelf/Recipe_Datagen.xml generated Normal file
View File

@@ -0,0 +1,4 @@
<changelist name="Recipe_Datagen" date="1601740449134" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Recipe_Datagen/shelved.patch" />
<option name="DESCRIPTION" value="Recipe Datagen" />
</changelist>

47
.idea/shelf/Recipe_Datagen/shelved.patch generated Normal file
View File

@@ -0,0 +1,47 @@
Index: data/src/main/java/chylex/hee/datagen/server/Recipes.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- /dev/null (date 1601740133630)
+++ b/data/src/main/java/chylex/hee/datagen/server/Recipes.kt (date 1601740133630)
@@ -0,0 +1,11 @@
+package chylex.hee.datagen.server
+import net.minecraft.data.DataGenerator
+import net.minecraft.data.IFinishedRecipe
+import net.minecraft.data.RecipeProvider
+import java.util.function.Consumer
+
+class Recipes(generator: DataGenerator) : RecipeProvider(generator){
+ override fun registerRecipes(consumer: Consumer<IFinishedRecipe>) = with(consumer){
+ // shapeless(ModItems.ALTERATION_NEXUS, 1){ ingredients(Items.DIAMOND, Items.ENDER_EYE, ModItems.ANCIENT_DUST, ModItems.ETHEREUM) }
+ }
+}
Index: data/src/main/java/chylex/hee/datagen/server/util/RecipeProviderExt.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- /dev/null (date 1601734823610)
+++ b/data/src/main/java/chylex/hee/datagen/server/util/RecipeProviderExt.kt (date 1601734823610)
@@ -0,0 +1,20 @@
+package chylex.hee.datagen.server.util
+import net.minecraft.data.IFinishedRecipe
+import net.minecraft.data.ShapedRecipeBuilder
+import net.minecraft.data.ShapelessRecipeBuilder
+import net.minecraft.util.IItemProvider
+import java.util.function.Consumer
+
+fun Consumer<IFinishedRecipe>.shaped(result: IItemProvider, amount: Int, callback: ShapedRecipeBuilder.() -> Unit){
+ ShapedRecipeBuilder(result, amount).apply(callback).build(this)
+}
+
+fun Consumer<IFinishedRecipe>.shapeless(result: IItemProvider, amount: Int, callback: ShapelessRecipeBuilder.() -> Unit){
+ ShapelessRecipeBuilder(result, amount).apply(callback).build(this)
+}
+
+fun ShapelessRecipeBuilder.ingredients(vararg ingredients: IItemProvider){
+ for(ingredient in ingredients){
+ this.addIngredient(ingredient)
+ }
+}

View File

@@ -1,4 +0,0 @@
<changelist name="Shulker_Box" date="1579752489313" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Shulker_Box/shelved.patch" />
<option name="DESCRIPTION" value="Shulker Box" />
</changelist>

File diff suppressed because one or more lines are too long

4
.idea/shelf/Shulker_Box_Animation.xml generated Normal file
View File

@@ -0,0 +1,4 @@
<changelist name="Shulker_Box_Animation" date="1590248312609" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Shulker_Box_Animation/shelved.patch" />
<option name="DESCRIPTION" value="Shulker Box Animation" />
</changelist>

File diff suppressed because one or more lines are too long

4
.idea/shelf/StructureFile.xml generated Normal file
View File

@@ -0,0 +1,4 @@
<changelist name="StructureFile" date="1601888541958" recycled="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/StructureFile/shelved.patch" />
<option name="DESCRIPTION" value="StructureFile" />
</changelist>

19
.idea/shelf/StructureFile/shelved.patch generated Normal file

File diff suppressed because one or more lines are too long

4
.idea/shelf/TODO.xml generated Normal file
View File

@@ -0,0 +1,4 @@
<changelist name="TODO" date="1601072216412" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/TODO/shelved.patch" />
<option name="DESCRIPTION" value="TODO" />
</changelist>

124
.idea/shelf/TODO/shelved.patch generated Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,14 @@
<changelist name="Territories" date="1579750362160" recycled="false">
<changelist name="Territories" date="1593174807954" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Territories/shelved.patch" />
<option name="DESCRIPTION" value="Territories" />
<binary>
<option name="BEFORE_PATH" />
<option name="AFTER_PATH" value="src/main/resources/assets/hee/textures/environment/end_sky_blurry.png" />
<option name="SHELVED_PATH" value="$PROJECT_DIR$/.idea/shelf/Territories/end_sky_blurry.png" />
</binary>
<binary>
<option name="BEFORE_PATH" />
<option name="AFTER_PATH" value="src/main/resources/assets/hee/textures/environment/end_sky_smooth.png" />
<option name="SHELVED_PATH" value="$PROJECT_DIR$/.idea/shelf/Territories/end_sky_smooth.png" />
</binary>
</changelist>

BIN
.idea/shelf/Territories/end_sky_blurry.png generated Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
.idea/shelf/Territories/end_sky_smooth.png generated Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

119
.idea/shelf/Territories1/shelved.patch generated Normal file

File diff suppressed because one or more lines are too long

39
.idea/shelf/Tomb.xml generated
View File

@@ -1,39 +0,0 @@
<changelist name="Tomb" date="1579750369609" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Tomb/shelved.patch" />
<option name="DESCRIPTION" value="Tomb" />
<binary>
<option name="BEFORE_PATH" />
<option name="AFTER_PATH" value="src/main/resources/data/hee/structure/tombdungeon/corridor.stairs.end.nbt" />
<option name="SHELVED_PATH" value="$PROJECT_DIR$/.idea/shelf/Tomb/corridor.stairs.end.nbt" />
</binary>
<binary>
<option name="BEFORE_PATH" />
<option name="AFTER_PATH" value="src/main/resources/data/hee/structure/tombdungeon/corridor.stairs.middle.nbt" />
<option name="SHELVED_PATH" value="$PROJECT_DIR$/.idea/shelf/Tomb/corridor.stairs.middle.nbt" />
</binary>
<binary>
<option name="BEFORE_PATH" />
<option name="AFTER_PATH" value="src/main/resources/data/hee/structure/tombdungeon/corridor.stairs.start.nbt" />
<option name="SHELVED_PATH" value="$PROJECT_DIR$/.idea/shelf/Tomb/corridor.stairs.start.nbt" />
</binary>
<binary>
<option name="BEFORE_PATH" />
<option name="AFTER_PATH" value="src/main/resources/data/hee/structure/tombdungeon/main.end.nbt" />
<option name="SHELVED_PATH" value="$PROJECT_DIR$/.idea/shelf/Tomb/main.end.nbt" />
</binary>
<binary>
<option name="BEFORE_PATH" />
<option name="AFTER_PATH" value="src/main/resources/data/hee/structure/tombdungeon/tomb.multi2x4.narrow.nbt" />
<option name="SHELVED_PATH" value="$PROJECT_DIR$/.idea/shelf/Tomb/tomb.multi2x4.narrow.nbt" />
</binary>
<binary>
<option name="BEFORE_PATH" />
<option name="AFTER_PATH" value="src/main/resources/data/hee/structure/tombdungeon/tomb.multi2x4.spacious.nbt" />
<option name="SHELVED_PATH" value="$PROJECT_DIR$/.idea/shelf/Tomb/tomb.multi2x4.spacious.nbt" />
</binary>
<binary>
<option name="BEFORE_PATH" />
<option name="AFTER_PATH" value="src/main/resources/data/hee/structure/tombdungeon/tomb.single.narrow.nbt" />
<option name="SHELVED_PATH" value="$PROJECT_DIR$/.idea/shelf/Tomb/tomb.single.narrow.nbt" />
</binary>
</changelist>

View File

@@ -1,671 +0,0 @@
Index: src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_StraightTombs.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_StraightTombs.kt (date 1579593033167)
+++ src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_StraightTombs.kt (date 1579593033167)
@@ -0,0 +1,43 @@
+package chylex.hee.game.world.feature.tombdungeon.piece
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnection
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnectionType.CORRIDOR
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnectionType.TOMB_ENTRANCE
+import chylex.hee.game.world.structure.IBlockPicker.Single.Air
+import chylex.hee.game.world.structure.IStructureWorld
+import chylex.hee.game.world.structure.piece.IStructurePieceConnection
+import chylex.hee.game.world.util.Size
+import chylex.hee.system.migration.Facing.EAST
+import chylex.hee.system.migration.Facing.NORTH
+import chylex.hee.system.migration.Facing.SOUTH
+import chylex.hee.system.migration.Facing.WEST
+import chylex.hee.system.util.Pos
+
+class TombDungeonCorridor_StraightTombs(piece: TombDungeonRoom_Tomb, configuration: Configuration, tombsPerSide: Int, override val isFancy: Boolean) : TombDungeonAbstractPiece(){
+ enum class Configuration{
+ WEST, EAST, BOTH
+ }
+
+ override val size = Size(5, 5, 5 + ((tombsPerSide - 1) * piece.size.x))
+
+ override val connections = mutableListOf<IStructurePieceConnection>().also {
+ it.add(TombDungeonConnection(CORRIDOR, Pos(size.centerX, 0, size.maxZ), SOUTH))
+ it.add(TombDungeonConnection(CORRIDOR, Pos(size.centerX, 0, 0), NORTH))
+
+ val spacing = piece.size.x
+
+ for(tombIndex in 0 until tombsPerSide){
+ if (configuration == Configuration.WEST || configuration == Configuration.BOTH){
+ it.add(TombDungeonConnection(TOMB_ENTRANCE, Pos(0, 0, 2 + (tombIndex * spacing)), WEST))
+ }
+
+ if (configuration == Configuration.EAST || configuration == Configuration.BOTH){
+ it.add(TombDungeonConnection(TOMB_ENTRANCE, Pos(size.maxX, 0, 2 + (tombIndex * spacing)), EAST))
+ }
+ }
+ }.toTypedArray()
+
+ override fun generate(world: IStructureWorld, instance: Instance){
+ super.generate(world, instance)
+ world.placeCube(Pos(1, 1, 1), Pos(size.maxX - 1, size.maxY - 1, size.maxZ - 1), Air)
+ }
+}
Index: src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_Straight.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_Straight.kt (date 1579593033167)
+++ src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_Straight.kt (date 1579593033167)
@@ -0,0 +1,24 @@
+package chylex.hee.game.world.feature.tombdungeon.piece
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnection
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnectionType.CORRIDOR
+import chylex.hee.game.world.structure.IBlockPicker.Single.Air
+import chylex.hee.game.world.structure.IStructureWorld
+import chylex.hee.game.world.structure.piece.IStructurePieceConnection
+import chylex.hee.game.world.util.Size
+import chylex.hee.system.migration.Facing.NORTH
+import chylex.hee.system.migration.Facing.SOUTH
+import chylex.hee.system.util.Pos
+
+class TombDungeonCorridor_Straight(length: Int, override val isFancy: Boolean) : TombDungeonAbstractPiece(){
+ override val size = Size(5, 5, length)
+
+ override val connections = arrayOf<IStructurePieceConnection>(
+ TombDungeonConnection(CORRIDOR, Pos(size.centerX, 0, size.maxZ), SOUTH),
+ TombDungeonConnection(CORRIDOR, Pos(size.centerX, 0, 0), NORTH)
+ )
+
+ override fun generate(world: IStructureWorld, instance: Instance){
+ super.generate(world, instance)
+ world.placeCube(Pos(1, 1, 1), Pos(size.maxX - 1, size.maxY - 1, size.maxZ - 1), Air)
+ }
+}
Index: src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonRoom_End.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonRoom_End.kt (date 1579594244672)
+++ src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonRoom_End.kt (date 1579594244672)
@@ -0,0 +1,108 @@
+package chylex.hee.game.world.feature.tombdungeon.piece
+import chylex.hee.game.block.BlockVoidPortalInner
+import chylex.hee.game.entity.item.EntityTokenHolder
+import chylex.hee.game.item.ItemPortalToken.TokenType.NORMAL
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnection
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnectionType.ROOM_ENTRANCE
+import chylex.hee.game.world.structure.IBlockPicker.Single.Air
+import chylex.hee.game.world.structure.IStructureWorld
+import chylex.hee.game.world.structure.piece.IStructurePieceConnection
+import chylex.hee.game.world.structure.trigger.EntityStructureTrigger
+import chylex.hee.game.world.structure.trigger.TileEntityStructureTrigger
+import chylex.hee.game.world.territory.TerritoryType.FORGOTTEN_TOMBS
+import chylex.hee.init.ModBlocks
+import chylex.hee.system.migration.Facing.EAST
+import chylex.hee.system.migration.Facing.NORTH
+import chylex.hee.system.migration.Facing.SOUTH
+import chylex.hee.system.migration.Facing.WEST
+import chylex.hee.system.migration.vanilla.Blocks
+import chylex.hee.system.util.Pos
+import chylex.hee.system.util.TagCompound
+import chylex.hee.system.util.allInCenteredBox
+import chylex.hee.system.util.with
+import chylex.hee.system.util.withFacing
+import net.minecraft.util.Direction
+import net.minecraft.util.math.BlockPos
+import kotlin.math.abs
+
+class TombDungeonRoom_End(file: String) : TombDungeonAbstractPieceFromFile(file, isFancy = true){
+ override val connections = arrayOf<IStructurePieceConnection>(
+ TombDungeonConnection(ROOM_ENTRANCE, Pos(centerX, 6, maxZ), SOUTH)
+ )
+
+ override fun generate(world: IStructureWorld, instance: Instance){
+ world.placeCube(Pos(1, 2, 1), Pos(maxX - 1, maxY - 1, maxZ - 1), Air)
+ super.generate(world, instance)
+
+ val portalCenter = Pos(centerX, 1, centerZ - 12)
+ val tombOffset = portalCenter.up(2)
+
+ for(pos in portalCenter.allInCenteredBox(1, 0, 1)){
+ world.addTrigger(pos, TileEntityStructureTrigger(ModBlocks.VOID_PORTAL_INNER.with(BlockVoidPortalInner.TYPE, BlockVoidPortalInner.Type.RETURN_INACTIVE), TagCompound()))
+ }
+
+ placeTokenHolders(world, tombOffset)
+ placeChests(world, tombOffset)
+ }
+
+ private fun placeTokenHolders(world: IStructureWorld, tombOffset: BlockPos){
+ val rand = world.rand
+ val tokenTombs = TOMBS.asList().shuffled(rand).take(2)
+
+ for(tokenTomb in tokenTombs){
+ val xOffset = (tokenTomb.offsetX1 + tokenTomb.offsetX2) * 0.5
+ val zOffset = (tokenTomb.offsetZ1 + tokenTomb.offsetZ2) * 0.5
+
+ val nudge = if (tokenTomb.isShortX) EAST else SOUTH
+ val trigger = EntityStructureTrigger({ realWorld -> EntityTokenHolder(realWorld, NORMAL, /*TODO*/FORGOTTEN_TOMBS) }, nudgeFacing = nudge, nudgeAmount = 0.5, yOffset = 0.35)
+
+ world.addTrigger(tombOffset.add(xOffset, 0.0, zOffset), trigger)
+ }
+ }
+
+ private fun placeChests(world: IStructureWorld, tombOffset: BlockPos){
+ val rand = world.rand
+ val chestTombs = TOMBS.flatMap { listOf(it to false, it to true) }.shuffled(rand).take(4)
+
+ for((chestTomb, offsetType) in chestTombs){
+ val x: IntArray
+ val z: IntArray
+ val facing: Direction
+
+ if (chestTomb.isShortX){
+ x = intArrayOf(chestTomb.offsetX1, chestTomb.offsetX2)
+ z = (if (offsetType) chestTomb.offsetZ1 else chestTomb.offsetZ2).let { intArrayOf(it, it) }
+ facing = if (offsetType) SOUTH else NORTH
+ }
+ else{
+ z = intArrayOf(chestTomb.offsetZ1, chestTomb.offsetZ2)
+ x = (if (offsetType) chestTomb.offsetX1 else chestTomb.offsetX2).let { intArrayOf(it, it) }
+ facing = if (offsetType) EAST else WEST
+ }
+
+ val picks = when(rand.nextInt(6)){
+ 0 -> intArrayOf(0)
+ 1 -> intArrayOf(1)
+ else -> intArrayOf(0, 1)
+ }
+
+ for(pick in picks){
+ world.setState(tombOffset.add(x[pick], 0, z[pick]), Blocks.CHEST.withFacing(facing))
+ // TODO loot
+ }
+ }
+ }
+
+ private companion object{
+ private class Tomb(val offsetX1: Int, val offsetZ1: Int, val offsetX2: Int, val offsetZ2: Int){
+ val isShortX = abs(offsetX1 - offsetX2) < abs(offsetZ1 - offsetZ2)
+ }
+
+ private val TOMBS = arrayOf(
+ Tomb(offsetX1 = -10, offsetZ1 = -2, offsetX2 = -9, offsetZ2 = 2),
+ Tomb(offsetX1 = 9, offsetZ1 = -2, offsetX2 = 10, offsetZ2 = 2),
+ Tomb(offsetX1 = 3, offsetZ1 = -9, offsetX2 = 7, offsetZ2 = -8),
+ Tomb(offsetX1 = -7, offsetZ1 = -9, offsetX2 = -3, offsetZ2 = -8)
+ )
+ }
+}
Index: src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_Intersection.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_Intersection.kt (date 1579593033167)
+++ src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_Intersection.kt (date 1579593033167)
@@ -0,0 +1,28 @@
+package chylex.hee.game.world.feature.tombdungeon.piece
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnection
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnectionType.CORRIDOR
+import chylex.hee.game.world.structure.IBlockPicker.Single.Air
+import chylex.hee.game.world.structure.IStructureWorld
+import chylex.hee.game.world.structure.piece.IStructurePieceConnection
+import chylex.hee.game.world.util.Size
+import chylex.hee.system.migration.Facing.EAST
+import chylex.hee.system.migration.Facing.NORTH
+import chylex.hee.system.migration.Facing.SOUTH
+import chylex.hee.system.migration.Facing.WEST
+import chylex.hee.system.util.Pos
+
+class TombDungeonCorridor_Intersection(override val isFancy: Boolean) : TombDungeonAbstractPiece(){
+ override val size = Size(5, 5, 5)
+
+ override val connections = arrayOf<IStructurePieceConnection>(
+ TombDungeonConnection(CORRIDOR, Pos(size.centerX, 0, 0), NORTH),
+ TombDungeonConnection(CORRIDOR, Pos(size.centerX, 0, size.maxZ), SOUTH),
+ TombDungeonConnection(CORRIDOR, Pos(size.maxX, 0, size.centerZ), EAST),
+ TombDungeonConnection(CORRIDOR, Pos(0, 0, size.centerZ), WEST)
+ )
+
+ override fun generate(world: IStructureWorld, instance: Instance){
+ super.generate(world, instance)
+ world.placeCube(Pos(1, 1, 1), Pos(size.maxX - 1, size.maxY - 1, size.maxZ - 1), Air)
+ }
+}
Index: src/main/java/chylex/hee/game/world/feature/tombdungeon/TombDungeonLevel.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/chylex/hee/game/world/feature/tombdungeon/TombDungeonLevel.kt (date 1579593033167)
+++ src/main/java/chylex/hee/game/world/feature/tombdungeon/TombDungeonLevel.kt (date 1579593033167)
@@ -0,0 +1,16 @@
+package chylex.hee.game.world.feature.tombdungeon
+import chylex.hee.system.util.nextInt
+import java.util.Random
+
+@Suppress("unused")
+enum class TombDungeonLevel(val isFancy: Boolean, private val corridorFactor: Int){
+ FIRST (isFancy = false, corridorFactor = 1),
+ SECOND(isFancy = false, corridorFactor = 5),
+ THIRD (isFancy = false, corridorFactor = 2),
+ FOURTH(isFancy = true, corridorFactor = 4),
+ LAST (isFancy = true, corridorFactor = 6);
+
+ fun getCorridorLength(rand: Random): Int{
+ return rand.nextInt(43 + (corridorFactor * 2), 55) + ((corridorFactor - 1) * rand.nextInt(12, 14)) + (if (this == LAST) 10 else 0)
+ }
+}
Index: src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_Stairs.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_Stairs.kt (date 1579593033167)
+++ src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonCorridor_Stairs.kt (date 1579593033167)
@@ -0,0 +1,56 @@
+package chylex.hee.game.world.feature.tombdungeon.piece
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnection
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnectionType.STAIR_BOTTOM
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnectionType.STAIR_TOP
+import chylex.hee.game.world.structure.IStructureWorld
+import chylex.hee.game.world.structure.piece.IStructurePieceConnection
+import chylex.hee.init.ModBlocks
+import chylex.hee.system.migration.Facing.NORTH
+import chylex.hee.system.migration.Facing.SOUTH
+import chylex.hee.system.util.Pos
+import chylex.hee.system.util.nextInt
+
+sealed class TombDungeonCorridor_Stairs(file: String) : TombDungeonAbstractPieceFromFile(file, isFancy = false){
+ class Start(file: String) : TombDungeonCorridor_Stairs(file){
+ override val connections = arrayOf<IStructurePieceConnection>(
+ TombDungeonConnection(STAIR_TOP, Pos(centerX, 2, 0), NORTH),
+ TombDungeonConnection(STAIR_BOTTOM, Pos(centerX, 0, maxZ), SOUTH)
+ )
+
+ override fun generate(world: IStructureWorld, instance: Instance){
+ super.generate(world, instance)
+
+ val rand = world.rand
+
+ for(z in 0..maxZ){
+ if (rand.nextInt(5) <= 1){
+ world.setBlock(Pos(rand.nextInt(1, maxX - 1), 2 - z, z), ModBlocks.DUSTY_STONE_BRICK_SLAB)
+ }
+ }
+ }
+ }
+
+ class Middle(file: String) : TombDungeonCorridor_Stairs(file){
+ override val connections = arrayOf<IStructurePieceConnection>(
+ TombDungeonConnection(STAIR_TOP, Pos(centerX, 1, 0), NORTH),
+ TombDungeonConnection(STAIR_BOTTOM, Pos(centerX, 0, maxZ), SOUTH)
+ )
+
+ override fun generate(world: IStructureWorld, instance: Instance){
+ super.generate(world, instance)
+
+ val rand = world.rand
+
+ if (rand.nextInt(5) <= 1){
+ world.setBlock(Pos(rand.nextInt(1, maxX - 1), 1, 0), ModBlocks.DUSTY_STONE_BRICK_SLAB)
+ }
+ }
+ }
+
+ class End(file: String) : TombDungeonCorridor_Stairs(file){
+ override val connections = arrayOf<IStructurePieceConnection>(
+ TombDungeonConnection(STAIR_TOP, Pos(centerX, 0, 0), NORTH),
+ TombDungeonConnection(STAIR_BOTTOM, Pos(centerX, 0, maxZ), SOUTH)
+ )
+ }
+}
Index: src/main/java/chylex/hee/game/world/feature/tombdungeon/TombDungeonPieces.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
<+>package chylex.hee.game.world.feature.tombdungeon\r\nimport chylex.hee.game.world.structure.IBlockPicker.Weighted.Companion.Weighted\r\nimport chylex.hee.game.world.structure.IStructureDescription\r\nimport chylex.hee.game.world.structure.IStructureDescription.Companion.NULL_LOCATOR\r\nimport chylex.hee.game.world.structure.file.PaletteBuilder\r\nimport chylex.hee.game.world.structure.file.PaletteMappings\r\nimport chylex.hee.game.world.structure.piece.StructurePiece\r\nimport chylex.hee.game.world.util.Size\r\nimport chylex.hee.init.ModBlocks\r\nimport chylex.hee.system.migration.Facing.EAST\r\nimport chylex.hee.system.migration.Facing.NORTH\r\nimport chylex.hee.system.migration.Facing.SOUTH\r\nimport chylex.hee.system.migration.Facing.WEST\r\nimport chylex.hee.system.migration.vanilla.BlockSlab\r\nimport chylex.hee.system.migration.vanilla.BlockStairs\r\nimport chylex.hee.system.migration.vanilla.Blocks\r\nimport chylex.hee.system.util.with\r\nimport chylex.hee.system.util.withFacing\r\nimport net.minecraft.state.properties.Half\r\nimport net.minecraft.state.properties.SlabType\r\n\r\nobject TombDungeonPieces : IStructureDescription{\r\n\toverride val STRUCTURE_SIZE = Size(300, 110, 300)\r\n\t\r\n\toverride val STRUCTURE_BUILDER = TombDungeonBuilder\r\n\toverride val STRUCTURE_LOCATOR = NULL_LOCATOR\r\n\t\r\n\t// Palette\r\n\t\r\n\tval PALETTE_ENTRY_PLAIN_WALL_CEILING = Weighted(\r\n\t\t840 to ModBlocks.DUSTY_STONE_BRICKS,\r\n\t\t125 to ModBlocks.DUSTY_STONE,\r\n\t\t 35 to ModBlocks.DUSTY_STONE_CRACKED_BRICKS\r\n\t)\r\n\t\r\n\tval PALETTE_ENTRY_FANCY_WALL = Weighted(\r\n\t\t94 to ModBlocks.DUSTY_STONE_BRICKS,\r\n\t\t 6 to ModBlocks.DUSTY_STONE_CRACKED_BRICKS\r\n\t)\r\n\t\r\n\tval PALETTE_ENTRY_FANCY_CEILING = Weighted(\r\n\t\t860 to ModBlocks.DUSTY_STONE_BRICKS.defaultState,\r\n\t\t 82 to ModBlocks.DUSTY_STONE_CRACKED_BRICKS.defaultState,\r\n\t\t 30 to ModBlocks.DUSTY_STONE_BRICK_SLAB.with(BlockSlab.TYPE, SlabType.TOP),\r\n\t\t 7 to ModBlocks.DUSTY_STONE_BRICK_STAIRS.with(BlockStairs.HALF, Half.TOP).withFacing(NORTH),\r\n\t\t 7 to ModBlocks.DUSTY_STONE_BRICK_STAIRS.with(BlockStairs.HALF, Half.TOP).withFacing(SOUTH),\r\n\t\t 7 to ModBlocks.DUSTY_STONE_BRICK_STAIRS.with(BlockStairs.HALF, Half.TOP).withFacing(EAST),\r\n\t\t 7 to ModBlocks.DUSTY_STONE_BRICK_STAIRS.with(BlockStairs.HALF, Half.TOP).withFacing(WEST)\r\n\t)\r\n\t\r\n\tprivate val PALETTE_ENTRY_PLAIN_GRAVE = Weighted(\r\n\t\t74 to ModBlocks.GRAVE_DIRT_PLAIN,\r\n\t\t18 to ModBlocks.GRAVE_DIRT_SPIDERLING,\r\n\t\t 8 to ModBlocks.GRAVE_DIRT_LOOT\r\n\t)\r\n\t\r\n\tprivate val PALETTE_ENTRY_FANCY_GRAVE = Weighted(\r\n\t\t69 to ModBlocks.GRAVE_DIRT_PLAIN,\r\n\t\t27 to ModBlocks.GRAVE_DIRT_LOOT,\r\n\t\t 4 to ModBlocks.GRAVE_DIRT_SPIDERLING\r\n\t)\r\n\t\r\n\tprivate fun generateCommonPalette() = PaletteBuilder.Combined().apply {\r\n\t\tadd(\"air\", Blocks.AIR)\r\n\t\tadd(\"dustystone\", ModBlocks.DUSTY_STONE)\r\n\t\tadd(\"dustystone.bricks\", ModBlocks.DUSTY_STONE_BRICKS)\r\n\t\t\r\n\t\tadd(\"slab.dustystonebrick.*\", ModBlocks.DUSTY_STONE_BRICK_SLAB, PaletteMappings.SLAB_TYPE)\r\n\t\tadd(\"stairs.dustystonebrick.*.*\", ModBlocks.DUSTY_STONE_BRICK_STAIRS, listOf(PaletteMappings.STAIR_FLIP, PaletteMappings.FACING_HORIZONTAL)) // UPDATE migrate mappings\r\n\t\t\r\n\t\twith(forDevelopment){\r\n\t\t\tadd(\"dustystone.wall\", Blocks.LAPIS_BLOCK)\r\n\t\t\tadd(\"dustystone.ceiling\", Blocks.COAL_BLOCK)\r\n\t\t\tadd(\"gravedirt\", ModBlocks.GRAVE_DIRT_PLAIN)\r\n\t\t}\r\n\t}\r\n\t\r\n\toverride val PALETTE = with(generateCommonPalette()){\r\n\t\twith(forGeneration){\r\n\t\t\tadd(\"dustystone.wall\", PALETTE_ENTRY_PLAIN_WALL_CEILING)\r\n\t\t\tadd(\"dustystone.ceiling\", PALETTE_ENTRY_PLAIN_WALL_CEILING)\r\n\t\t\tadd(\"gravedirt\", PALETTE_ENTRY_PLAIN_GRAVE)\r\n\t\t}\r\n\t\t\r\n\t\tbuild()\r\n\t}\r\n\t\r\n\tval PALETTE_FANCY = with(generateCommonPalette()){\r\n\t\twith(forGeneration){\r\n\t\t\tadd(\"dustystone.wall\", PALETTE_ENTRY_FANCY_WALL)\r\n\t\t\tadd(\"dustystone.ceiling\", PALETTE_ENTRY_FANCY_CEILING)\r\n\t\t\tadd(\"gravedirt\", PALETTE_ENTRY_FANCY_GRAVE)\r\n\t\t}\r\n\t\t\r\n\t\tbuild()\r\n\t}\r\n\t\r\n\t// Pieces\r\n\t\r\n\toverride val ALL_PIECES\r\n\t\tget() = arrayOf<StructurePiece<*>>()\r\n}\r\n
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/chylex/hee/game/world/feature/tombdungeon/TombDungeonPieces.kt (revision 41aa0b6695a1ac98e2d75beae7cb260618fe1f25)
+++ src/main/java/chylex/hee/game/world/feature/tombdungeon/TombDungeonPieces.kt (date 1579594244682)
@@ -1,10 +1,15 @@
package chylex.hee.game.world.feature.tombdungeon
+import chylex.hee.game.world.feature.tombdungeon.piece.TombDungeonAbstractPiece
+import chylex.hee.game.world.feature.tombdungeon.piece.TombDungeonCorridor_Intersection
+import chylex.hee.game.world.feature.tombdungeon.piece.TombDungeonCorridor_Stairs
+import chylex.hee.game.world.feature.tombdungeon.piece.TombDungeonCorridor_Straight
+import chylex.hee.game.world.feature.tombdungeon.piece.TombDungeonRoom_End
+import chylex.hee.game.world.feature.tombdungeon.piece.TombDungeonRoom_Tomb
import chylex.hee.game.world.structure.IBlockPicker.Weighted.Companion.Weighted
import chylex.hee.game.world.structure.IStructureDescription
import chylex.hee.game.world.structure.IStructureDescription.Companion.NULL_LOCATOR
import chylex.hee.game.world.structure.file.PaletteBuilder
import chylex.hee.game.world.structure.file.PaletteMappings
-import chylex.hee.game.world.structure.piece.StructurePiece
import chylex.hee.game.world.util.Size
import chylex.hee.init.ModBlocks
import chylex.hee.system.migration.Facing.EAST
@@ -14,10 +19,13 @@
import chylex.hee.system.migration.vanilla.BlockSlab
import chylex.hee.system.migration.vanilla.BlockStairs
import chylex.hee.system.migration.vanilla.Blocks
+import chylex.hee.system.util.nextInt
import chylex.hee.system.util.with
import chylex.hee.system.util.withFacing
import net.minecraft.state.properties.Half
import net.minecraft.state.properties.SlabType
+import java.util.Random
+import kotlin.math.min
object TombDungeonPieces : IStructureDescription{
override val STRUCTURE_SIZE = Size(300, 110, 300)
@@ -68,6 +76,13 @@
add("slab.dustystonebrick.*", ModBlocks.DUSTY_STONE_BRICK_SLAB, PaletteMappings.SLAB_TYPE)
add("stairs.dustystonebrick.*.*", ModBlocks.DUSTY_STONE_BRICK_STAIRS, listOf(PaletteMappings.STAIR_FLIP, PaletteMappings.FACING_HORIZONTAL)) // UPDATE migrate mappings
+ add("torch", Blocks.TORCH)
+ add("torch.*", Blocks.WALL_TORCH, PaletteMappings.FACING_HORIZONTAL)
+ add("redstonetorch", Blocks.REDSTONE_TORCH)
+ add("redstonetorch.*", Blocks.REDSTONE_WALL_TORCH, PaletteMappings.FACING_HORIZONTAL)
+
+ add("voidportal.frame", ModBlocks.VOID_PORTAL_FRAME)
+
with(forDevelopment){
add("dustystone.wall", Blocks.LAPIS_BLOCK)
add("dustystone.ceiling", Blocks.COAL_BLOCK)
@@ -97,6 +112,56 @@
// Pieces
+ //val PIECE_ROOM_TOMB_NARROW = TombDungeonRoom_Tomb("tomb.single.narrow.nbt", isFancy = false)
+
+ val PIECE_ROOM_END = TombDungeonRoom_End("main.end.nbt")
+
+ private val PIECES_STAIRS = arrayOf(
+ TombDungeonCorridor_Stairs.Start("corridor.stairs.start.nbt"),
+ TombDungeonCorridor_Stairs.Middle("corridor.stairs.middle.nbt"),
+ TombDungeonCorridor_Stairs.End("corridor.stairs.end.nbt")
+ )
+
+ fun PIECES_STAIRCASE(middle: Int): List<TombDungeonCorridor_Stairs>{
+ return listOf(PIECES_STAIRS[0], *Array(middle){ PIECES_STAIRS[1] }, PIECES_STAIRS[2])
+ }
+
+ fun PIECES_MAIN_CORRIDOR(rand: Random, level: TombDungeonLevel, cornerCount: Int): List<TombDungeonAbstractPiece>{
+ return mutableListOf<TombDungeonAbstractPiece>().apply {
+ val isFancy = level.isFancy
+ var lengthRemaining = level.getCorridorLength(rand)
+
+ while(lengthRemaining > 0){
+ val nextLength = if (level == TombDungeonLevel.LAST)
+ rand.nextInt(1, min(lengthRemaining, (lengthRemaining / 5) + 3))
+ else
+ rand.nextInt(1, min(lengthRemaining, (lengthRemaining / 3) + 5))
+
+ lengthRemaining -= nextLength
+ add(TombDungeonCorridor_Straight(nextLength, isFancy))
+ }
+
+ repeat(cornerCount){
+ add(TombDungeonCorridor_Intersection(isFancy))
+ }
+ }
+ }
+
override val ALL_PIECES
- get() = arrayOf<StructurePiece<*>>()
+ get() = arrayOf(
+ TombDungeonCorridor_Straight(length = 5, isFancy = false),
+ TombDungeonCorridor_Intersection(isFancy = false),
+
+ *PIECES_STAIRS,
+
+ // TODO
+ TombDungeonRoom_Tomb("tomb.single.narrow.nbt", entranceY = 2, isFancy = false),
+ TombDungeonRoom_Tomb("tomb.single.narrow.nbt", entranceY = 2, isFancy = true),
+ TombDungeonRoom_Tomb("tomb.multi2x4.narrow.nbt", entranceY = 1, isFancy = false),
+ TombDungeonRoom_Tomb("tomb.multi2x4.narrow.nbt", entranceY = 1, isFancy = true),
+ TombDungeonRoom_Tomb("tomb.multi2x4.spacious.nbt", entranceY = 3, isFancy = false),
+ TombDungeonRoom_Tomb("tomb.multi2x4.spacious.nbt", entranceY = 3, isFancy = true),
+
+ PIECE_ROOM_END
+ )
}
Index: src/main/java/chylex/hee/game/world/feature/tombdungeon/TombDungeonBuilder.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
<+>package chylex.hee.game.world.feature.tombdungeon\r\nimport chylex.hee.game.world.feature.tombdungeon.TombDungeonPieces.STRUCTURE_SIZE\r\nimport chylex.hee.game.world.feature.tombdungeon.piece.TombDungeonStart\r\nimport chylex.hee.game.world.structure.piece.IStructureBuild\r\nimport chylex.hee.game.world.structure.piece.IStructureBuilder\r\nimport chylex.hee.game.world.structure.piece.StructureBuild\r\nimport chylex.hee.game.world.structure.piece.StructureBuild.PositionedPiece\r\nimport chylex.hee.game.world.util.Size.Alignment.CENTER\r\nimport chylex.hee.game.world.util.Size.Alignment.MAX\r\nimport chylex.hee.game.world.util.Transform\r\nimport net.minecraft.util.math.BlockPos\r\nimport java.util.Random\r\n\r\nobject TombDungeonBuilder : IStructureBuilder{\r\n\tval ENTRANCE_POS: BlockPos = STRUCTURE_SIZE.getPos(CENTER, MAX, MAX).add(-TombDungeonStart.size.centerX, -TombDungeonStart.size.y, -STRUCTURE_SIZE.x / 3)\r\n\t\r\n\toverride fun build(rand: Random): IStructureBuild?{\r\n\t\tval startingPiece = TombDungeonStart.MutableInstance(Transform.NONE)\r\n\t\tval startingPiecePos = ENTRANCE_POS\r\n\t\t\r\n\t\tval build = StructureBuild(STRUCTURE_SIZE, PositionedPiece(startingPiece, startingPiecePos))\r\n\t\t// TODO\r\n\t\treturn build.freeze()\r\n\t}\r\n}\r\n
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/chylex/hee/game/world/feature/tombdungeon/TombDungeonBuilder.kt (revision 41aa0b6695a1ac98e2d75beae7cb260618fe1f25)
+++ src/main/java/chylex/hee/game/world/feature/tombdungeon/TombDungeonBuilder.kt (date 1579593033167)
@@ -1,13 +1,21 @@
package chylex.hee.game.world.feature.tombdungeon
import chylex.hee.game.world.feature.tombdungeon.TombDungeonPieces.STRUCTURE_SIZE
+import chylex.hee.game.world.feature.tombdungeon.piece.TombDungeonAbstractPiece
+import chylex.hee.game.world.feature.tombdungeon.piece.TombDungeonCorridor_Straight
import chylex.hee.game.world.feature.tombdungeon.piece.TombDungeonStart
import chylex.hee.game.world.structure.piece.IStructureBuild
import chylex.hee.game.world.structure.piece.IStructureBuilder
+import chylex.hee.game.world.structure.piece.IStructureBuilder.ProcessBase
import chylex.hee.game.world.structure.piece.StructureBuild
+import chylex.hee.game.world.structure.piece.StructureBuild.AddMode
+import chylex.hee.game.world.structure.piece.StructureBuild.AddMode.APPEND
import chylex.hee.game.world.structure.piece.StructureBuild.PositionedPiece
+import chylex.hee.game.world.structure.piece.StructurePiece
import chylex.hee.game.world.util.Size.Alignment.CENTER
import chylex.hee.game.world.util.Size.Alignment.MAX
import chylex.hee.game.world.util.Transform
+import chylex.hee.system.util.nextInt
+import chylex.hee.system.util.removeItem
import net.minecraft.util.math.BlockPos
import java.util.Random
@@ -19,7 +27,81 @@
val startingPiecePos = ENTRANCE_POS
val build = StructureBuild(STRUCTURE_SIZE, PositionedPiece(startingPiece, startingPiecePos))
- // TODO
+ val process = Process(build, rand)
+
+ var lastPiece = build.generatedPieces.last()
+
+ run {
+ val stairLengths = mutableListOf<Int>().apply {
+ add(rand.nextInt(4, 7))
+ add(rand.nextInt(6, 13))
+ add(rand.nextInt(27, 28) - sum())
+ shuffle(rand)
+ }
+
+ for((index, stairLength) in stairLengths.withIndex()){
+ lastPiece = process.appendPieces(lastPiece, TombDungeonPieces.PIECES_STAIRCASE(stairLength)) ?: return null
+
+ val corridorLength = if (index == stairLengths.lastIndex) rand.nextInt(11, 13) else rand.nextInt(2, rand.nextInt(4, 5))
+ val corridorPiece = TombDungeonCorridor_Straight(corridorLength, isFancy = false)
+
+ lastPiece = process.appendPiece(lastPiece, corridorPiece) ?: return null
+ }
+ }
+
+ run {
+ val cornerCounts = mutableListOf(
+ rand.nextInt(2, 3),
+ rand.nextInt(4, 5),
+ rand.nextInt(5, 7),
+ rand.nextInt(6, 8)
+ )
+
+ for(level in TombDungeonLevel.values().dropLast(1)){
+ val corridorPieces = TombDungeonPieces.PIECES_MAIN_CORRIDOR(rand, level, rand.removeItem(cornerCounts))
+
+ if (!build.guardChain(10){
+ lastPiece = process.appendPieces(lastPiece, corridorPieces.shuffled(rand)) ?: return@guardChain false
+ lastPiece = process.appendPieces(lastPiece, TombDungeonPieces.PIECES_STAIRCASE(rand.nextInt(9, 17))) ?: return@guardChain false
+ return@guardChain true
+ }){
+ return null
+ }
+ }
+ }
+
+ run {
+ val cornerCount = rand.nextInt(10, 11)
+ val corridorPieces = TombDungeonPieces.PIECES_MAIN_CORRIDOR(rand, TombDungeonLevel.LAST, cornerCount)
+
+ if (!build.guardChain(10){
+ lastPiece = process.appendPieces(lastPiece, corridorPieces.shuffled(rand)) ?: return@guardChain false
+ return@guardChain true
+ }){
+ return null
+ }
+ }
+
+ process.appendPiece(lastPiece, TombDungeonPieces.PIECE_ROOM_END) ?: return null
return build.freeze()
}
+
+ private class Process(build: StructureBuild<StructurePiece<Unit>.MutableInstance>, rand: Random) : ProcessBase<StructurePiece<Unit>.MutableInstance>(build, rand){
+
+ // Piece placement
+
+ fun appendPiece(targetPiece: PositionedPiece<StructurePiece<Unit>.MutableInstance>, generatedPiece: TombDungeonAbstractPiece): PositionedPiece<StructurePiece<Unit>.MutableInstance>?{
+ return addPiece(targetPiece, generatedPiece)
+ }
+
+ fun appendPieces(targetPiece: PositionedPiece<StructurePiece<Unit>.MutableInstance>, generatedPieces: List<TombDungeonAbstractPiece>): PositionedPiece<StructurePiece<Unit>.MutableInstance>?{
+ return generatedPieces.fold(targetPiece){ lastPiece, nextPiece -> addPiece(lastPiece, nextPiece) ?: return null }
+ }
+
+ // Helpers
+
+ private fun addPiece(targetPiece: PositionedPiece<StructurePiece<Unit>.MutableInstance>, generatedPiece: TombDungeonAbstractPiece, mode: AddMode = APPEND): PositionedPiece<StructurePiece<Unit>.MutableInstance>?{
+ return baseAddPiece(mode, targetPiece, generatedPiece::MutableInstance)
+ }
+ }
}
Index: src/main/java/chylex/hee/game/world/territory/descriptions/Territory_ForgottenTombs.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
<+>package chylex.hee.game.world.territory.descriptions\r\nimport chylex.hee.client.render.territory.lightmaps.ILightmap\r\nimport chylex.hee.client.render.territory.lightmaps.ILightmap.Companion.calcLightFactor\r\nimport chylex.hee.client.util.MC\r\nimport chylex.hee.game.world.territory.ITerritoryDescription\r\nimport chylex.hee.game.world.territory.properties.TerritoryColors\r\nimport chylex.hee.game.world.territory.properties.TerritoryEnvironment\r\nimport chylex.hee.system.migration.forge.Side\r\nimport chylex.hee.system.migration.forge.Sided\r\nimport chylex.hee.system.migration.vanilla.Potions\r\nimport chylex.hee.system.util.Pos\r\nimport chylex.hee.system.util.allInCenteredBoxMutable\r\nimport chylex.hee.system.util.color.IntColor.Companion.RGB\r\nimport chylex.hee.system.util.lookPosVec\r\nimport chylex.hee.system.util.math.LerpedFloat\r\nimport chylex.hee.system.util.nextFloat\r\nimport net.minecraft.util.math.Vec3d\r\nimport net.minecraft.world.LightType.BLOCK\r\nimport net.minecraft.world.LightType.SKY\r\nimport java.util.Random\r\nimport kotlin.math.max\r\nimport kotlin.math.pow\r\n\r\nobject Territory_ForgottenTombs : ITerritoryDescription{\r\n\toverride val colors = object : TerritoryColors(){\r\n\t\toverride val tokenTop = RGB(211, 212, 152)\r\n\t\toverride val tokenBottom = RGB(160, 151, 116)\r\n\t\t\r\n\t\toverride val portalSeed = 410L\r\n\t\t\r\n\t\toverride fun nextPortalColor(rand: Random, color: FloatArray){\r\n\t\t\tif (rand.nextBoolean()){\r\n\t\t\t\tcolor[0] = rand.nextFloat(0.65F, 0.9F)\r\n\t\t\t\tcolor[1] = rand.nextFloat(0.45F, 0.7F)\r\n\t\t\t\tcolor[2] = rand.nextFloat(0.15F, 0.4F)\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tcolor.fill(rand.nextFloat(0.95F, 1F))\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t\r\n\tprivate const val MAX_FOG_DENSITY = 0.069F\r\n\t\r\n\toverride val environment = object : TerritoryEnvironment(){\r\n\t\toverride val fogColor\r\n\t\t\tget() = (fogDensity / 0.275F).let { Vec3d(0.15 + it, 0.08 + it, 0.03) }\r\n\t\t\r\n\t\toverride val fogDensity\r\n\t\t\tget() = currentFogDensity.get(MC.partialTicks)\r\n\t\t\r\n\t\toverride val skyLight = 15\r\n\t\t\r\n\t\toverride val voidRadiusMpXZ = 1.35F\r\n\t\toverride val voidRadiusMpY = 0.975F\r\n\t\toverride val voidCenterOffset = Vec3d(0.0, -8.0, 0.0)\r\n\t\t\r\n\t\toverride val lightmap = object : ILightmap{\r\n\t\t\toverride fun update(colors: FloatArray, sunBrightness: Float, skyLight: Float, blockLight: Float, partialTicks: Float){\r\n\t\t\t\tval blockFactor = calcLightFactor(blockLight)\r\n\t\t\t\t\r\n\t\t\t\tcolors[0] = (blockLight * 0.9F) + skyLight + 0.12F\r\n\t\t\t\tcolors[1] = (blockFactor * 0.7F) + (skyLight * 0.8F) + 0.08F\r\n\t\t\t\tcolors[2] = (blockFactor * 0.5F) + (skyLight * 1.2F) + (0.09F * nightVisionFactor)\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\tprivate val currentFogDensity = LerpedFloat(MAX_FOG_DENSITY)\r\n\t\tprivate var nightVisionFactor = 0F\r\n\t\t\r\n\t\t@Sided(Side.CLIENT)\r\n\t\toverride fun setupClient(){\r\n\t\t\ttickClient()\r\n\t\t\tcurrentFogDensity.updateImmediately(MAX_FOG_DENSITY * 0.8F)\r\n\t\t}\r\n\t\t\r\n\t\t@Sided(Side.CLIENT)\r\n\t\toverride fun tickClient(){\r\n\t\t\tval player = MC.player\r\n\t\t\tval pos = player?.lookPosVec?.let(::Pos)\r\n\t\t\t\r\n\t\t\tval light: Float\r\n\t\t\t\r\n\t\t\tif (pos == null){\r\n\t\t\t\tlight = 1F\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tval world = player.world\r\n\t\t\t\t\r\n\t\t\t\tvar levelBlock = 0\r\n\t\t\t\tvar levelSky = 0\r\n\t\t\t\t\r\n\t\t\t\tfor(offset in pos.allInCenteredBoxMutable(1, 1, 1)){\r\n\t\t\t\t\tlevelBlock = max(levelBlock, world.getLightFor(BLOCK, offset))\r\n\t\t\t\t\tlevelSky = max(levelSky, world.getLightFor(SKY, offset))\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tlight = max(levelBlock / 15F, levelSky / 12F)\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tval prev = currentFogDensity.currentValue\r\n\t\t\tval next = MAX_FOG_DENSITY - (light.pow(0.2F) * 0.85F * MAX_FOG_DENSITY)\r\n\t\t\tval speed = if (next > prev) 0.025F else 0.055F\r\n\t\t\t\r\n\t\t\tcurrentFogDensity.update(prev + (next - prev) * speed)\r\n\t\t\tnightVisionFactor = if (player?.isPotionActive(Potions.NIGHT_VISION) == true) 1F else 0F\r\n\t\t}\r\n\t}\r\n}\r\n
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/chylex/hee/game/world/territory/descriptions/Territory_ForgottenTombs.kt (revision 41aa0b6695a1ac98e2d75beae7cb260618fe1f25)
+++ src/main/java/chylex/hee/game/world/territory/descriptions/Territory_ForgottenTombs.kt (date 1579593955530)
@@ -1,4 +1,5 @@
package chylex.hee.game.world.territory.descriptions
+import chylex.hee.client.render.territory.EnvironmentRenderer
import chylex.hee.client.render.territory.lightmaps.ILightmap
import chylex.hee.client.render.territory.lightmaps.ILightmap.Companion.calcLightFactor
import chylex.hee.client.util.MC
@@ -7,6 +8,7 @@
import chylex.hee.game.world.territory.properties.TerritoryEnvironment
import chylex.hee.system.migration.forge.Side
import chylex.hee.system.migration.forge.Sided
+import chylex.hee.system.migration.vanilla.EntityPlayer
import chylex.hee.system.migration.vanilla.Potions
import chylex.hee.system.util.Pos
import chylex.hee.system.util.allInCenteredBoxMutable
@@ -55,6 +57,14 @@
override val voidRadiusMpY = 0.975F
override val voidCenterOffset = Vec3d(0.0, -8.0, 0.0)
+ override val renderer = EnvironmentRenderer(
+ /* TODO SkyCubeStatic(
+ texture = Resource.Vanilla("textures/environment/end_sky.png"),
+ color = Vec3d(0.99, 0.5, 0.7),
+ alpha = 1F
+ )*/
+ )
+
override val lightmap = object : ILightmap{
override fun update(colors: FloatArray, sunBrightness: Float, skyLight: Float, blockLight: Float, partialTicks: Float){
val blockFactor = calcLightFactor(blockLight)
@@ -69,41 +79,32 @@
private var nightVisionFactor = 0F
@Sided(Side.CLIENT)
- override fun setupClient(){
- tickClient()
+ override fun setupClient(player: EntityPlayer){
+ tickClient(player)
currentFogDensity.updateImmediately(MAX_FOG_DENSITY * 0.8F)
}
@Sided(Side.CLIENT)
- override fun tickClient(){
- val player = MC.player
- val pos = player?.lookPosVec?.let(::Pos)
-
- val light: Float
-
- if (pos == null){
- light = 1F
- }
- else{
- val world = player.world
-
- var levelBlock = 0
- var levelSky = 0
-
- for(offset in pos.allInCenteredBoxMutable(1, 1, 1)){
- levelBlock = max(levelBlock, world.getLightFor(BLOCK, offset))
- levelSky = max(levelSky, world.getLightFor(SKY, offset))
- }
-
- light = max(levelBlock / 15F, levelSky / 12F)
- }
+ override fun tickClient(player: EntityPlayer){
+ val world = player.world
+ val pos = Pos(player.lookPosVec)
+
+ var levelBlock = 0
+ var levelSky = 0
+
+ for(offset in pos.allInCenteredBoxMutable(1, 1, 1)){
+ levelBlock = max(levelBlock, world.getLightFor(BLOCK, offset))
+ levelSky = max(levelSky, world.getLightFor(SKY, offset))
+ }
+
+ val light = max(levelBlock / 15F, levelSky / 12F)
val prev = currentFogDensity.currentValue
val next = MAX_FOG_DENSITY - (light.pow(0.2F) * 0.85F * MAX_FOG_DENSITY)
val speed = if (next > prev) 0.025F else 0.055F
currentFogDensity.update(prev + (next - prev) * speed)
- nightVisionFactor = if (player?.isPotionActive(Potions.NIGHT_VISION) == true) 1F else 0F
+ nightVisionFactor = if (player.isPotionActive(Potions.NIGHT_VISION)) 1F else 0F
}
}
}
Index: src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonRoom_Tomb.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
--- src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonRoom_Tomb.kt (date 1579593033167)
+++ src/main/java/chylex/hee/game/world/feature/tombdungeon/piece/TombDungeonRoom_Tomb.kt (date 1579593033167)
@@ -0,0 +1,18 @@
+package chylex.hee.game.world.feature.tombdungeon.piece
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnection
+import chylex.hee.game.world.feature.tombdungeon.connection.TombDungeonConnectionType.TOMB_ENTRANCE
+import chylex.hee.game.world.structure.IStructureWorld
+import chylex.hee.game.world.structure.piece.IStructurePieceConnection
+import chylex.hee.system.migration.Facing.SOUTH
+import chylex.hee.system.util.Pos
+
+class TombDungeonRoom_Tomb(file: String, entranceY: Int, isFancy: Boolean) : TombDungeonAbstractPieceFromFile(file, isFancy){
+ override val connections = arrayOf<IStructurePieceConnection>(
+ TombDungeonConnection(TOMB_ENTRANCE, Pos(centerX, entranceY, maxZ), SOUTH)
+ )
+
+ override fun generate(world: IStructureWorld, instance: Instance){
+ super.generate(world, instance)
+ // TODO
+ }
+}

Binary file not shown.

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,4 @@
<changelist name="Work_on_Ender_Eye_spawn_animation,_movement,_and_attack_logic" date="1601092950910" recycled="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Work_on_Ender_Eye_spawn_animation,_movement,_and_attack_logic/shelved.patch" />
<option name="DESCRIPTION" value="Work on Ender Eye spawn animation, movement, and attack logic" />
</changelist>

4
.idea/shelf/thing.xml generated Normal file
View File

@@ -0,0 +1,4 @@
<changelist name="thing" date="1608060366436" recycled="false">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/thing/shelved.patch" />
<option name="DESCRIPTION" value="thing" />
</changelist>

74
.idea/shelf/thing/shelved.patch generated Normal file
View File

@@ -0,0 +1,74 @@
Index: src/main/resources/hee.mixins.json
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
<+>{\n \"required\": true,\n \"minVersion\": \"0.8\",\n \"package\": \"chylex.hee.mixin\",\n \"compatibilityLevel\": \"JAVA_8\",\n \"mixins\": [\n \"HookAnvilRepair\",\n \"HookBlockDrops\",\n \"HookChorusFlowerSoil\",\n \"HookChorusPlantSoil\",\n \"HookEffectCorruption\",\n \"HookEffectInstanceCorruption\",\n \"HookEndBiome\",\n \"HookEndermanParticles\",\n \"HookEndermiteParticles\",\n \"HookEntityHelmetBreaking\",\n \"HookEntityPotionCorruption\",\n \"HookFireSpread\",\n \"HookItemEntityLavaCheck\",\n \"HookLightMapColors\",\n \"HookPlayerInventoryArmorBreaking\",\n \"HookPotionCreativeMenu\",\n \"HookThornsArmorBreaking\"\n ],\n \"injectors\": {\n \"defaultRequire\": 1\n }\n}\n
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/main/resources/hee.mixins.json b/src/main/resources/hee.mixins.json
--- a/src/main/resources/hee.mixins.json (revision 7f9202bceb9aa7b8fac24437a2190a87857573a7)
+++ b/src/main/resources/hee.mixins.json (date 1608060366293)
@@ -3,25 +3,7 @@
"minVersion": "0.8",
"package": "chylex.hee.mixin",
"compatibilityLevel": "JAVA_8",
- "mixins": [
- "HookAnvilRepair",
- "HookBlockDrops",
- "HookChorusFlowerSoil",
- "HookChorusPlantSoil",
- "HookEffectCorruption",
- "HookEffectInstanceCorruption",
- "HookEndBiome",
- "HookEndermanParticles",
- "HookEndermiteParticles",
- "HookEntityHelmetBreaking",
- "HookEntityPotionCorruption",
- "HookFireSpread",
- "HookItemEntityLavaCheck",
- "HookLightMapColors",
- "HookPlayerInventoryArmorBreaking",
- "HookPotionCreativeMenu",
- "HookThornsArmorBreaking"
- ],
+ "mixins": [ "HookAnvilRepair", "HookBlockDrops", "HookChorusFlowerSoil", "HookChorusPlantSoil", "HookEffectCorruption", "HookEffectInstanceCorruption", "HookElytraBreaking", "HookEndBiome", "HookEndermanParticles", "HookEndermiteParticles", "HookEntityHelmetBreaking", "HookEntityPotionCorruption", "HookFireSpread", "HookItemEntityLavaCheck", "HookLightMapColors", "HookPlayerInventoryArmorBreaking", "HookPotionCreativeMenu", "HookThornsArmorBreaking" ],
"injectors": {
"defaultRequire": 1
}
Index: src/main/java/chylex/hee/mixin/HookElytraBreaking.java
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/src/main/java/chylex/hee/mixin/HookElytraBreaking.java b/src/main/java/chylex/hee/mixin/HookElytraBreaking.java
new file mode 100644
--- /dev/null (date 1608060322378)
+++ b/src/main/java/chylex/hee/mixin/HookElytraBreaking.java (date 1608060322378)
@@ -0,0 +1,27 @@
+package chylex.hee.mixin;
+
+import chylex.hee.init.ModItems;
+import net.minecraft.entity.LivingEntity;
+import net.minecraft.entity.player.PlayerEntity;
+import net.minecraft.item.ElytraItem;
+import net.minecraft.item.ItemStack;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.Redirect;
+import java.util.function.Consumer;
+
+@Mixin(ElytraItem.class)
+public abstract class HookElytraBreaking{
+ @Redirect(
+ method = "elytraFlightTick",
+ at = @At(value = "INVOKE", target = "Lnet/minecraft/item/ItemStack;damageItem(ILnet/minecraft/entity/LivingEntity;Ljava/util/function/Consumer;)V")
+ )
+ public void damageItem(final ItemStack stack, final int amount, final LivingEntity entity, final Consumer<LivingEntity> onBroken){
+ final ItemStack originalStack = stack.copy();
+ stack.damageItem(amount, entity, onBroken);
+
+ if (ElytraItem.isUsable(originalStack) && !ElytraItem.isUsable(stack) && entity instanceof PlayerEntity){
+ ModItems.RING_OF_PRESERVATION.onArmorDestroyed((PlayerEntity)entity, originalStack, stack);
+ }
+ }
+}

4
.idea/shelf/todo1.xml generated Normal file
View File

@@ -0,0 +1,4 @@
<changelist name="todo1" date="1601711471885" recycled="true">
<option name="PATH" value="$PROJECT_DIR$/.idea/shelf/todo1/shelved.patch" />
<option name="DESCRIPTION" value="todo" />
</changelist>

182
.idea/shelf/todo1/shelved.patch generated Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,2 +1,3 @@
# Hardcore Ender Expansion 2
Work in progress. PRs will not be accepted before release.

Binary file not shown.

BIN
assets/endersol_top.kra Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -1,37 +1,40 @@
buildscript{
ext.kotlin_version = "1.3.61"
repositories{
jcenter()
mavenCentral()
maven{
url = "https://files.minecraftforge.net/maven"
}
}
dependencies{
classpath(group: "net.minecraftforge.gradle", name: "ForgeGradle", version: "3.+", changing: true){
exclude group: "trove", module: "trove"
}
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:" + kotlin_version
}
ext {
mc_version = "1.15.2"
forge_version = "31.2.45"
mapping_version = "20200626-1.15.1"
kotlin_mod_version = "1.6.1"
}
repositories{
maven{
url = "https://minecraft.curseforge.com/api/maven"
}
buildscript {
ext {
kotlin_version = "1.4.10"
}
repositories {
jcenter()
mavenCentral()
maven { url = "https://files.minecraftforge.net/maven" }
maven { url = "https://dist.creeper.host/Sponge/maven" }
}
dependencies {
classpath(group: "net.minecraftforge.gradle", name: "ForgeGradle", version: "3.+", changing: true) {
exclude group: "trove", module: "trove"
}
classpath "org.spongepowered:mixingradle:0.7-SNAPSHOT"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:" + kotlin_version
}
}
apply plugin: "net.minecraftforge.gradle"
apply plugin: "org.spongepowered.mixin"
apply plugin: "eclipse"
apply plugin: "kotlin"
apply plugin: "idea"
def mcversion = "1.14.4"
def forgeversion = "28.1.116"
def kottleversion = "1.4.0"
if (file("run/mods_deobf.gradle").exists()){
apply from: "run/mods_deobf.gradle"
}
def prefixName = "displayName = "
def prefixVersion = "version = "
@@ -44,88 +47,172 @@ group = "chylex.hee"
version = metaVersion
archivesBaseName = metaName.replaceAll("\\s", "")
sourceCompatibility = targetCompatibility = "1.8"
tasks.withType(JavaCompile){
sourceCompatibility = targetCompatibility = "1.8"
idea {
module {
[".idea", ".settings", ".gradle", "build", "gradle", "out", "run", "src/main/kotlin", "src/test/kotlin"].each {
excludeDirs += file(it)
}
["out", "src/main/kotlin", "src/test/kotlin"].each {
excludeDirs += file("src/system/" + it)
}
["src/main/kotlin", "src/test/kotlin"].each {
excludeDirs += file("data/" + it)
}
}
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile){
kotlinOptions{
jvmTarget = "1.8"
apiVersion = "1.3"
languageVersion = "1.3"
freeCompilerArgs = [
"-Xno-call-assertions",
"-Xno-param-assertions",
"-Xno-receiver-assertions",
"-Xjvm-default=enable",
"-Xuse-experimental=kotlin.ExperimentalUnsignedTypes",
"-Xuse-experimental=kotlin.contracts.ExperimentalContracts",
"-XXLanguage:+InlineClasses"
]
}
allprojects {
apply plugin: "kotlin"
sourceCompatibility = targetCompatibility = "1.8"
tasks.withType(JavaCompile) {
sourceCompatibility = targetCompatibility = "1.8"
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) {
kotlinOptions {
jvmTarget = "1.8"
apiVersion = "1.4"
languageVersion = "1.4"
freeCompilerArgs = [
"-Xno-call-assertions",
"-Xno-param-assertions",
"-Xno-receiver-assertions",
"-Xjvm-default=all",
"-Xuse-experimental=kotlin.ExperimentalUnsignedTypes",
"-Xuse-experimental=kotlin.contracts.ExperimentalContracts",
"-XXLanguage:+InlineClasses"
]
}
}
repositories {
maven {
name = "kotlinforforge"
url = "https://thedarkcolour.github.io/KotlinForForge/"
}
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
implementation "org.jetbrains.kotlin:kotlin-reflect"
}
if (file("$buildDir/classes").exists()){
file("$buildDir/classes/java/main").mkdirs() // Forge complains when the java folder is missing
}
}
minecraft{
mappings channel: "snapshot", version: "20200119-1.14.4"
accessTransformer = file("src/main/resources/META-INF/accesstransformer.cfg")
runs{
client{
properties "hee.debug": ""
workingDirectory file("run")
mods{
hee{
source sourceSets.main
}
}
}
server{
properties "hee.debug": ""
workingDirectory file("run")
mods{
hee{
source sourceSets.main
}
}
}
}
sourceSets {
main {
resources {
srcDirs += file("data/gen")
exclude ".cache"
}
}
}
dependencies{
minecraft "net.minecraftforge:forge:" + mcversion + "-" + forgeversion
implementation "kottle:Kottle:" + kottleversion
testImplementation "org.junit.jupiter:junit-jupiter-api:5.3.0-RC1"
minecraft {
mappings channel: "snapshot", version: rootProject.mapping_version
accessTransformer = file("src/main/resources/META-INF/accesstransformer.cfg")
runs {
client {
property "hee.debug", ""
property "mixin.env.disableRefMap", "true"
arg "-mixin.config=hee.mixins.json"
workingDirectory file("run")
mods {
hee {
source sourceSets.main
source project(":system").sourceSets.main
}
}
}
server {
property "hee.debug", ""
property "mixin.env.disableRefMap", "true"
arg "-mixin.config=hee.mixins.json"
workingDirectory file("run")
mods {
hee {
source sourceSets.main
source project(":system").sourceSets.main
}
}
}
data {
args "--mod", "hee"
args "--all"
args "--output", file("data/gen")
args "--existing", sourceSets.main.resources.srcDirs.first().toString()
workingDirectory file("run")
ideaModule project.name + "." + project(":datagen").name + ".main"
mods {
hee {
source sourceSets.main
source project(":system").sourceSets.main
source project(":datagen").sourceSets.main
}
}
}
}
}
test{
systemProperty "junit.jupiter.testinstance.lifecycle.default", "per_class"
dependencies {
minecraft "net.minecraftforge:forge:" + mc_version + "-" + forge_version
implementation "thedarkcolour:kotlinforforge:" + kotlin_mod_version
implementation project(":system")
testImplementation "org.junit.jupiter:junit-jupiter-api:5.3.0-RC1"
testImplementation project(":system")
}
jar{
archiveName = archivesBaseName + "-" + mcversion + "-v" + version + ".jar"
from("./"){
include "LICENSE"
}
manifest{
attributes([
"Specification-Title" : "bettersprinting",
"Specification-Version": "1",
"Specification-Vendor" : "chylex",
"Implementation-Title" : metaName,
"Implementation-Version": metaVersion,
"Implementation-Vendor" : "chylex",
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
])
}
test {
systemProperty "junit.jupiter.testinstance.lifecycle.default", "per_class"
}
jar {
archiveName = archivesBaseName + "-" + mc_version + "-v" + version + ".jar"
from(project(":system").sourceSets.main.output) {
exclude "META-INF"
}
from("./data/gen") {
exclude ".cache"
}
from("./") {
include "LICENSE"
}
manifest {
attributes([
"Specification-Title" : "hee",
"Specification-Version" : "1",
"Specification-Vendor" : "chylex",
"Implementation-Title" : metaName,
"Implementation-Version" : metaVersion,
"Implementation-Vendor" : "chylex",
"Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
"MixinConfigs" : "hee.mixins.json"
])
}
}

49
data/build.gradle Normal file
View File

@@ -0,0 +1,49 @@
buildscript {
repositories {
jcenter()
mavenCentral()
maven {
url = "https://files.minecraftforge.net/maven"
}
}
dependencies {
classpath(group: "net.minecraftforge.gradle", name: "ForgeGradle", version: "3.+", changing: true) {
exclude group: "trove", module: "trove"
}
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:" + kotlin_version
}
}
repositories {
jcenter()
mavenCentral()
maven {
url = "https://files.minecraftforge.net/maven"
}
}
apply plugin: "net.minecraftforge.gradle"
apply plugin: "eclipse"
minecraft {
mappings channel: "snapshot", version: rootProject.mapping_version
accessTransformer = file("../src/main/resources/META-INF/accesstransformer.cfg")
}
dependencies {
minecraft "net.minecraftforge:forge:" + mc_version + "-" + forge_version
implementation rootProject
implementation project(":system")
}
jar {
manifest {
attributes([
"FMLModType": "LIBRARY"
])
}
}

584
data/gen/.cache/cache Normal file
View File

@@ -0,0 +1,584 @@
e09b371ae917d46666d142cf754d5974e0f62ba2 assets/hee/blockstates/accumulation_table_tier_1.json
dfb52484763c579799b3987d3f7a64476b17912d assets/hee/blockstates/accumulation_table_tier_2.json
1b00f0c4187589d7bfddbd74318372514eb42777 assets/hee/blockstates/accumulation_table_tier_3.json
64c7650c095caf50ce4eeeb55207c568a00fac32 assets/hee/blockstates/ancient_cobweb.json
1d4f3ef90328087c095a174a9713460ca8f6bfaf assets/hee/blockstates/autumn_leaves_brown.json
961c98ad3317dd3ee99eb8643597035aa5b7f603 assets/hee/blockstates/autumn_leaves_orange.json
b6cbdd074ed853e63dcc25d7933d238d79590d01 assets/hee/blockstates/autumn_leaves_red.json
e53a79fa8e5222e4287e2e5d410890b1f8df78ba assets/hee/blockstates/autumn_leaves_yellowgreen.json
270b0a5193420cb7c9c4e4f4fbf8835745c14cd2 assets/hee/blockstates/autumn_sapling_brown.json
1ce8f488560f32fddbd2532961df123665625c75 assets/hee/blockstates/autumn_sapling_orange.json
303070f9945ee2e6716e0fcd67bfa3275b93fde6 assets/hee/blockstates/autumn_sapling_red.json
694318e51ca78111cd91a507a99ab852825cdf0c assets/hee/blockstates/autumn_sapling_yellowgreen.json
e926f62a373640c427ba9ac962d7b2dcbe0ae376 assets/hee/blockstates/corrupted_energy.json
7bce0e85ae6f21ceede602f140f40c7678480790 assets/hee/blockstates/dark_chest.json
97ac658307fc07611fe9328ab95d692ab16bb92d assets/hee/blockstates/dark_loam.json
ae22b11c3b5602e44806942bcb13fad373684b47 assets/hee/blockstates/dark_loam_slab.json
155e23accb786109cd08217b7cdd380f0ee3af27 assets/hee/blockstates/death_flower_healed.json
9ab9a80ad3d8c6b962b5504fd647d00573e3e777 assets/hee/blockstates/death_flower_withered.json
6a6055195be1586a896a1caa4a5e191049c9942f assets/hee/blockstates/dusty_stone.json
9dc584e4eb0f3d456cee44cfe22f921215145539 assets/hee/blockstates/dusty_stone_brick_slab.json
1e8227c43b193d1a6b02d6ef66a9b01569670edf assets/hee/blockstates/dusty_stone_brick_stairs.json
d73ccfd90f0d1622c19fe462bde6e7f0ca45902d assets/hee/blockstates/dusty_stone_bricks.json
ce908fc9783c55e70f004ea08cb7a331affb83e6 assets/hee/blockstates/dusty_stone_cracked.json
407665b479a9778cf879e6311bd88bb88f96830b assets/hee/blockstates/dusty_stone_cracked_bricks.json
f585111795d36f6d85b7338350ec645f237947ff assets/hee/blockstates/dusty_stone_damaged.json
0c1d300ccc473a270dac86661bba30b5027c007c assets/hee/blockstates/dusty_stone_decoration.json
d07fad68947538fb496162f21c4ff1b2c340a916 assets/hee/blockstates/end_portal_acceptor.json
967b594916588e22cdc565da162901dfb6c1d4a2 assets/hee/blockstates/end_portal_frame.json
9374398b874a9f25be608e6806f2fc0622cba8b1 assets/hee/blockstates/end_portal_inner.json
81b104c19dd90b71a4e0b634a638a4c9a0cf01b7 assets/hee/blockstates/end_powder_ore.json
0dd006bb9473468d816e0058590585234a310d38 assets/hee/blockstates/end_stone_burned.json
c58f600e81996fbe72299f8ed93f4b2ceb056bd7 assets/hee/blockstates/end_stone_enchanted.json
baef7304833195deb39746f5aa4840d810427759 assets/hee/blockstates/end_stone_infested.json
378988faf9ffdf8164a9835fdc8bb3ec36c516bc assets/hee/blockstates/ender_goo.json
b3c526ff58396963e6603a40b4eb36d055d9b226 assets/hee/blockstates/enderman_head.json
b3c526ff58396963e6603a40b4eb36d055d9b226 assets/hee/blockstates/enderman_wall_head.json
e40036409e76ee28c3c4f0dc2ce15cbd57a507b1 assets/hee/blockstates/endium_block.json
065057118b66488222ab3584b89cae721e2d52de assets/hee/blockstates/endium_ore.json
318fd52750ee392bf4d2f97777edc712ac9c293b assets/hee/blockstates/ethereal_lantern.json
3f69a91d29e74284e3f351c5b7d9a85b281870f0 assets/hee/blockstates/experience_gate_controller.json
e979e4f76607a1f47794684eb43e4891b8466eda assets/hee/blockstates/experience_table_tier_1.json
02f6a5c4ffe7fb0b2b273126aafaa3f7c79ae4b1 assets/hee/blockstates/experience_table_tier_2.json
48faba0ff1cc5e837dd5669db10440f6948942d7 assets/hee/blockstates/experience_table_tier_3.json
6c597473de0d95dc01d189bcf9d9926fedc016da assets/hee/blockstates/gloomrock.json
99d18b59a9358bcff6827900f2c92b7a71ff20f2 assets/hee/blockstates/gloomrock_brick_slab.json
709bcb37f20638c0b1f068c847bd8318840575d2 assets/hee/blockstates/gloomrock_brick_stairs.json
06d6fd7b6c91d78f83e975fd4942f0572e4f0a9f assets/hee/blockstates/gloomrock_bricks.json
ba631fd0459453042c16bc3dfba84d8dc54fe0bf assets/hee/blockstates/gloomrock_smooth.json
3057070639e13621b5247934367166d939bcb51c assets/hee/blockstates/gloomrock_smooth_blue.json
cbcb18cd5ae16d72439bb72e660668756d29539c assets/hee/blockstates/gloomrock_smooth_cyan.json
d99808f5932ab3c1fb48b919d2db8686b0d9caa1 assets/hee/blockstates/gloomrock_smooth_green.json
613ef3d872bd52bbcd0c43c744d539bd0f00df6d assets/hee/blockstates/gloomrock_smooth_magenta.json
37964a6add8337ddd85953874125a99ac7d17faf assets/hee/blockstates/gloomrock_smooth_orange.json
ed3b9f7fd04d52e9b54d57b2fbe5cd006de93c1c assets/hee/blockstates/gloomrock_smooth_purple.json
bfa20a8f7bda18b878fe88d3865079e4e03b66c5 assets/hee/blockstates/gloomrock_smooth_red.json
17175df7e763c97430b51aa66fc86e502cbaaeae assets/hee/blockstates/gloomrock_smooth_slab.json
6a09598f6c514902b3e7f7edfa3e8b51627989b1 assets/hee/blockstates/gloomrock_smooth_stairs.json
f61f418bbafcbbc44e3362c012bdaecaaa6b74b5 assets/hee/blockstates/gloomrock_smooth_white.json
f55b0baaae49cfc9a51d59a9a369e0d5c81ce578 assets/hee/blockstates/gloomrock_smooth_yellow.json
3675778e003feeb05b77c19a5c587f8e227b62d7 assets/hee/blockstates/igneous_plate.json
27c4ce1cb98933f96396a29d344a78b6327cbb83 assets/hee/blockstates/igneous_rock_ore.json
f0541f01c6228aebf0871b4b72c2ec3de31d49be assets/hee/blockstates/infused_tnt.json
1e664c20ab827b107166b60a9df3e1378717f935 assets/hee/blockstates/infusion_table_tier_1.json
b0a3d8bf886b68bdb912d05d32d61e6ba353f4d0 assets/hee/blockstates/infusion_table_tier_2.json
fab8e5adbe78c08a8d9837d2317192346bafb45d assets/hee/blockstates/infusion_table_tier_3.json
07036db0a008f5901651367f2f0bbcd488559241 assets/hee/blockstates/jar_o_dust.json
3b00de5fbdcc7dfebb2699374e4200224b68b377 assets/hee/blockstates/loot_chest.json
5d5f59f893a34e8e616abdbdc8567906ae021f99 assets/hee/blockstates/miners_burial_altar.json
922f1005c22e55c329ef56039224717b2dc4c55b assets/hee/blockstates/miners_burial_block_chiseled.json
c16b5933b9af8fb1033c6d6d11e19628d7c56f4f assets/hee/blockstates/miners_burial_block_jail.json
45c8146f5aaf0e59384e5afeabc72ff3a6a23779 assets/hee/blockstates/miners_burial_block_pillar.json
b58fb5ca5bdaf639f725135a2a6682adc4c712ff assets/hee/blockstates/miners_burial_block_plain.json
4c56ed06867c9ef95b287b57e31ddb123e56020e assets/hee/blockstates/obsidian_chiseled.json
4c56ed06867c9ef95b287b57e31ddb123e56020e assets/hee/blockstates/obsidian_chiseled_lit.json
58196b68181ce4554fe7accaa29d3f1f2596b3c2 assets/hee/blockstates/obsidian_falling.json
36abdff17a5a19d1bb2d7d496305ce402b26a3c6 assets/hee/blockstates/obsidian_pillar.json
36abdff17a5a19d1bb2d7d496305ce402b26a3c6 assets/hee/blockstates/obsidian_pillar_lit.json
3c6eb037eb8731410f06b17815e9b9d3705c6b7f assets/hee/blockstates/obsidian_smooth.json
3c6eb037eb8731410f06b17815e9b9d3705c6b7f assets/hee/blockstates/obsidian_smooth_lit.json
b8b99433b93d082fafdddcbf8028802fb91ec72e assets/hee/blockstates/obsidian_stairs.json
4c56ed06867c9ef95b287b57e31ddb123e56020e assets/hee/blockstates/obsidian_tower_top.json
7efd5a7ae296a26f205ee605037ce83fb0b6e2dd assets/hee/blockstates/potted_autumn_sapling_brown.json
3dae664cf2477c73c2f9ecd7188a61ab49f7c0db assets/hee/blockstates/potted_autumn_sapling_orange.json
5adf27869400772d558b03c9aa76899a05bc731f assets/hee/blockstates/potted_autumn_sapling_red.json
e66523b790ee956b84f4a029892175edb15c93a4 assets/hee/blockstates/potted_autumn_sapling_yellowgreen.json
81d904d3d3e4d6daeacc7f2283baaa1d07d70ed6 assets/hee/blockstates/potted_death_flower_healed.json
103a67d126272b54869a53759a1eb068b2a4d481 assets/hee/blockstates/potted_death_flower_withered.json
b70f529af4a5d86e6313d278bed22000f5aa5239 assets/hee/blockstates/purified_ender_goo.json
7b9473e5987ea2cf6fde1a7b530895bba6891a24 assets/hee/blockstates/puzzle_block_wall.json
ce9b1e3bb4760063c69b9c671c8a567520125dd2 assets/hee/blockstates/scaffolding.json
070df87fc3b7dd9029a0bf0d59745cb0e4430181 assets/hee/blockstates/spawner_obsidian_towers.json
947fcca21b602927ed0ead585ea1d2213372f074 assets/hee/blockstates/table_base_tier_1.json
404f8c1b45214db75959f02706dc10c66b278970 assets/hee/blockstates/table_base_tier_2.json
805a8e554ff95cea28405e6de97da053986bd9df assets/hee/blockstates/table_base_tier_3.json
c1ab1041076b7ca972106523912e517c9426e2ae assets/hee/blockstates/vantablock.json
5d3944f63a3f685c824e7210885afad1b500ad04 assets/hee/blockstates/void_portal_frame.json
cdec448668f4779142ce0d53ca8b225b16bbf6bc assets/hee/blockstates/void_portal_frame_crafted.json
9374398b874a9f25be608e6806f2fc0622cba8b1 assets/hee/blockstates/void_portal_inner.json
3cfceb3e6ab5611c49f8922397fc407e67f80abf assets/hee/blockstates/void_portal_storage.json
c389eedbbe42d28f5ceea56b48c89b67ce4e1afa assets/hee/blockstates/void_portal_storage_crafted.json
4cfe2854f9a07843b5c81941ffa2c5dc09d71a17 assets/hee/blockstates/whitebark.json
249a4cebff92532cc7a7cb4d54d5db8cfdebc771 assets/hee/blockstates/whitebark_log.json
281264d279f075947ee2f8afdb78190364782921 assets/hee/blockstates/whitebark_planks.json
976d2b47d52e04eb9944e3c4c8aee9a91f315ade assets/hee/blockstates/whitebark_slab.json
776dd79a096f999f2606047486af73aca71a6cf0 assets/hee/blockstates/whitebark_stairs.json
a3127926cde114f660a9748f9d2ff6c378778d6a assets/hee/models/block/accumulation_table_tier_1.json
c87320b92ede3bf18f7497cf59689d15ef18969b assets/hee/models/block/accumulation_table_tier_2.json
0adc1ddee430fc2aacd2b6a32fbc1fea048345c2 assets/hee/models/block/accumulation_table_tier_3.json
f5a0ce0b1552b59fbd585d82ad7dc22f2e4f7202 assets/hee/models/block/ancient_cobweb.json
85f08c6a03ff2355552e3d23c34ba4950ee715c0 assets/hee/models/block/autumn_leaves_brown.json
73690d671b7588e736be5747e395cda0b05681d0 assets/hee/models/block/autumn_leaves_orange.json
a7681a39143ebd00e76c52e04102ec6d0ef49996 assets/hee/models/block/autumn_leaves_red.json
b9921617ab7299304e5a62126f0e3cb3ba387d10 assets/hee/models/block/autumn_leaves_yellowgreen.json
527d0b22cb75b9b5f6064cfbea82cf9b0e6f5bee assets/hee/models/block/autumn_sapling_brown.json
3a89a6b4d7353148a740dbafe27f2d1af3b508ed assets/hee/models/block/autumn_sapling_orange.json
36cea0264aa43b3ca8a6c1b6356ad4f9d1f30f8f assets/hee/models/block/autumn_sapling_red.json
309230ae789305f68680e6a3952e5b0080ab2cf8 assets/hee/models/block/autumn_sapling_yellowgreen.json
57a8082130798e045d905406ba36c88b7aa25c4b assets/hee/models/block/cauldron_dragons_breath_level1.json
95d97030b8ed0b4a68b5c4d110bddd782b0e1f24 assets/hee/models/block/cauldron_dragons_breath_level2.json
4ec96e37017f5b2d37c0043fc2777210c56887d8 assets/hee/models/block/cauldron_dragons_breath_level3.json
f343686bf0a9923c8cbb247bcc69f8a190763504 assets/hee/models/block/cauldron_ender_goo_level1.json
08c6586789b11eefb3e660407851869eeebfcce0 assets/hee/models/block/cauldron_ender_goo_level2.json
14b18e57ab3afee889cca25b5f76a6b9b487a974 assets/hee/models/block/cauldron_ender_goo_level3.json
59a64b517e41241d1744005f2a003af7f661e209 assets/hee/models/block/cauldron_purified_ender_goo_level1.json
de38ac2f4222080a706bb22235b8d07a592db296 assets/hee/models/block/cauldron_purified_ender_goo_level2.json
f47dd5e887771067a2a5383ce46aa311bd95f90c assets/hee/models/block/cauldron_purified_ender_goo_level3.json
8eec038e2ef5a9ec058f4990e1e3b361570548d5 assets/hee/models/block/corrupted_energy.json
ad88e3d4e3bd11b06d0a4a93ebed8be76aa89317 assets/hee/models/block/dark_chest.json
e5a5af4002a534f8b77fd76e0d6caab4445d5b00 assets/hee/models/block/dark_loam.json
e734982b95fc45c399a5594141f023368241276f assets/hee/models/block/dark_loam_slab.json
9fa22a76cbfcfc3c570bb25a937db987fbc05441 assets/hee/models/block/dark_loam_slab_top.json
27df86cc0d90165dcfef0de1df77ad014629850b assets/hee/models/block/death_flower_1.json
6d9a781d67eb4dbe2d2f31d9b5845a0ab9eb6ca4 assets/hee/models/block/death_flower_2.json
368b95a90a905636deef937dd3019fe19ac9b332 assets/hee/models/block/death_flower_3.json
99d9b9ea30a882a96d82e33fc97e3951a4b0eba5 assets/hee/models/block/death_flower_4.json
06a57555956648436c015235844f327fb9320be0 assets/hee/models/block/death_flower_healed.json
0bac81f0f958b5f353609f845418478177bd3052 assets/hee/models/block/death_flower_withered.json
96d98103e317debe5442d90300ff701fbb004a39 assets/hee/models/block/dusty_stone.json
c38623c1e3ad050cb365356ec75625b07900bffd assets/hee/models/block/dusty_stone_brick_slab.json
6b78fb1a643e24694d27432d7e70c049afdcd2e2 assets/hee/models/block/dusty_stone_brick_slab_top.json
45d4c4f122e8a5ea641d50d5b89b6bf0b0386ce8 assets/hee/models/block/dusty_stone_brick_stairs.json
2429b27385b4c8681fdc8f555a5383f3a7825422 assets/hee/models/block/dusty_stone_brick_stairs_inner.json
360a54b0599116930fa4b1c146a623e7c6add822 assets/hee/models/block/dusty_stone_brick_stairs_outer.json
37c7389a1e1f4435cf51ff75ee536e638db0fc02 assets/hee/models/block/dusty_stone_bricks.json
47e1b115f601c3f98658498f5c3a1e304360e977 assets/hee/models/block/dusty_stone_cracked.json
9873221fc0ada7602335594dbab22b3c0992714c assets/hee/models/block/dusty_stone_cracked_bricks.json
682e5d72431d1c400ee5e60e668766217ea2ff87 assets/hee/models/block/dusty_stone_damaged.json
47f10ef5621a1ec67f3e2deab47a8cb7da797867 assets/hee/models/block/dusty_stone_decoration.json
089b25127e23a55a018919f222745279ecfad754 assets/hee/models/block/end_portal_acceptor.json
8264ce5f8e94d5ed043642029ef000107ee35c55 assets/hee/models/block/end_portal_frame.json
4d54ca0d643dac45034429b479e32ff5642aa373 assets/hee/models/block/end_powder_ore.json
2a07c9e7472d636276bd390049045bb352e7f49d assets/hee/models/block/end_stone_burned.json
b92c3fc4f8a276a9563b6eb6ff698446285f8163 assets/hee/models/block/end_stone_enchanted.json
9ba702bf9cff6144346128369baa3eba1e7245c4 assets/hee/models/block/end_stone_infested.json
29b10fc3da83e5afd32687e8fb470680936d48ed assets/hee/models/block/ender_goo.json
a6161ca3eff0acf2167182bbdee7728d7008fe92 assets/hee/models/block/endersol.json
cd7eabdba73e8b92254f783c3e457888424d4969 assets/hee/models/block/endersol_merge_1.json
0747054b5bf4218e96f37dedc6f61e842cb56218 assets/hee/models/block/endersol_merge_2.json
ad877d7e542671b5b75b3d4a453be1a884f1d60a assets/hee/models/block/endium_block.json
494df62cf8faddf115c46d4a2de14531b638b557 assets/hee/models/block/endium_ore.json
f7ce59a3f35221e51952b9b3f33d664ee94a0453 assets/hee/models/block/enhanced_brewing_stand.json
10330ff54082b1d21653c15b90f48857a00cc37f assets/hee/models/block/ethereal_lantern.json
6b85ef98e153114a10d0da321c96a3a8c47f8ff8 assets/hee/models/block/experience_gate.json
99e8732816d87b7908206bb20b6c890bcdd2798b assets/hee/models/block/experience_gate_controller.json
e2341e985fabd9e6a94471997a1baeed2d1ae056 assets/hee/models/block/experience_gate_rd1.json
7b388522136f2304bfe2cf11a1abf470d93ba452 assets/hee/models/block/experience_gate_rd2.json
cb4790e4cd8cb8038727301ef6f9a527977b9d78 assets/hee/models/block/experience_gate_ud.json
d5b8a293956fd0805aff3ccdb90b99b25a89b4f8 assets/hee/models/block/experience_table_tier_1.json
d076ed21d4a7166002009b11c028013021a200bf assets/hee/models/block/experience_table_tier_2.json
ee4870a6f54463bc01cbc87f228485a342a2cde7 assets/hee/models/block/experience_table_tier_3.json
dd60beb1fac8cf85a006401abfccbe5ad6bd02a6 assets/hee/models/block/gloomrock.json
e5854017a3424595246e55416ecd1be6401affb3 assets/hee/models/block/gloomrock_brick_slab.json
dcf799aa8268e8fb81eee791b30fed0193680a37 assets/hee/models/block/gloomrock_brick_slab_top.json
4dbd07b78be477a5ebb3a27be707cfbbfdf71fd4 assets/hee/models/block/gloomrock_brick_stairs.json
8793a1b64cae383bf068df158a8e99ad0dc5c40d assets/hee/models/block/gloomrock_brick_stairs_inner.json
171ed7421a26a9e102b0737486061804278d4140 assets/hee/models/block/gloomrock_brick_stairs_outer.json
dc63e38e2c5d80ad6b98b86e37b241fb183cd06a assets/hee/models/block/gloomrock_bricks.json
8f7b1ccbe6971bd9b1ff9d4180ae2217fe014e95 assets/hee/models/block/gloomrock_smooth.json
88b2ffe5c90bcfddd021f6fbf5dae418a147075e assets/hee/models/block/gloomrock_smooth_blue.json
e085d01d475338f5704a307ce7a6fc9f5f0fad6b assets/hee/models/block/gloomrock_smooth_cyan.json
797504b460ba770e80f8cdcf7c731999cacaf038 assets/hee/models/block/gloomrock_smooth_green.json
be2eef39790cf0e7b3f0b3254ab1af98b054e70a assets/hee/models/block/gloomrock_smooth_magenta.json
93b901086c913f3f9c6aa7406a2e6b9506598dd0 assets/hee/models/block/gloomrock_smooth_orange.json
b85cb86d0569bb4b990a95e37834611c910fd840 assets/hee/models/block/gloomrock_smooth_purple.json
670773ec938e587d32e1032e6c1a4e6fd3ceb83c assets/hee/models/block/gloomrock_smooth_red.json
1970ee45f429409ca5b006a0f53229e71eb62e30 assets/hee/models/block/gloomrock_smooth_slab.json
3b3abaa9f8fbd9141f44bba2ee92c9d3a42e5048 assets/hee/models/block/gloomrock_smooth_slab_top.json
b63680a04dffdfbc5b271f41eb34a07f04ff071c assets/hee/models/block/gloomrock_smooth_stairs.json
015336b87078b38c4b2aba486ce01b71442e3005 assets/hee/models/block/gloomrock_smooth_stairs_inner.json
6df66a06e5e22bab055e0d541b3d7ce58d653686 assets/hee/models/block/gloomrock_smooth_stairs_outer.json
2c6e15e6bf8d7ff937721cb61f859f04dac2c641 assets/hee/models/block/gloomrock_smooth_white.json
3b65578d2022f0cee4277ec0d32b6bd94f83fbb5 assets/hee/models/block/gloomrock_smooth_yellow.json
f663a22199f61b84942bb2490f8a1401891aade7 assets/hee/models/block/grave_dirt_full.json
802dd6b045233a44bd8d9678efef7b79bbf0b42f assets/hee/models/block/grave_dirt_loot_1.json
8dae96b18114e8ca77b384a003adca6c0090470e assets/hee/models/block/grave_dirt_loot_2.json
9eb17a6fd0e7dac0d3c3189d902a059b5c2f4f64 assets/hee/models/block/grave_dirt_loot_3.json
2efb385ab24ce61be0dffa8bcebc7dd9ce3e2f29 assets/hee/models/block/grave_dirt_loot_4.json
f7c63afe14f1173e1f1ff1679bba3abd0c160534 assets/hee/models/block/grave_dirt_loot_5.json
d416b2563d93dcea43aa49f4fb61064f45c79232 assets/hee/models/block/grave_dirt_loot_6.json
a65a90f3bdeaab465ba8379a331d8669e1489e86 assets/hee/models/block/humus.json
02358f3a229780e80687acf7d7eeb6739e03f553 assets/hee/models/block/humus_merge.json
ac3b3e5529b6baf2447aa9e8e025b35a77032c1a assets/hee/models/block/igneous_plate.json
7d565e2c21d217a0e33fef46830eb63795cbc934 assets/hee/models/block/igneous_rock_ore.json
597e525c33450a4d59e3b546e18fbb32ac4883cf assets/hee/models/block/infused_tnt.json
63f514ba3c4648bbe843ab4bc5ddf1df70025f0c assets/hee/models/block/infusion_table_tier_1.json
71efff4640a6fe83ac449de2204e2d2bd0e3f97e assets/hee/models/block/infusion_table_tier_2.json
18c56872e21de3d66f642f1d6a3c4bccafc461c8 assets/hee/models/block/infusion_table_tier_3.json
b23cd553caf3084a28382817e4e53d1e18bf5b44 assets/hee/models/block/loot_chest.json
1532307368f97baefe1c54da15b678e13f4b78cd assets/hee/models/block/miners_burial_block_chiseled.json
753d5c5e34b31cd8bb90e152f12ede53b1178272 assets/hee/models/block/miners_burial_block_jail.json
3ba10eb54e8a6dd4a6580bb7516c6c401f6bda1f assets/hee/models/block/miners_burial_block_pillar.json
06661b8c3b96fc0267d402cea35425fc1fd8ef78 assets/hee/models/block/miners_burial_block_plain.json
9c1b2b26f3e359399406c06428717a4d74428239 assets/hee/models/block/obsidian_chiseled.json
f463c84bdfcb03fda47bede7cbb441599128114f assets/hee/models/block/obsidian_falling.json
ffac40bd0f51bca508dff0687f0123a18834f0bd assets/hee/models/block/obsidian_pillar.json
e12fee6dca189053dd2b061b24431d724c40a8ca assets/hee/models/block/obsidian_smooth.json
a0aee16577b35be488a1c446137203cb1087f0d4 assets/hee/models/block/obsidian_stairs.json
c22ad168ae55565a9c4aec46c760769ca3d6f79c assets/hee/models/block/obsidian_stairs_inner.json
2e7a3af8b388868c94a6d634fa6a6debd78ac706 assets/hee/models/block/obsidian_stairs_outer.json
eb950cf6ed456ba5269288de9bcc8f9cb8b6a883 assets/hee/models/block/potted_autumn_sapling_brown.json
72a2c856cfe64e0089f60aecccdf8abae85534c6 assets/hee/models/block/potted_autumn_sapling_orange.json
2820553eac77fff5872efb445fa75748b76c6a5a assets/hee/models/block/potted_autumn_sapling_red.json
3092c5c8e88345dc2327b3cd44180a7639d28313 assets/hee/models/block/potted_autumn_sapling_yellowgreen.json
a6c42828eaf249a1f7a7c12857f3beb05b732020 assets/hee/models/block/potted_death_flower_1.json
414d97a93b938f19bdd5ee5bb83507e91345acbd assets/hee/models/block/potted_death_flower_2.json
50e425d9494935aa5ee2b33efc9c0d2c7b73df91 assets/hee/models/block/potted_death_flower_3.json
9899539cd7e769d6c1bda3327344915cf4d2b3fc assets/hee/models/block/potted_death_flower_4.json
53fd7eb645f845b1fd4ecfbe0be68ee99f9a4ed7 assets/hee/models/block/potted_death_flower_healed.json
34796396bc6a7c920c200e2ab071c85828e86c4b assets/hee/models/block/potted_death_flower_withered.json
e263407687e777250cc092c8c7cc1b1f95bd69b7 assets/hee/models/block/purified_ender_goo.json
cdca16c8bf3446af886dadfed6f8bb75d9ca8aa1 assets/hee/models/block/puzzle_base_active.json
79a9ce0aced147650140cf5c4b38583d59dc64da assets/hee/models/block/puzzle_base_disabled.json
453a5fc499c51b091014a8ab105d6486e10a631e assets/hee/models/block/puzzle_base_inactive.json
6421450799aad14b172a76826446cde53b143518 assets/hee/models/block/puzzle_block_wall.json
905c46cc5a0e5c8ab37a6047d33494289974342c assets/hee/models/block/puzzle_overlay_burst_3.json
fffe32de4f74c8e238b7fba46f6a7fd96c00073c assets/hee/models/block/puzzle_overlay_burst_5.json
e7143ed84eb7bdc26b75dcb81a20c55e474b7efc assets/hee/models/block/puzzle_overlay_redirect_1e.json
8e063a04986a911d1c2fdce7b47eaf7b0f2f085f assets/hee/models/block/puzzle_overlay_redirect_1n.json
863043b20a87c1ae501f6c6ca5232bb5f65bb46c assets/hee/models/block/puzzle_overlay_redirect_1s.json
df1da07bdb9f4c6ef5caf10d7b0d4ce670ad84a5 assets/hee/models/block/puzzle_overlay_redirect_1w.json
68ec6de6f1c587eb1b29f22905765d7422e8df14 assets/hee/models/block/puzzle_overlay_redirect_2ew.json
acb30b3674a73745e14ec2e2645fe90077aaad80 assets/hee/models/block/puzzle_overlay_redirect_2ns.json
dfbe5ca94466b5bba9f76af8884c9e023ca0f88e assets/hee/models/block/puzzle_overlay_redirect_4.json
b5a186bc8fadaf0359a19cee67a9e36c3c54edc7 assets/hee/models/block/puzzle_overlay_teleport.json
c76f5ddc22151edad5a90dc8d36a6a21742d4825 assets/hee/models/block/stardust_ore.json
69531e8b56d1f22f248abe2119b3d328436e83b4 assets/hee/models/block/stone_brick_wall_inventory.json
436d53c415540b32d002c7d7e84e04685fcf451b assets/hee/models/block/stone_brick_wall_post.json
293dd8d478be6c72d3a2e9fc701a0d8041b78ad1 assets/hee/models/block/stone_brick_wall_side.json
41ed731b9cdf43c640eb30b4afe4d07c398998d8 assets/hee/models/block/table_base_tier_1.json
80dba135838e7e09bdaec81de85ed1cac86afaba assets/hee/models/block/table_base_tier_2.json
599436b696068b179b023bdf27ff8f550c83b1f5 assets/hee/models/block/table_base_tier_3.json
9fd50649be4bdffdf19d46dbb966948b61b6dbd5 assets/hee/models/block/table_tier_1.json
16c6486c444a71545d0daddafb0f3ea3902e11c1 assets/hee/models/block/table_tier_2.json
abfe03a326e076947a48407184a22c1531134e15 assets/hee/models/block/table_tier_3.json
2a126f2bb546dc28b4545fccec5e1d0a522bcb27 assets/hee/models/block/vantablock.json
ab0a1800b6187fd05e589be57687c501f49ac7a7 assets/hee/models/block/void_portal_frame.json
ab0a1800b6187fd05e589be57687c501f49ac7a7 assets/hee/models/block/void_portal_frame_crafted.json
b3c9bd5a8feb5785e0b421c1b5e01dd91854c12a assets/hee/models/block/void_portal_storage.json
b3c9bd5a8feb5785e0b421c1b5e01dd91854c12a assets/hee/models/block/void_portal_storage_crafted.json
925012d29c33f75f0bc4bdda7d726a97135d8d30 assets/hee/models/block/whitebark.json
59a93d008066a819c842360d01d899f0f2234394 assets/hee/models/block/whitebark_log.json
2bfa948c604c4ee7513e12e3649e55e190cd0a65 assets/hee/models/block/whitebark_planks.json
61b3e27341c07c21e0a78a876e1026c844aa9c73 assets/hee/models/block/whitebark_slab.json
866614329f097be1f40a9b8e80acf214a795b8fe assets/hee/models/block/whitebark_slab_top.json
aee09e3fdc4244eac11852168590ba6acae8eb75 assets/hee/models/block/whitebark_stairs.json
b3d691859554bae609c8e942e1e02693b7f62c39 assets/hee/models/block/whitebark_stairs_inner.json
bde486f1ae1775d6eaf5b2770f252815952c5a09 assets/hee/models/block/whitebark_stairs_outer.json
58727a817f32ab033f22bb542b2f00fb597c015f assets/hee/models/item/accumulation_table_core.json
29fda0b69b0bd33e1387a509001087c85f9f3584 assets/hee/models/item/accumulation_table_tier_1.json
9b3ed5d436d95a87f5e10102572d0b504a373a6a assets/hee/models/item/accumulation_table_tier_2.json
17c6040f6c7ef96ae687924eb6337760784c4032 assets/hee/models/item/accumulation_table_tier_3.json
519677517417006bd650eff371f8fd39376c88e4 assets/hee/models/item/alteration_nexus.json
75b1bbfc036225bbc5c1fdef68f80132a4a5b2ef assets/hee/models/item/amelior.json
e14a286bb906068799d7593c88bf7ca92599e9a9 assets/hee/models/item/amulet_of_recovery.json
07e75402c03c713b381864b5a4e8049a8a6d495b assets/hee/models/item/amulet_of_recovery_held.json
1f2823788829cca9f4e4a60c6da8ca4a5f4d198f assets/hee/models/item/ancient_cobweb.json
83fca51d47b97beeef137ffd178af13d9443d501 assets/hee/models/item/ancient_dust.json
640fb723df4adaf9b0e055a7e45afa7756e5acb4 assets/hee/models/item/angry_enderman_spawn_egg.json
a1832ac0a6d7ba4740e1304226ca096c2f36a7c1 assets/hee/models/item/auricion.json
c58547a5da39a6cc21cc89c4e356ee4a2d95477c assets/hee/models/item/autumn_leaves_brown.json
0195e6157eb8125db9625c75467e8140ea1bc883 assets/hee/models/item/autumn_leaves_orange.json
f0a3371c2e3e14357336f10116204da9832fd082 assets/hee/models/item/autumn_leaves_red.json
843f49a4b4eec8b7f1c2ee29ed165832821e17a5 assets/hee/models/item/autumn_leaves_yellowgreen.json
e95f14a54e64aaa7bfedb6c812824bf4407b5766 assets/hee/models/item/autumn_sapling_brown.json
d762ea1869e7a998dae3ce2500ed02d181aafc69 assets/hee/models/item/autumn_sapling_orange.json
8e99a8d20f6d7ef5b210c822ea557e86e914a721 assets/hee/models/item/autumn_sapling_red.json
1730472ca46fd8e777b0f5d57bb73906598f106a assets/hee/models/item/autumn_sapling_yellowgreen.json
1d3ac095ec2cdca828663cd0ed0d9b2fb8a8d52d assets/hee/models/item/binding_essence.json
6af6173ea70e2e8321657d145e55aef173f0328d assets/hee/models/item/blank_token.json
640fb723df4adaf9b0e055a7e45afa7756e5acb4 assets/hee/models/item/blobby_spawn_egg.json
066adb92d80f4bd2f4719230fd1db6221bd569b7 assets/hee/models/item/compost.json
bd805b17a4641f39e85e70aa5e10f45b0f0d32ce assets/hee/models/item/corrupted_energy.json
50eb3ea252a7bae24f52b9f414f883f9924bed93 assets/hee/models/item/dark_chest.json
45959256d2d1b4548f4f528d2d690816697955d2 assets/hee/models/item/dark_loam.json
d6669437273af857f67460b9ffc674f07cc07630 assets/hee/models/item/dark_loam_slab.json
2158b120c5310514f6dc3d7ed23dda2377aaac94 assets/hee/models/item/death_flower.json
46d8c4b0da74cb645fb5f88ab4081abcb7df268c assets/hee/models/item/death_flower_1.json
84e620bd512f1f39478a0758fec24a3ec35f02fb assets/hee/models/item/death_flower_2.json
61c653f977a58a8dfa1f274e673dc6c5f620e7e1 assets/hee/models/item/death_flower_3.json
153c9779a0a1f8dc95c000c2f7c92604dfdf77a8 assets/hee/models/item/death_flower_4.json
4adea84d11f03a11c378ae9c71ea76d23bf691a4 assets/hee/models/item/death_flower_healed.json
6ac0ca2f78da37bf923364a7f3423edd5583203e assets/hee/models/item/death_flower_withered.json
ae6b487851db2c6fdb6e1ff503daaf83109e4a3f assets/hee/models/item/dirty_infernium_ingot.json
1dce873fc89db15c99c08e38439aaf4c9695a3dd assets/hee/models/item/dragon_scale.json
6680b39053b280a9c4f87a0aa634a2a8f857bf05 assets/hee/models/item/dry_vines.json
5c883c3f41988cbb8c2d951f0618ea4c0e6f05fc assets/hee/models/item/dusty_stone.json
44cc06238796ba005591874fa0d7212b7cadd677 assets/hee/models/item/dusty_stone_brick_slab.json
8fde3d2930c4bf486e7915842e066b1994ac06ec assets/hee/models/item/dusty_stone_brick_stairs.json
61899040b66745e4c112680fe15be4b1bb2dfb91 assets/hee/models/item/dusty_stone_bricks.json
bf175fd613b22e2a4c4b4eff18390e560b216475 assets/hee/models/item/dusty_stone_cracked.json
edd2fb824d66be21a03cbf2ca5acb66b9356e0b0 assets/hee/models/item/dusty_stone_cracked_bricks.json
e6495ff33b83daf5fb46caa0ae218692cef24983 assets/hee/models/item/dusty_stone_damaged.json
22032289cbd150dd51b35dc33d0978b1b25fa6e0 assets/hee/models/item/dusty_stone_decoration.json
37d9ec9fa292db62bb8d0fd8767d0bb94506a713 assets/hee/models/item/ectoplasm.json
534d83cf1d8143a886a78dce7b44d0cb9e774391 assets/hee/models/item/enchanted_claw.json
1da33f8b25e7cb110206a690044c62fb5f376e17 assets/hee/models/item/end_portal_acceptor.json
abc621bf572678443064042b3af7edffd693e725 assets/hee/models/item/end_portal_frame.json
acaeff15707c76d36a48bad65c9a4814e5a371d6 assets/hee/models/item/end_powder.json
841ff4a4501f7a08fa8da46813a57a1cb966e813 assets/hee/models/item/end_powder_ore.json
5456d2995061acdb3ec8d0386323cb025ed48dc7 assets/hee/models/item/end_stone_burned.json
4f57b1726466bb1eb0f6847c7f79e333b536dac5 assets/hee/models/item/end_stone_enchanted.json
3eaa48b3e48d003fdc262a53f198e49de3a4d84b assets/hee/models/item/end_stone_infested.json
640fb723df4adaf9b0e055a7e45afa7756e5acb4 assets/hee/models/item/ender_eye_spawn_egg.json
bc561c5e35778468667d37fda69ff333f3532ef3 assets/hee/models/item/ender_goo_bucket.json
4bc90be7c28968c1caf2b4f9f74bcc859b72da19 assets/hee/models/item/enderman_head.json
640fb723df4adaf9b0e055a7e45afa7756e5acb4 assets/hee/models/item/endermite_instability_spawn_egg.json
fb147135094add14099b0cb88104449cef93172f assets/hee/models/item/endersol.json
00ea9ddf2328b946fede7a96ae26941a2a244a64 assets/hee/models/item/endium_block.json
36b710de880f3669642b1311f29a2726f0e686a5 assets/hee/models/item/endium_ingot.json
663ea0f291bc3fcf4fd1dd7f7b633a3f5444d19c assets/hee/models/item/endium_nugget.json
baa90fe786e281b9c0bbcd46216d75cc70f138ed assets/hee/models/item/endium_ore.json
f0e4798b4a2fce87631034675a16a7b65b74932b assets/hee/models/item/energy_cluster.json
985b5436b3d9f04afc9e5c962fe3293461df1fbf assets/hee/models/item/energy_oracle.json
1af55c36a4356c9cc987d8042a7c5f4622748e81 assets/hee/models/item/energy_oracle_active_full.json
320db1ca04949669203abede01596c4b3f1b8229 assets/hee/models/item/energy_oracle_active_mild.json
f937c1ca521b8afbb1621a7b2723ce5a52842312 assets/hee/models/item/energy_receptacle.json
f1cb2e95c7acaa795827a785d67094a4fa09ac99 assets/hee/models/item/energy_receptacle_with_cluster.json
728d4434047ca1d7d2357d58ea1a410c2c1200de assets/hee/models/item/enhanced_brewing_stand.json
dbeff56876e8685507aac69b36706a8cedad06d8 assets/hee/models/item/ethereal_lantern.json
12eb81c2e73711a03f69ea7b0fc74ce5df5b5e2b assets/hee/models/item/ethereum.json
47fe20a9ae70b0f1a7bd3c5c8e5192160cf1597f assets/hee/models/item/experience_bottle.json
be887ee715153936025a1bf9c5a323cceba9a734 assets/hee/models/item/experience_gate.json
04fc2cd874252d4b4fe0c378e785649954d15060 assets/hee/models/item/experience_gate_controller.json
d2b32b618f590475190d05830639bba303c05327 assets/hee/models/item/experience_table_core.json
6b86f78b2fd64f7d46033d84f18741b8e1f80bee assets/hee/models/item/experience_table_tier_1.json
39067ccd67f341609c8e687e7aa36451c63448d0 assets/hee/models/item/experience_table_tier_2.json
d230b54ddf2925b3453ba0dee5a530477d83dfc0 assets/hee/models/item/experience_table_tier_3.json
135f0f07203e9253ef1ee93fde653f3ea3317e8a assets/hee/models/item/flint_and_infernium.json
0c197fa73f7bc7a069f1e63fdaccc22953682eed assets/hee/models/item/gloomrock.json
77d91e745be5f76a3afdeba04391b2e38dd40f42 assets/hee/models/item/gloomrock_brick_slab.json
22f9872450c8b5a2679fd4fb77b86f7724eb32c6 assets/hee/models/item/gloomrock_brick_stairs.json
20ccc0755349386546aed14d420240239d1809ef assets/hee/models/item/gloomrock_bricks.json
ff97d0fc52ddfd229579bcdc98c78f7ac8afd21d assets/hee/models/item/gloomrock_smooth.json
391581a331e3f21e1070dd78154eaac2eda0b94a assets/hee/models/item/gloomrock_smooth_blue.json
c02964fd07dca48c5452613d8282b0eb5dbac130 assets/hee/models/item/gloomrock_smooth_cyan.json
40113720c706397f69f0b45bc685a974275def19 assets/hee/models/item/gloomrock_smooth_green.json
ed3a3129956335ea1bd5d0bd0d25453efdc57ecf assets/hee/models/item/gloomrock_smooth_magenta.json
9aaf75cd9fbb311213a25c142bf3ac87be3e3af3 assets/hee/models/item/gloomrock_smooth_orange.json
ffd3c5f32254dac68bfa8cf5b861ab718801653a assets/hee/models/item/gloomrock_smooth_purple.json
2e1c80ccd51eaa8c7c301a65f0106096c8d174d6 assets/hee/models/item/gloomrock_smooth_red.json
0abb3f03aaaf04f29ccaf158de730ccd414ec940 assets/hee/models/item/gloomrock_smooth_slab.json
494ed7ece658bd8129055592f9207f43058f1783 assets/hee/models/item/gloomrock_smooth_stairs.json
616aba6a22836b4b5b0431b8ce0415726756df4a assets/hee/models/item/gloomrock_smooth_white.json
722a98617cf38486b7b6a202a3403d558644bedb assets/hee/models/item/gloomrock_smooth_yellow.json
0b7b33a61555978fd0f0e71a04719f78d5871c55 assets/hee/models/item/gloomtorch.json
f86134f023c3a3b39ca42acc6f39c8b2debb6492 assets/hee/models/item/grave_dirt.json
80d941a4f661bc9f77eb36848c137eb95ae817db assets/hee/models/item/grave_dirt_loot.json
f86134f023c3a3b39ca42acc6f39c8b2debb6492 assets/hee/models/item/grave_dirt_spiderling.json
43771785c5b33210e8bb17e6240e6927dd3074f6 assets/hee/models/item/humus.json
8326030007da6b72aa787585105b601b9b64df0c assets/hee/models/item/igneous_plate.json
e4d70fde368e241d25bb8584a38aa44655f9a8ff assets/hee/models/item/igneous_rock.json
f3c80f531a7b7bf16caa6c1ea9ccd75d69ce296c assets/hee/models/item/igneous_rock_ore.json
20b733841c5b76ebe77ef7af189fe59a289dcae1 assets/hee/models/item/infernium.json
6837505cbe9a21ee0f14d534a080d080fab178e8 assets/hee/models/item/infernium_ingot.json
1401209abbdc7734550c937c68b4042da84e8296 assets/hee/models/item/infused_ender_pearl.json
cbd1e6787e2d71d04a70027b0b312655bbc1cb57 assets/hee/models/item/infused_glass.json
87a94cb8c8d61f599c1db7cbd8c6653f08722028 assets/hee/models/item/infused_tnt.json
fcb913f4ea4404923e626d9bd58a7fcaa3a32678 assets/hee/models/item/infusion_table_core.json
c489f2923e462ed978a0dbbab50730f3196f079d assets/hee/models/item/infusion_table_tier_1.json
dcc2f456158e470a30d33fc750113763dade4337 assets/hee/models/item/infusion_table_tier_2.json
dbc99db6c80c85b386d279d5f07bb6abd79d70d2 assets/hee/models/item/infusion_table_tier_3.json
2a72cca4da492d5e971a3f2fe5368a7971210fff assets/hee/models/item/instability_orb.json
3e09b8d0b1770aefd331df22a50e34255c4a3507 assets/hee/models/item/knowledge_note.json
9a50fa05e3738bed55c7bf239ab237ba4ebdce60 assets/hee/models/item/linking_gem.json
50eb3ea252a7bae24f52b9f414f883f9924bed93 assets/hee/models/item/loot_chest.json
bc29ffb141033419ff037d7c0f87bfd43e2a0eeb assets/hee/models/item/mega_void_salad.json
95ccdc827661a4ca9ae90045a8baeb7252acce80 assets/hee/models/item/miners_burial_altar.json
321ffe632896e82f1c6967dd3dd1f41c04c2791a assets/hee/models/item/miners_burial_block_chiseled.json
5f347e02bcfb34cb86524ba28c6481ec5b63df3c assets/hee/models/item/miners_burial_block_jail.json
b0ccc08c142525e3d82a6643d34dfb0d82385571 assets/hee/models/item/miners_burial_block_pillar.json
8e0fc42a6a28596571ec0877ab3a9af7901adeaa assets/hee/models/item/miners_burial_block_plain.json
7a8592c4a45ccdea4ca36898b3371364f6aab2ca assets/hee/models/item/obsidian_chiseled.json
7a8592c4a45ccdea4ca36898b3371364f6aab2ca assets/hee/models/item/obsidian_chiseled_lit.json
6ec06a3d2286e954a180a021f8e2fa0847bc62a9 assets/hee/models/item/obsidian_falling.json
8ed26ada407bcb16daaa3e73ee4eca80fc0b2dfa assets/hee/models/item/obsidian_fragment.json
28e22c71e0b66c4f05a034efed3fdc1c53ed3446 assets/hee/models/item/obsidian_pillar.json
28e22c71e0b66c4f05a034efed3fdc1c53ed3446 assets/hee/models/item/obsidian_pillar_lit.json
5cce674f56184d54503d1b53bd6df587d8b6d1ff assets/hee/models/item/obsidian_rod.json
3cd76aaab489b5f59bcb03661ad7985fca28ab50 assets/hee/models/item/obsidian_smooth.json
3cd76aaab489b5f59bcb03661ad7985fca28ab50 assets/hee/models/item/obsidian_smooth_lit.json
065a2b9d6d23c21d720bd6e613a8bd0951f7767a assets/hee/models/item/obsidian_stairs.json
7a8592c4a45ccdea4ca36898b3371364f6aab2ca assets/hee/models/item/obsidian_tower_top.json
460da0eadfb9a5a6587f6c4ef44517ec3e372766 assets/hee/models/item/portal_token.json
b0a0ea36fbe5e98c3be783a86b280e9fb4e804e0 assets/hee/models/item/portal_token_rare.json
d23d582796975225a5c0e13a8b76ac9fb5627112 assets/hee/models/item/portal_token_rare_corrupted.json
d277ad51c2ab5b9046bfac7a60d87b64fac80ae1 assets/hee/models/item/portal_token_solitary.json
b085518b4384882dbd09e39af22cc8d81a47fb04 assets/hee/models/item/purified_ender_goo_bucket.json
b0b0a45f5cd6bd97666bc12698313d417d634ff2 assets/hee/models/item/purity_extract.json
dd7ce403cf0eb7b5177d3d92cc7da22159a46577 assets/hee/models/item/puzzle_block_burst_3.json
f106b9e8dc700e68b67aab4a4809b138bde76fe9 assets/hee/models/item/puzzle_block_burst_5.json
1eeb3de8ec8609557177ed2c81a458d3ab6a60df assets/hee/models/item/puzzle_block_plain.json
706c43ca2916895f1488203354f707f7d512b134 assets/hee/models/item/puzzle_block_redirect_1.json
db436a0a41f316cfa2e368b246fce958e65dc2b1 assets/hee/models/item/puzzle_block_redirect_2.json
decdba40a05cce4ba1014fea7502f246937f6fb3 assets/hee/models/item/puzzle_block_redirect_4.json
95fa8a40230c31d56e385ccbe680a91f1f9d560e assets/hee/models/item/puzzle_block_teleport.json
968bebe3d8f82e18afd62cb4e8ecaa7400927d52 assets/hee/models/item/puzzle_block_wall.json
30a433ac5844e1259992acb67e0544c4c6714542 assets/hee/models/item/puzzle_medallion.json
6da77feef3a5079082bd578202bc170050b8df4a assets/hee/models/item/revitalization_substance.json
9a450490268f1fd1e6a8b69fade3c6cdfcb56678 assets/hee/models/item/ring_of_hunger.json
e2fd9e76d812547a1934a5c361d129c2879a7a91 assets/hee/models/item/ring_of_preservation.json
bef5798b29e840c09c13b8246e81785fbe679116 assets/hee/models/item/scaffolding.json
05bacfe43fce738d4521559841e941aac51d98af assets/hee/models/item/scale_of_freefall.json
d853c3d4434b5807093cf6afde227bfdc4ebcefc assets/hee/models/item/scorching_axe.json
fbf57a9528063e08e4ee32770bdf4b4d4c0a01d5 assets/hee/models/item/scorching_pickaxe.json
683fb975792606f265056deb3255140666bc50c5 assets/hee/models/item/scorching_shovel.json
a394752d1c1736419c0227665458c4afb75eb09e assets/hee/models/item/scorching_sword.json
3ab42828b6498304934466e83d09d740abe999d9 assets/hee/models/item/spatial_dash_gem.json
640fb723df4adaf9b0e055a7e45afa7756e5acb4 assets/hee/models/item/spiderling_spawn_egg.json
55da1fee55b938d5887eeaa39e5a370d14297895 assets/hee/models/item/stardust.json
fb9eb07fd5e612b79b63bce6fff84777e6667120 assets/hee/models/item/static_core.json
7d4f5f7e42a4e61906e21116a7ce870d6fc1d9a7 assets/hee/models/item/stone_brick_wall.json
318d4cbdbbe3a37df190312868442462e2076e9e assets/hee/models/item/table_base_tier_1.json
8063e78a154c774cba0caf141b1b2281843ddb90 assets/hee/models/item/table_base_tier_2.json
da6bb690ebe06b875da997c938f39085a63eec96 assets/hee/models/item/table_base_tier_3.json
ad360de7f63690ff3053be1c852d314e4158338d assets/hee/models/item/table_link.json
e7132d43914c87e9f78a88368a773a83852c4f8b assets/hee/models/item/table_pedestal.json
c7318f3a823171b9fc8382daba815bfc0cf123e0 assets/hee/models/item/talisman_of_griefing.json
94947e0de33123f203dba33ede61a1b2ee2932a6 assets/hee/models/item/ticking_core.json
77032b1f9ea29d188c5a1110f8750eb7ffb61a2f assets/hee/models/item/totem_of_undying.json
5bfa4f6a4e99435e5fc3e85e54c50dfade0ca909 assets/hee/models/item/totem_of_undying_shaking.json
dbca360ef1ad241c23e76fd4b521f9733fa594b3 assets/hee/models/item/trinket_pouch.json
640fb723df4adaf9b0e055a7e45afa7756e5acb4 assets/hee/models/item/undread_spawn_egg.json
640fb723df4adaf9b0e055a7e45afa7756e5acb4 assets/hee/models/item/vampire_bat_spawn_egg.json
30ed191345efaee5e2b9c45430afd4a1e8bab340 assets/hee/models/item/vantablock.json
57a0c23898ab990b86858bf5b5f7a21dc51045cc assets/hee/models/item/void_bucket.json
ece7abe596e867f0aac8b92ae3b2aadf8d00f51a assets/hee/models/item/void_bucket_fluid_level_1.json
9e4a2766570f3f775cb9b86453cd2992e3baeb91 assets/hee/models/item/void_bucket_fluid_level_2.json
accc1abdb6c2fa56f198831b975bcb7814112741 assets/hee/models/item/void_bucket_fluid_level_3.json
90f044fb644937ade5dd134a2ab08d193b1392d6 assets/hee/models/item/void_bucket_fluid_level_4.json
6ab14e054fca6411538eb59f6e47b9857670d888 assets/hee/models/item/void_essence.json
6b047031855f93907e0ce7edd0c196976b8530a8 assets/hee/models/item/void_miner.json
25641d9b4a546204a6a8b76f8e4cfd7c109aa41f assets/hee/models/item/void_portal_frame.json
719b4f2c19dc3453307a87f8f8b1c0185b65bc9e assets/hee/models/item/void_portal_frame_crafted.json
890a9f625bff6bf3be0977ee0aca86818d7de714 assets/hee/models/item/void_portal_storage.json
2484165b1f3a49fc3f82e8dd4657238172820f21 assets/hee/models/item/void_portal_storage_crafted.json
cd4adaf6630298e0d85830b7dbaa3804e5f4e223 assets/hee/models/item/void_salad.json
f45da5edd42098ee3e3cb6d172a5c41af67c5cd3 assets/hee/models/item/void_void_salad.json
a2c48f632b0f8a6fabeb2ac676e4ec390e57f784 assets/hee/models/item/whitebark.json
aa8696fc83d73951a890f55cd7c2b9c9abb3f611 assets/hee/models/item/whitebark_log.json
2a7519999fb2d2f4c2745aa2a6a5cc5a20111bb4 assets/hee/models/item/whitebark_planks.json
3a40772f1fdf8e02b3a7e434c835f19c08536b1b assets/hee/models/item/whitebark_slab.json
2676bcfaeaf9ef9e4134aefbc17ffb0c8f32a249 assets/hee/models/item/whitebark_stairs.json
2903a69c4cd7c37db3891af9c0736568ccc3acff data/forge/tags/blocks/chests.json
3260d80138f7c357d2efbda403e8d0e6a957d75b data/forge/tags/blocks/end_stones.json
424e2e03cf62f23f4496468a97b9f0df060df9fe data/forge/tags/blocks/glass.json
f87bf8e15aea2ca3068935be41828e61a22e6ef8 data/forge/tags/blocks/obsidian.json
83ea3831e8edbb4cab7f4a997b6e78b74d273493 data/forge/tags/blocks/ores.json
9a1109a26cfd5f396d8e080f77d8277f130f299d data/forge/tags/blocks/storage_blocks.json
2903a69c4cd7c37db3891af9c0736568ccc3acff data/forge/tags/items/chests.json
5e7e8d2fa6ab92da0a678c0c82b08fb01d70b827 data/forge/tags/items/dusts.json
3260d80138f7c357d2efbda403e8d0e6a957d75b data/forge/tags/items/end_stones.json
d3fbc7a0a7d1a6cd5b4a2d6604a4625c57b57a9a data/forge/tags/items/ender_pearls.json
424e2e03cf62f23f4496468a97b9f0df060df9fe data/forge/tags/items/glass.json
ff2ba2285b4163d5d08376c6d99477f96273310c data/forge/tags/items/heads.json
144c342bc93a719b95e99b4d9493ed29885bf71b data/forge/tags/items/ingots.json
b187118e591990e8c0397058318592c587c3dcff data/forge/tags/items/nuggets.json
f87bf8e15aea2ca3068935be41828e61a22e6ef8 data/forge/tags/items/obsidian.json
83ea3831e8edbb4cab7f4a997b6e78b74d273493 data/forge/tags/items/ores.json
ebdc7d4617021fcc8582e3a17b42d4a815d9e021 data/forge/tags/items/rods.json
9a1109a26cfd5f396d8e080f77d8277f130f299d data/forge/tags/items/storage_blocks.json
b70b01d2616521afb885b6205141fa39a0b25dc0 data/hee/loot_tables/blocks/accumulation_table_tier_1.json
0a6f6d908c870802e532b5002391d34d711b0400 data/hee/loot_tables/blocks/accumulation_table_tier_2.json
9036e3f157a9e8de41ce8423f796205dd5190222 data/hee/loot_tables/blocks/accumulation_table_tier_3.json
acdad3054e21a16a35d913f6971b9564a7fbe4b2 data/hee/loot_tables/blocks/autumn_sapling_brown.json
f5aa09866787b83ee23107f1a7480279065037d0 data/hee/loot_tables/blocks/autumn_sapling_orange.json
f83d9f3a62e08bfbd2e09b1bc8237a1afcedf47e data/hee/loot_tables/blocks/autumn_sapling_red.json
72a46e4a4bdafd64ffd45bdf476371d76eb281e5 data/hee/loot_tables/blocks/autumn_sapling_yellowgreen.json
c706c13e111047241fcf5250e04b10c9ea037a83 data/hee/loot_tables/blocks/cauldron_dragons_breath.json
c706c13e111047241fcf5250e04b10c9ea037a83 data/hee/loot_tables/blocks/cauldron_ender_goo.json
c706c13e111047241fcf5250e04b10c9ea037a83 data/hee/loot_tables/blocks/cauldron_purified_ender_goo.json
15f5318f4d1a13d0d3577a6e2d786c91c9c8cae9 data/hee/loot_tables/blocks/dark_chest.json
6836126c6132ea58cf3e42c8846b5705196d67ff data/hee/loot_tables/blocks/dark_loam.json
db54931eae50eb8e20e7fa742600172dad18ae41 data/hee/loot_tables/blocks/dark_loam_slab.json
a68dcd225f45d867213a587d7f5ecf108da7b517 data/hee/loot_tables/blocks/death_flower_healed.json
397fd9002a0a25f2f83fbde9ed5c1778e01eb9b6 data/hee/loot_tables/blocks/death_flower_withered.json
d9abd1ed1cc52d7f8c1b48896da855b2e8bded23 data/hee/loot_tables/blocks/dusty_stone_brick_slab.json
ef63046d109846e09f43eaa0fbd322889d31d3c3 data/hee/loot_tables/blocks/dusty_stone_brick_stairs.json
fd7e4cb74c69e176813fd0cddef9c4c98847eacc data/hee/loot_tables/blocks/dusty_stone_bricks.json
e891c4099dec492133fc58662765c326b00f1e09 data/hee/loot_tables/blocks/dusty_stone_cracked_bricks.json
5ca27ed38494044939def58dae0354d0cb09baad data/hee/loot_tables/blocks/end_stone_burned.json
c50fb5765d11b9f46dd81f2d9c33d4d0b6bb1402 data/hee/loot_tables/blocks/end_stone_enchanted.json
7d720082305ddef2d864263bf58c55a67549cbeb data/hee/loot_tables/blocks/end_stone_infested.json
16ebdeaa5588ea21f502f70b63626243eddf9b8f data/hee/loot_tables/blocks/enderman_head.json
16ebdeaa5588ea21f502f70b63626243eddf9b8f data/hee/loot_tables/blocks/enderman_wall_head.json
b92f85d8439af6d878963a3d12fc247c8073a59d data/hee/loot_tables/blocks/endium_block.json
f1671993a69ed85d3d9e971684b5794eafe1490f data/hee/loot_tables/blocks/endium_ore.json
70fbd11629dc77fe5fecbc12571187cb4e4c7981 data/hee/loot_tables/blocks/enhanced_brewing_stand.json
cf3a9ffe465cf2176ed2a6be9466c114aad1fb5d data/hee/loot_tables/blocks/ethereal_lantern.json
acb3b03eb03d08a11d2c42b52a466708486ee15f data/hee/loot_tables/blocks/experience_table_tier_1.json
be5d9c9d81ae667617ccd62348540cd9daa2ceec data/hee/loot_tables/blocks/experience_table_tier_2.json
687548d0fc4f4b19f492ed92dce079e88275a5cd data/hee/loot_tables/blocks/experience_table_tier_3.json
8f249f314d404e77898228e34b5479d6e4d4efae data/hee/loot_tables/blocks/gloomrock.json
f16eaa823c72d1e87e9f812af2eca6776ead77e7 data/hee/loot_tables/blocks/gloomrock_brick_slab.json
5f459b6d987ddec2e18e1ffe81b43198839d8c96 data/hee/loot_tables/blocks/gloomrock_brick_stairs.json
df9791995fcd96acb49aa549e7ca970181303119 data/hee/loot_tables/blocks/gloomrock_bricks.json
413557bcef44eb5f193b5f0f36676d0fee649d84 data/hee/loot_tables/blocks/gloomrock_smooth.json
8ded7fe5bae0e0a8500b33070f078b0eb0d62e5a data/hee/loot_tables/blocks/gloomrock_smooth_blue.json
e75efc5458f5ad8d4dadc321af93068f65e2e95e data/hee/loot_tables/blocks/gloomrock_smooth_cyan.json
b3e58273d1b3fb14102ca20314fdb06ed51bccd4 data/hee/loot_tables/blocks/gloomrock_smooth_green.json
9977aebd25ccaf76047f09a8f6dc94917d306ea3 data/hee/loot_tables/blocks/gloomrock_smooth_magenta.json
278b02a7a42f86b9ad5585ecc3226c4b3f605a05 data/hee/loot_tables/blocks/gloomrock_smooth_orange.json
06abc98e72de8b89f542dd9afbe0d331dd6b23e2 data/hee/loot_tables/blocks/gloomrock_smooth_purple.json
1f8af2dc2880ac3816a2899edd27908c37bac0f5 data/hee/loot_tables/blocks/gloomrock_smooth_red.json
ad4dc671b8ad5ba74ecc78f18350423b8780c873 data/hee/loot_tables/blocks/gloomrock_smooth_slab.json
9cea3d56f56dae0cc10796ff9fe9ab5f84ce8b9b data/hee/loot_tables/blocks/gloomrock_smooth_stairs.json
73f06b665dd4cad242358bc43381becfee4fc763 data/hee/loot_tables/blocks/gloomrock_smooth_white.json
e78f2a76f6d398231bb7b0fc90656fe94e69eb5c data/hee/loot_tables/blocks/gloomrock_smooth_yellow.json
7874c5114540361416bf0202b8d381bc5a476684 data/hee/loot_tables/blocks/gloomtorch.json
db6d92886e1f24b9a46e10cb0dcc33631dd8005d data/hee/loot_tables/blocks/igneous_plate.json
fc375baa0ec973e8f05c1f8d5c3b41ace3de12a5 data/hee/loot_tables/blocks/infusion_table_tier_1.json
5e324247f8afeec653bc9e11bd27caf2b1551d52 data/hee/loot_tables/blocks/infusion_table_tier_2.json
5d39a521c2d689f2ab1d0bd8597b3864b8f02500 data/hee/loot_tables/blocks/infusion_table_tier_3.json
a4e4f5edfffd7ea762fdc4e13b3a164eadc6c1d3 data/hee/loot_tables/blocks/miners_burial_block_chiseled.json
a85fe9005bc06490df5237a33299beb50a625648 data/hee/loot_tables/blocks/miners_burial_block_pillar.json
264c58d1096cb28aa0b5997d4bade3d901744bdb data/hee/loot_tables/blocks/miners_burial_block_plain.json
dd830913290f114821c114a33d0bab11731b209e data/hee/loot_tables/blocks/obsidian_chiseled.json
b166751a8c51fc19e86a500b45102ac908f56bd0 data/hee/loot_tables/blocks/obsidian_chiseled_lit.json
586752dbf907c5e98cccc6ed4eb4b6f0e3872ba9 data/hee/loot_tables/blocks/obsidian_falling.json
5afdfadbcdeaad8a84236622613bcb5910b05a21 data/hee/loot_tables/blocks/obsidian_pillar.json
b26bea42e1f7200eef24a2eea53a129b6a5d5d54 data/hee/loot_tables/blocks/obsidian_pillar_lit.json
cb22631688d53806209ddc151ac05e9f2e667a41 data/hee/loot_tables/blocks/obsidian_smooth.json
170bde4198734c53a2d9247f2c0efde84756fbfb data/hee/loot_tables/blocks/obsidian_smooth_lit.json
f92f0f832967432b400b82f35efa7eb8bc85cf72 data/hee/loot_tables/blocks/obsidian_stairs.json
cb2c7267874d76495cfec1ef8ef436f75219fb6e data/hee/loot_tables/blocks/potted_autumn_sapling_brown.json
1ff9c7e031dc0b1aa556caa937b6c8be1f831c43 data/hee/loot_tables/blocks/potted_autumn_sapling_orange.json
7212f30ec6abde02bed973b05503251bb2debdf9 data/hee/loot_tables/blocks/potted_autumn_sapling_red.json
027a8ebd73e84357823524eb2e07685e6884a3b1 data/hee/loot_tables/blocks/potted_autumn_sapling_yellowgreen.json
538676e5e43a3192e87e2646a061f7dec355fcd8 data/hee/loot_tables/blocks/potted_death_flower_healed.json
3957f3dd23b819711da39cf70e0932aab0f9d355 data/hee/loot_tables/blocks/potted_death_flower_withered.json
02c13f7b69ee351ca514230a885acedd8b2d5a8e data/hee/loot_tables/blocks/stone_brick_wall.json
bc0862f674356bebc44f21a7398039cfc833bcd8 data/hee/loot_tables/blocks/table_base_tier_1.json
f037ca587c33c0d42012a69b3440f37b4e3f4d8e data/hee/loot_tables/blocks/table_base_tier_2.json
773d892ccebc6c6075265d781835b4e495d205b1 data/hee/loot_tables/blocks/table_base_tier_3.json
17b0a394741609bf60a473cf4dffac9727dff43c data/hee/loot_tables/blocks/table_pedestal.json
7665e910d3737a45feffe35f70a0f4766966dc5c data/hee/loot_tables/blocks/vantablock.json
a5fd7a47f16308a8c663bc3072ba3a1b26ae1ea3 data/hee/loot_tables/blocks/void_portal_frame_crafted.json
69cf0232b82ddf6b8cd9f63372beb1924bb677b1 data/hee/loot_tables/blocks/void_portal_storage_crafted.json
e66091a13a6e7593eb5bd971978d24a5a0e375b3 data/hee/loot_tables/blocks/whitebark.json
813dbd21f9929930555a39f4679545806968f3f2 data/hee/loot_tables/blocks/whitebark_log.json
9bd3a9e24162d2c81047b834f8f79d6cabec86be data/hee/loot_tables/blocks/whitebark_planks.json
7d84dc443a052e349593b71d2c0a523e75396cdf data/hee/loot_tables/blocks/whitebark_slab.json
83e0b81adb3f9dd488397e8459b95f7b0ce19927 data/hee/loot_tables/blocks/whitebark_stairs.json
f5996244831ab38fe1fae2f304bbd7825d6ad98b data/minecraft/tags/blocks/bamboo_plantable_on.json
479189f9b35a3c8f795539daf6a1809130242c5b data/minecraft/tags/blocks/flower_pots.json
424e2e03cf62f23f4496468a97b9f0df060df9fe data/minecraft/tags/blocks/impermeable.json
4557912145f8c53493f249ef3961d02e156891e4 data/minecraft/tags/blocks/leaves.json
4ea74ec750ba7360a7843a0d4a604ac7b35dfa96 data/minecraft/tags/blocks/logs.json
697395021049c8cccfac2486c52eb6664cc5bad6 data/minecraft/tags/blocks/planks.json
10fff7e5092ddc68cc1611ad4605dc4d6608e227 data/minecraft/tags/blocks/portals.json
6f73d4c0d7c0f2650b498f35a60e8fe9c280c765 data/minecraft/tags/blocks/saplings.json
eb69de8447077a713baaab7e10184ec283c25516 data/minecraft/tags/blocks/slabs.json
07e3d7d270309424e1ab60a1b89ab2da85f800c7 data/minecraft/tags/blocks/stairs.json
5318f9d9be9209139567f7f58d77d1b27d9d1327 data/minecraft/tags/blocks/walls.json
8a04ae43dc7062677394df7bf7276dbc92a5f1ca data/minecraft/tags/blocks/wooden_slabs.json
3bf587d2f806c14a76a10db8f43386552382c381 data/minecraft/tags/blocks/wooden_stairs.json
4557912145f8c53493f249ef3961d02e156891e4 data/minecraft/tags/items/leaves.json
4ea74ec750ba7360a7843a0d4a604ac7b35dfa96 data/minecraft/tags/items/logs.json
697395021049c8cccfac2486c52eb6664cc5bad6 data/minecraft/tags/items/planks.json
6f73d4c0d7c0f2650b498f35a60e8fe9c280c765 data/minecraft/tags/items/saplings.json
eb69de8447077a713baaab7e10184ec283c25516 data/minecraft/tags/items/slabs.json
07e3d7d270309424e1ab60a1b89ab2da85f800c7 data/minecraft/tags/items/stairs.json
5318f9d9be9209139567f7f58d77d1b27d9d1327 data/minecraft/tags/items/walls.json
8a04ae43dc7062677394df7bf7276dbc92a5f1ca data/minecraft/tags/items/wooden_slabs.json
3bf587d2f806c14a76a10db8f43386552382c381 data/minecraft/tags/items/wooden_stairs.json

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/accumulation_table_tier_1"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/accumulation_table_tier_2"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/accumulation_table_tier_3"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/ancient_cobweb"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/autumn_leaves_brown"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/autumn_leaves_orange"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/autumn_leaves_red"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/autumn_leaves_yellowgreen"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/autumn_sapling_brown"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/autumn_sapling_orange"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/autumn_sapling_red"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/autumn_sapling_yellowgreen"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/corrupted_energy"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/dark_chest"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/dark_loam"
}
}
}

View File

@@ -0,0 +1,13 @@
{
"variants": {
"type=top": {
"model": "hee:block/dark_loam_slab_top"
},
"type=bottom": {
"model": "hee:block/dark_loam_slab"
},
"type=double": {
"model": "hee:block/dark_loam"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/death_flower_healed"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/death_flower_withered"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/dusty_stone"
}
}
}

View File

@@ -0,0 +1,13 @@
{
"variants": {
"type=top": {
"model": "hee:block/dusty_stone_brick_slab_top"
},
"type=bottom": {
"model": "hee:block/dusty_stone_brick_slab"
},
"type=double": {
"model": "hee:block/dusty_stone_bricks"
}
}
}

View File

@@ -0,0 +1,209 @@
{
"variants": {
"facing=north,half=top,shape=straight": {
"model": "hee:block/dusty_stone_brick_stairs",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=south,half=top,shape=straight": {
"model": "hee:block/dusty_stone_brick_stairs",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=west,half=top,shape=straight": {
"model": "hee:block/dusty_stone_brick_stairs",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=east,half=top,shape=straight": {
"model": "hee:block/dusty_stone_brick_stairs",
"x": 180,
"uvlock": true
},
"facing=north,half=bottom,shape=straight": {
"model": "hee:block/dusty_stone_brick_stairs",
"y": 270,
"uvlock": true
},
"facing=south,half=bottom,shape=straight": {
"model": "hee:block/dusty_stone_brick_stairs",
"y": 90,
"uvlock": true
},
"facing=west,half=bottom,shape=straight": {
"model": "hee:block/dusty_stone_brick_stairs",
"y": 180,
"uvlock": true
},
"facing=east,half=bottom,shape=straight": {
"model": "hee:block/dusty_stone_brick_stairs"
},
"facing=north,half=top,shape=inner_left": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=south,half=top,shape=inner_left": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=west,half=top,shape=inner_left": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=east,half=top,shape=inner_left": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"x": 180,
"uvlock": true
},
"facing=north,half=bottom,shape=inner_left": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"y": 180,
"uvlock": true
},
"facing=south,half=bottom,shape=inner_left": {
"model": "hee:block/dusty_stone_brick_stairs_inner"
},
"facing=west,half=bottom,shape=inner_left": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"y": 90,
"uvlock": true
},
"facing=east,half=bottom,shape=inner_left": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"y": 270,
"uvlock": true
},
"facing=north,half=top,shape=inner_right": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"x": 180,
"uvlock": true
},
"facing=south,half=top,shape=inner_right": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=west,half=top,shape=inner_right": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=east,half=top,shape=inner_right": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=north,half=bottom,shape=inner_right": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"y": 270,
"uvlock": true
},
"facing=south,half=bottom,shape=inner_right": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"y": 90,
"uvlock": true
},
"facing=west,half=bottom,shape=inner_right": {
"model": "hee:block/dusty_stone_brick_stairs_inner",
"y": 180,
"uvlock": true
},
"facing=east,half=bottom,shape=inner_right": {
"model": "hee:block/dusty_stone_brick_stairs_inner"
},
"facing=north,half=top,shape=outer_left": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=south,half=top,shape=outer_left": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=west,half=top,shape=outer_left": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=east,half=top,shape=outer_left": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"x": 180,
"uvlock": true
},
"facing=north,half=bottom,shape=outer_left": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"y": 180,
"uvlock": true
},
"facing=south,half=bottom,shape=outer_left": {
"model": "hee:block/dusty_stone_brick_stairs_outer"
},
"facing=west,half=bottom,shape=outer_left": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"y": 90,
"uvlock": true
},
"facing=east,half=bottom,shape=outer_left": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"y": 270,
"uvlock": true
},
"facing=north,half=top,shape=outer_right": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"x": 180,
"uvlock": true
},
"facing=south,half=top,shape=outer_right": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"x": 180,
"y": 180,
"uvlock": true
},
"facing=west,half=top,shape=outer_right": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"x": 180,
"y": 270,
"uvlock": true
},
"facing=east,half=top,shape=outer_right": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"x": 180,
"y": 90,
"uvlock": true
},
"facing=north,half=bottom,shape=outer_right": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"y": 270,
"uvlock": true
},
"facing=south,half=bottom,shape=outer_right": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"y": 90,
"uvlock": true
},
"facing=west,half=bottom,shape=outer_right": {
"model": "hee:block/dusty_stone_brick_stairs_outer",
"y": 180,
"uvlock": true
},
"facing=east,half=bottom,shape=outer_right": {
"model": "hee:block/dusty_stone_brick_stairs_outer"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/dusty_stone_bricks"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/dusty_stone_cracked"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/dusty_stone_cracked_bricks"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/dusty_stone_damaged"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/dusty_stone_decoration"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/end_portal_acceptor"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/end_portal_frame"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "minecraft:block/end_portal"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/end_powder_ore"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/end_stone_burned"
}
}
}

View File

@@ -0,0 +1,7 @@
{
"variants": {
"": {
"model": "hee:block/end_stone_enchanted"
}
}
}

Some files were not shown because too many files have changed in this diff Show More