Compare commits

..

1711 commits

Author SHA1 Message Date
Frank
82711bc84e Make sure we still initialize the bclib world config 2023-09-12 23:18:42 +02:00
Frank
c43264fad2 Removed test biomes 2023-09-12 17:45:00 +02:00
Frank
1c4878e208 [Change] Removed unused interfaces 2023-09-12 13:59:02 +02:00
Frank
e80004efcf [Change] Removed BCLBiomeSource 2023-09-12 13:50:23 +02:00
Frank
3973a1a78f [Change] Removed SurfaceRuleRegistry and BCLChunkGenerator 2023-09-12 13:45:13 +02:00
Frank
6be4140d7e [Change] Removed WorldPresets 2023-09-12 13:12:50 +02:00
Frank
ad071b2dd3 [Change] use latest WunderLib 2023-09-12 12:48:33 +02:00
Frank
a38b57608b Updated Gradle 2023-09-12 12:32:50 +02:00
Frank
a8dbfee20a Regenerated Datapack 2023-08-15 14:24:38 +02:00
Frank
d4f9fb04c6 [Change] Tag for grass soil blocks 2023-08-15 14:24:27 +02:00
Frank
61adc0944e [Change] BCLib creates Datapack files for every Tag it defines 2023-08-15 14:24:09 +02:00
Frank
371664d7dc Removed unneeded import 2023-08-15 13:35:16 +02:00
Frank
f2bc177421 -- 2023-08-15 13:35:15 +02:00
Frank
73771a5e92 [Change] SimpleLeavesBlock do not register for random yticks 2023-08-15 13:12:38 +02:00
Frank
5fdf5299c5 Random reformatings 2023-08-15 13:04:48 +02:00
Frank
5dd658c2c5 [Change] Have behaviour Builder for non -tickable leaves 2023-08-15 13:04:26 +02:00
Frank
80f01581eb Version Bump 2023-08-15 13:03:56 +02:00
Frank
81a5d630c4 [Change] Allow to run with FAPI 0.86.1 (and up), which fixes the forced registry Paths 2023-08-02 10:28:48 +02:00
Frank
e86ea25b60 Revert "[Change] Adopting FAPI 0.86, which makes this incompatible with any previous version of FAPI."
This reverts commit ad13bcac92.
2023-07-23 09:40:17 +02:00
Frank
a42ed2a414 [Fix] Prevent FAPIs forced registry path prefix introduced in 0.86 for our Registries (quiqueck/BetterEnd#273) 2023-07-23 03:51:27 +02:00
Frank
ad13bcac92 [Change] Adopting FAPI 0.86, which makes this incompatible with any previous version of FAPI. 2023-07-23 02:10:51 +02:00
Frank
9b1d336533 [Change] Build against FAPI 0.85 2023-07-22 14:16:09 +02:00
Frank
37c683603d [Change] Flagged FAPI 0.86 as incompatible (will be fixed in one of the upcoming releases) 2023-07-22 14:15:58 +02:00
Frank
f5cb606ee5 [Feature] Tool template for Spawners 2023-07-22 12:31:19 +02:00
Frank
f3ca586f8b Register new Mixins 2023-07-15 17:29:22 +02:00
Frank
3dcc615e78 [Fix] DataFixerUpper does not recognize the BCLChunkGenerator (#113) 2023-07-15 17:28:49 +02:00
Frank
0ca3359434 Renamed disabled Patcher code 2023-07-15 17:27:56 +02:00
Frank
dca0f39d8b Renamed method from mixin 2023-07-15 17:27:38 +02:00
Frank
2e42a06d8a Restore leaves Behaviour 2023-07-11 22:49:33 +02:00
Frank
f25a083b00 Version Bump 2023-07-11 22:27:10 +02:00
Frank
7afce8f3c0 [Change] Use the DropSelfLootProvider where possible. 2023-07-11 22:25:18 +02:00
Frank
304717f9a2 [Feature] Function in LootUtil to test for correct tool 2023-07-11 22:24:37 +02:00
Frank
04a1653ae0 [Change] Added BlockBehaviour as a base Interface 2023-07-11 22:23:58 +02:00
Frank
573cb73c80 changed to Release 2023-07-09 02:47:38 +02:00
Frank
c9d990c65f [Change] Rebalanced Anvil Durability (#259) 2023-07-09 02:30:55 +02:00
Frank
fc2a68180b [Fix] Stalactites could not grow beyong size 7 (#260) 2023-07-09 01:29:51 +02:00
Frank
1448ea8467 [Fix] Custom Item Drop for a Sign is created before the Blocks are registered (quiqueck/BetterNether#151) 2023-07-08 13:16:35 +02:00
Frank
13cd641ee0 [Fix] Blocks were registered after Items, which could cause issues with lootTables (quiqueck/BetterNether#151) 2023-07-08 13:13:44 +02:00
Frank
a38e6f05b6 [Feature] Added Behaviour for Explosion Resistance (only used when building Block Loot tables) 2023-07-08 13:09:30 +02:00
Frank
0d4461d84f [Feature] Interface to automatically add Block Loot tables in the Datagen pass 2023-07-08 13:08:58 +02:00
Frank
0becc27cf0 [Fix] Signs from older world were not properly converted (quiqueck/BetterNether#151) 2023-07-08 11:55:06 +02:00
Frank
1a50069070 Dependency Bump 2023-07-08 11:39:39 +02:00
Frank
b435519823 [Fix] Ensure that a null drop does not cause crashes (quiqueck/BetterNether#148) 2023-07-08 11:35:32 +02:00
Frank
30e95aa644
Merge pull request #112 from alpeerkaraca/1.20
Add tr_tr.json
2023-07-08 11:02:19 +02:00
Frank
15279dd5cd [Fix] CustomModelBakery could cause a crash when Resourcepacks are reloaded by another Mod before BCLib was initialized (#114) 2023-07-08 11:01:26 +02:00
Frank
7bb7a1cb62 Dependency Bump 2023-07-06 02:18:57 +02:00
Frank
1c7c77eee2 Version Bump 2023-07-06 02:15:16 +02:00
Frank
6c6ed4c55b [Change] if multiple results are possible for a crafting recipe, select the ones from a mod first. 2023-07-06 02:12:14 +02:00
Alper Karaca
2f19904f86
Add tr_tr.json
Here is the Turkish translation BCLib too. Thx again for your work. <3
2023-07-04 02:45:09 +03:00
Frank
2b57b53791 Version Bump 2023-06-24 15:53:49 +02:00
Frank
9e1d0199a8 [Fix] Place Command would remove LootTable from storage containers 2023-06-24 15:41:24 +02:00
Frank
2496ddf9e6 [Change] Try to prevent SingleEndPoolElement inside of the terrain (quiqueck/BetterEnd#246) 2023-06-24 13:10:27 +02:00
Frank
fb194ee209 [Change] Height check for Mob Spawns does no longer use the heightmap (quiqueck/BetterEnd#245) 2023-06-24 12:46:37 +02:00
Frank
522e472e03 [Change] Added compiler hint for possible null return 2023-06-23 08:12:53 +02:00
Frank
1c61c0e3cc [Feature] Accesor to generate colorable particles 2023-06-21 01:39:48 +02:00
Frank
00ef6fcfa1 [Change] SurfaceRules for the Nether will get injected after all biome independent rules 2023-06-20 22:30:06 +02:00
Frank
a49ada07d4 Les verbose log 2023-06-20 22:05:15 +02:00
Frank
c59e482108 [Fix] Default world gen did not use our Surface Rules when Terrablender is present (#103) 2023-06-20 22:05:04 +02:00
Frank
7aadf42741 [Fix] End will not generate if BetterEnd is not present 2023-06-20 18:36:02 +02:00
Frank
62d54eb425 [Change] Removed deprecated methods from BiomeSources 2023-06-20 17:59:14 +02:00
Frank
f337595222 [Change] Include Biome count when printing the description of a BiomeSource 2023-06-20 00:47:55 +02:00
Frank
010ca1f598 Version Bump 2023-06-19 22:36:42 +02:00
Frank
b749aa4232 Regenerated Datapack 2023-06-19 22:36:11 +02:00
Frank
b01f9885c2 [Change] Nullscape void barrens are added using an optional Biome Tag 2023-06-19 22:35:58 +02:00
Frank
c2a520e846 [Change] BiomeSource merging checks Biome Tags to find modded or datapack biomes 2023-06-19 22:35:04 +02:00
Frank
00cb2ea0a7 [Change] Support for optional Tags 2023-06-19 22:33:14 +02:00
Frank
8a6ad50377 [Fix] Music Disc did not play and got destroyed (quiqueck/BetterEnd#230) 2023-06-19 20:03:53 +02:00
Frank
a74361497a Fix for version increment 2023-06-19 19:28:30 +02:00
Frank
e26e0606c5 Version Bump 2023-06-19 19:05:18 +02:00
Frank
7fea8ff6d8 Task to auto increment build version 2023-06-19 19:05:10 +02:00
Frank
edb8a83e77 [Change] Make sure we also load all vanilla Dimensions when merging Biomes (quiqueck/BetterNether#138) 2023-06-19 17:36:54 +02:00
Frank
c0c35ed81e [Change] Made World Customization Screen more compatible with other Mods. (#93) 2023-06-18 17:11:58 +02:00
Frank
dbd6db0f86 [Change] Inject BiomeSource enforcer later than usual to give otehr mods the chance to initialize without having to add a priority (quiqueck/BetterNether#138) 2023-06-18 14:45:54 +02:00
Frank
fd9bac7484 [Change] Prevent Crash when merging BiomeSources. A cought crash can result in modded biomes not getting loaded. (quiqueck/BetterNether#138) 2023-06-18 00:32:09 +02:00
Frank
f0dd0e698d [Change] FeatureSaplingBlocks will grow at onece in creative 2023-06-17 23:01:47 +02:00
Frank
ba09219fed [Change] Removed old Bonemeal API 2023-06-17 22:47:39 +02:00
Frank
50c3748ef9 [Change] Updated Bonemeal API for under water bonemeal 2023-06-17 22:47:22 +02:00
Frank
bdc2f52743 [Change] Make sure BlockTags are only added once 2023-06-17 21:47:21 +02:00
Frank
07f8bce1dc [Change] Helper for underwater survival hints 2023-06-17 21:07:07 +02:00
Frank
4f934cdaf0 [Change] Label for underwater placeable plants 2023-06-17 20:19:49 +02:00
Frank
37b5980ebb Version Bump 2023-06-17 12:41:41 +02:00
Frank
3b3372ad6e [Fix] Default sound for plants (quiqueck/BetterEnd#227) 2023-06-17 12:37:20 +02:00
Frank
f119b7d68b Version Bump 2023-06-17 12:23:54 +02:00
Frank
835f134329 [Fix] Missing mineable definition for base block types (quiqueck/BetterEnd#224) 2023-06-17 12:23:01 +02:00
Frank
bb64e86754 Only warn about missing mineable when a tool is required 2023-06-17 12:22:06 +02:00
Frank
f85f45582d [Feature] New Ice Behaviour 2023-06-17 11:41:30 +02:00
Frank
eaf01c1ed1 [Change] Output Blocks that are missing minable tags when runnig DataGen 2023-06-17 11:38:58 +02:00
Frank
b2395022d6 Version Bump 2023-06-14 20:35:14 +02:00
Frank
15fbf88147 [Fix] World Recreation crashes for worlds with betterx customizations 2023-06-14 20:25:55 +02:00
Frank
c680b19655 [Change] Default End Generator 2023-06-14 19:59:58 +02:00
Frank
9700dc1bd0 [Feature] Support for 1.20.1 2023-06-14 19:50:08 +02:00
Frank
3565438106 Dependency Bump 2023-06-14 13:21:12 +02:00
Frank
75ccdf38d5 [Feature] AirSelectionItem allows Items to highlight/use air blocks 2023-06-14 01:22:55 +02:00
Frank
296696d23b [Change] TagDataProvider can force write TagKeys 2023-06-13 22:39:04 +02:00
Frank
bde6757c6a Version Bump 2023-06-13 22:35:00 +02:00
Frank
531464f2b2 Remove forced dev-mode 2023-06-13 18:28:15 +02:00
Frank
1304b2637a Fixed fabric.josn 2023-06-13 17:23:50 +02:00
Frank
56c6eeee7d Now in beta 2023-06-13 17:23:36 +02:00
Frank
22965303e3 [Fix] Added back EMI Support 2023-06-13 16:58:53 +02:00
Frank
df46811618 Added missing localizations 2023-06-13 16:48:16 +02:00
Frank
f17c8be803 [Change] New fill helpers for DebugDataItem 2023-06-13 16:47:32 +02:00
Frank
941782e4f1 [Change] streamlined BehaviourBuilders for Plants 2023-06-13 16:47:05 +02:00
Frank
e0622a1c11 [Change] SurvivesOn-Tooltips can now show different prefixes 2023-06-13 16:46:47 +02:00
Frank
8013404726 [Change] Changed default settings/Behaviours for plants 2023-06-13 16:46:05 +02:00
Frank
3d7eaa7ec5 Dependency Bump 2023-06-13 16:44:27 +02:00
Frank
d1a4e6c13d [fix] Make wunderlib a required dependency (#97) 2023-06-13 09:29:31 +02:00
Frank
ebbd975bab [Feature] End Structure Pool element that prevent Pool elements from spawning below y-5 2023-06-11 18:56:47 +02:00
Frank
671fea6c2e [Fix] Wrong visibility for DebugDataItem Interfaces 2023-06-11 16:10:53 +02:00
Frank
3a25f4a726 [Feature] Helper to register Processors in DataGen 2023-06-11 15:10:43 +02:00
Frank
236d773d08 [Feature] Slot for wooden walls 2023-06-11 14:34:11 +02:00
Frank
8fddd5bb79 [Feature] Slot-based complex Material for Stone 2023-06-11 14:33:56 +02:00
Frank
c9e384304e [Fix] WallBlock had wrong behaviour and missing Tags 2023-06-11 14:33:00 +02:00
Frank
ee27ea754e [Fix] Disapearing creative tabs 2023-06-11 00:54:10 +02:00
Frank
ad74c71c01 [Feature] Furniture API 2023-06-11 00:07:38 +02:00
Frank
6b87c96839 [Feature] Armor Render Helper based on Fabric ArmorRenderer-API 2023-06-10 22:34:21 +02:00
Frank
ee2e25eae8 Version Bump 2023-06-09 00:44:58 +02:00
Frank
afab8c4a72 Correct Wunderlib version 2023-06-09 00:39:36 +02:00
Frank
e1634d3152 [Change] Automatically add Tools to vanilla Item-tags 2023-06-09 00:32:20 +02:00
Frank
55ec6e8f68 [Fix] Wrong Recipe for hanging sign 2023-06-08 14:04:35 +02:00
Frank
42ecb2c500 Todo 2023-06-08 10:39:10 +02:00
Frank
a95843d051 Threadsafe biome add 2023-06-08 09:39:41 +02:00
Frank
2a6f62a0b9 [Change] New generalized plant and shearable plant Behaviour 2023-06-08 09:29:20 +02:00
Frank
9d92ec65c8 Sorted de/en language files 2023-06-08 08:50:04 +02:00
Frank
bf8a5e4b0e New DebugItems 2023-06-08 03:31:19 +02:00
Frank
65394f66c6 Version Bump 2023-06-08 03:00:33 +02:00
Frank
9150a8f2a3 [Fix] Biomes can get added multiple times to BiomeTag Registry 2023-06-08 02:17:51 +02:00
Frank
d48f6db59f [Fix] Crash due to client code in Command execution 2023-06-08 01:46:38 +02:00
Frank
e06bee11e9 [Feature] API to generate cheap SimithingTemplate copy recipes 2023-06-08 01:38:49 +02:00
Frank
7512e8868c Dependency Bump 2023-06-08 00:54:28 +02:00
Frank
135dd1af22 Version Bump 2023-06-08 00:52:16 +02:00
Frank
309b447ba0 Calculating size 2023-06-08 00:44:10 +02:00
Frank
af4070b74a Minor text updates 2023-06-08 00:44:01 +02:00
Frank
d8892f6945 Removed Dev-Env test in DebugDataItem 2023-06-08 00:38:01 +02:00
Frank
5bf7e3b5c6 [Change] Re-Enabled ModMenu Support 2023-06-08 00:34:53 +02:00
Frank
ac4b1e08e3 [Change] Template Structures perform a biome test at random height before checking the noise columns 2023-06-08 00:25:32 +02:00
Frank
ced356d19c Updated template 2023-06-07 21:56:17 +02:00
Frank
981fd438c3 removed spawner test command 2023-06-07 21:48:12 +02:00
Frank
9e61718500 Make sure debug is only working in dev mode 2023-06-07 21:47:52 +02:00
Frank
33dd653208 Improved handling of BCLBiomeRegistry on Datagen 2023-06-07 21:47:35 +02:00
Frank
2e2a23cd88 Smaller changes to Debug Item 2023-06-07 19:27:29 +02:00
Frank
fb5f0a933c [Feature] Support for Debug Items 2023-06-07 18:57:25 +02:00
Frank
a34a15620a Empty Slot Icon Lists of Armor and Tools 2023-06-07 18:52:42 +02:00
Frank
1a18422f90 [Feature] Build for 1.20 2023-06-07 18:16:24 +02:00
Frank
bbdae36ac6 Minor improvements 2023-06-07 01:48:50 +02:00
Frank
eee0a8b9c8 [Feature] BCLStructureBuilder supports Jigsaw Structures 2023-06-06 21:02:28 +02:00
Frank
b69259cb4b Improved jigsaw command 2023-06-06 21:02:01 +02:00
Frank
66ef032001 Added Todo 2023-06-06 21:01:47 +02:00
Frank
36f28c1561 Improved batch placement command and added eas jigsaw command 2023-06-06 19:40:12 +02:00
Frank
dd13f09bd2 [Feature] Raft Support 2023-06-04 16:13:57 +02:00
Frank
e2bc392a90 [Feature] API to simplify generation of Creative-Tabs 2023-06-04 14:11:42 +02:00
Frank
f8e4f29da4 [Feature] Equipment Sets can be configured to build Smithing Recipes 2023-06-03 19:14:46 +02:00
Frank
1a7f3cf793 [Change] Moved Boat Entity Render registration to BCLib 2023-06-03 19:14:00 +02:00
Frank
9f327308a5 Extended /bclib place nbt command to place all files from a directory 2023-05-31 23:19:13 +02:00
Frank
28af68b906 Refactored /place-Command 2023-05-31 14:18:02 +02:00
Frank
0485f040b9 [Change] Place NBT Structures silently 2023-05-31 14:17:46 +02:00
Frank
c5e0029b4e [Feature] New /place-command to add nbt-structures to the world for editing. 2023-05-31 01:28:50 +02:00
Frank
7560052c8f [Change] Recipe Builder for recipe that copies smithing templates 2023-05-30 19:27:55 +02:00
Frank
1bc1487dfe More Behaviour changes 2023-05-30 19:02:27 +02:00
Frank
5390921e55 Build against latest Pre-Release 2023-05-30 18:46:08 +02:00
Frank
e5bc16320c [Feature] Added Smithing Template for Netherite Fire Bowls 2023-05-30 18:24:33 +02:00
Frank
3b2d8529e2 More Race-Condition fixes 2023-05-30 18:21:53 +02:00
Frank
457673d721 Collission Changes 2023-05-25 00:15:14 +02:00
Frank
33fdac0b98 Added 1.20 saplings 2023-05-24 23:46:56 +02:00
Frank
aea93e06f6 Smaller Changes 2023-05-24 23:22:27 +02:00
Frank
fcbfe26811 Application of Behaviours and Tags as replacement for Materials 2023-05-24 23:09:21 +02:00
Frank
f371a562f9 Added more Behaviours 2023-05-24 21:07:51 +02:00
Frank
e3bc1f17b2 Added Stone Type for BaseWallBlock 2023-05-24 18:33:23 +02:00
Frank
c9b4225be6 Regenerated Datapack 2023-05-24 08:48:09 +02:00
Frank
28a2e788ae Build against Beta 5 2023-05-23 23:55:52 +02:00
Frank
8b578e7cdf [Change] added inBiome Test before costly layer searches 2023-05-23 22:57:59 +02:00
Frank
4bb3512433 More locking Options 2023-05-23 22:57:56 +02:00
Frank
13e56d0a97 [Change] Debug Placement Modifierers can have uniquie Captions 2023-05-23 22:57:51 +02:00
Frank
e3037d84bf [Fix] Vertical Attribute was not set for biomes 2023-05-23 22:57:47 +02:00
Frank
cc9c4e3c93 [Change] Better Thread-Syncing abilities for RegistrySupplier 2023-05-23 22:57:37 +02:00
Frank
508dfc105a [Change] Disabled TagRegistry when not running DataGen. 2023-05-23 20:10:40 +02:00
Frank
db22f7382b Updated Test Signs 2023-05-23 19:47:07 +02:00
Frank
6cb70dd35f Added Behaviours for all relevant Blocks 2023-05-23 19:47:00 +02:00
Frank
3b2a2d4294 [Feature] New Block Behaviour Interfaces 2023-05-21 15:12:48 +02:00
Frank
7d0df8c4dd Added missing mineable Tags 2023-05-21 03:10:37 +02:00
Frank
c1474de774 More BehaviourBuilder related changes 2023-05-21 02:28:40 +02:00
Frank
3e66e8e9c5 [Change] DataGen will force write references to other Tags without any error checks 2023-05-21 02:00:07 +02:00
Frank
d694a09cdf Additional Behaviours 2023-05-21 00:35:58 +02:00
Frank
78b39e8506 Correct version number 2023-05-21 00:29:25 +02:00
Frank
a289acdf50 Re-Enabled ModMenu Integration API 2023-05-20 23:59:48 +02:00
Frank
2ad18bb3e7 Added assets for test sign 2023-05-20 23:47:16 +02:00
Frank
521b693587 Added Hanging Sign Test 2023-05-20 23:46:51 +02:00
Frank
d4d5c74349 [Feature] Support for hanging Signs 2023-05-20 23:46:40 +02:00
Frank
490ad640cd Improved handling of Slot-Based ComplexMaterials 2023-05-20 22:55:04 +02:00
Frank
f9870d388e [Change] ComplexMaterials can use MaterialSlots now 2023-05-20 12:39:20 +02:00
Frank
cc6d910587 Added a Test Wall-Sign 2023-05-18 02:12:06 +02:00
Frank
9207bc8c3d Removed old custom SignBlockEntity type 2023-05-18 02:09:14 +02:00
Frank
3b7e5c0a3e Added a Test Sign 2023-05-18 01:20:12 +02:00
Frank
f38d1e9dde [Change] Removed custom sign rendering in favour of vanilla Wood-Types 2023-05-18 01:19:57 +02:00
Frank
3ee132e7ff BlockBehaviour.Properties for signs 2023-05-18 01:15:56 +02:00
Frank
48c85c1002 Removed test sign code 2023-05-18 01:14:43 +02:00
Frank
89aef7867c Removed CreativeModeTab from Registries 2023-05-17 23:54:03 +02:00
Frank
b652f4fbce Moved ADD_TESTS-Field 2023-05-17 23:53:32 +02:00
Frank
4977e659db Datagen Run 2023-05-17 15:31:13 +02:00
Frank
3e5a4b0f0c Repaired BCLibDatagen 2023-05-17 15:30:06 +02:00
Frank
9b84ba6b29 Altered SignEditScreenMixin 2023-05-17 15:23:29 +02:00
Frank
90342732ba Adapted AnvilMenuMixin 2023-05-17 15:20:20 +02:00
Frank
5574867fa1 Adapted ServerLevelMixin 2023-05-17 15:20:10 +02:00
Frank
022d038bbc new way of sign rendering 2023-05-17 15:15:22 +02:00
Frank
7cd4723d87 sendSuccess signature changes 2023-05-17 15:12:21 +02:00
Frank
ab846e1b42 Signature change in AdvancementManager 2023-05-17 15:10:17 +02:00
Frank
465497db9a Some Sign-Related changes (have to rework Signs for the new 1.20 mechanics) 2023-05-17 15:09:53 +02:00
Frank
145e6168c3 Using getters 2023-05-17 14:50:56 +02:00
Frank
2f878800ca Changes to color-Methods 2023-05-17 14:49:32 +02:00
Frank
37e69ca6b2 level is a getter now 2023-05-17 14:47:13 +02:00
Frank
40ab94d4fe LootTable related changes 2023-05-17 14:45:44 +02:00
Frank
4a74a44422 [Change] Added BehaviourBuilders to replace the deprecated Block-MaterialSystem 2023-05-17 14:42:40 +02:00
Frank
e656bce991 [Change] SmithingRecipeBuilder requires a Template Item 2023-05-17 12:45:02 +02:00
Frank
d0eaf41356 Disabled Deprecated ModMenu Entrypoint 2023-05-17 12:41:13 +02:00
Frank
8ffe1dbc2e LayerLightEngine -> LightEngine 2023-05-17 12:40:54 +02:00
Frank
9573b280ad Use GuiGraphics 2023-05-17 12:39:39 +02:00
Frank
c051cc54c2 MaterialColor -> MapColor 2023-05-17 12:26:47 +02:00
Frank
4602596e60 [Change] Disabled EMI and ModMenu Support for now 2023-05-17 12:24:06 +02:00
Frank
622d77a7fc Setup 1.20 2023-05-17 12:21:36 +02:00
Frank
ec266f6140 Cleanup 2023-05-17 12:11:14 +02:00
Frank
b388b0c650 Cleanup 2023-05-17 01:03:31 +02:00
Frank
ba69d1aa65 Removed module 2023-05-16 22:30:38 +02:00
Frank
3ed04c8b67 Added Wunderlib 2023-05-16 22:19:07 +02:00
Frank
3d74113c2b Defaults 2023-05-16 21:32:38 +02:00
Frank
b8afbfc688 [Change] Added default biome type for nullscape:void_barrens to our default datapack. (#81) 2023-05-16 17:17:13 +02:00
Frank
291485dc37 [Change] END_LAND as default Biome type for unknown End Biomes (#81) 2023-05-16 17:00:18 +02:00
Frank
82dba8391e [Fix] Crash due to outdated Biome reference 2023-05-16 16:59:07 +02:00
Frank
9c46a0874c Version Bump 2023-05-16 14:55:57 +02:00
Frank
7c1775f443 [Change] global registry warning only with verbose logging (#90) 2023-05-16 14:51:31 +02:00
Frank
6f80069627 [Feature] Added c:budding_blocks-Tag (quiqueck/BetterEnd#206) 2023-05-16 14:40:40 +02:00
Frank
f7c3deb336 Re-Ordered Imports 2023-05-16 14:36:37 +02:00
Frank
52acddf3ed Version Bump 2023-04-29 16:04:03 +02:00
Frank
5707fd493f [Fix] Warning in SignEditScreenMixin 2023-04-29 15:43:17 +02:00
Frank
8e4eaf30be [Fix] Biome Debug Logging 2023-04-29 15:16:49 +02:00
Frank
8613014c11 [Fix] NBT-Data is not serialized correct to recipes 2023-04-29 15:15:20 +02:00
Frank
61f5f41941 [Fix] Alloying Recipe Type is not registered 2023-04-29 15:14:54 +02:00
Frank
385e0baa5f [Changed] AnvilRecipe has a single input only 2023-04-29 14:54:47 +02:00
Frank
e21e81d452 Version and Dependency Bump 2023-04-29 14:22:35 +02:00
Frank
fe404d1aa4 [Changes] Allow ItemStacks with NBT-Data as recipe results in Builders 2023-04-29 14:21:58 +02:00
Frank
093f3465fb [Changes] Added overloaded equal-Methods for BCLBiome 2023-04-29 11:48:33 +02:00
Frank
6a0749f8ce [Change] More consistent Names for Anvil Mixins 2023-04-22 16:45:50 +02:00
Frank
842501af48 [Change] Removed RecipeManagerAccessor 2023-04-22 16:45:03 +02:00
Frank
75d2c80519 [Change] BetterX-Type initialization Code for Servers 2023-04-22 16:41:12 +02:00
Frank
e139f9946e Fixed JavaDoc 2023-04-22 16:39:49 +02:00
Frank
3b1d74f43d [Fix] New SmithingTransformRecipe crashes EMI 2023-04-16 18:31:43 +02:00
Frank
95f1e2c018 Disabled debug data 2023-04-16 13:21:00 +02:00
Frank
0cb1d6cb4d Updated builting datapack 2023-04-16 13:19:27 +02:00
Frank
d1dae662d2 Use latest FAPI 2023-04-16 13:19:07 +02:00
Frank
48dd6a3274 [Change] BCLBiomeRegistry is used to populate Fabric Biomes 2023-04-16 13:18:57 +02:00
Frank
c4af9dfa0a Cleanup 2023-04-16 13:17:24 +02:00
Frank
2c3af98e9e Aditional logging for the surface rule registry 2023-04-16 13:16:48 +02:00
Frank
35f62b16af Updated DataGen 2023-04-13 18:37:33 +02:00
Frank
c5a8086eb4 Removed deprecated Recipe Code 2023-04-13 18:24:51 +02:00
Frank
b0a275337d Added sample for 'recipes.json' 2023-04-13 17:36:32 +02:00
Frank
5f92964f9d [Feature] Disable any Recipe using a dataPack file.
You can add a new File `bclib/config/recipes.json` to your datapack with the following content to disable any recipe (by Id):

```json
{
  "disable": [
    "minecraft:jungle_chest_boat",
    "bclib:test_star"
  ]
}
```
2023-04-13 17:33:42 +02:00
Frank
48a0049faf [Feature] New Helper to handle config files from Datapacks 2023-04-13 17:18:13 +02:00
Frank
03d73f34a2 Make sure Datagen Recipes are not stored in memory 2023-04-12 18:51:05 +02:00
Frank
1417e1ec9e Removed debug code 2023-04-12 18:49:59 +02:00
Frank
4b3b30d21e [Changes] Updated Recipe Categories 2023-04-12 18:31:20 +02:00
Frank
939df8fdb2 Fix for Simthing Recipes Builder 2023-04-12 17:12:14 +02:00
Frank
809bfddd32 [Change] Recipe Handling moved to Datagen 2023-04-12 16:59:55 +02:00
Frank
f60fcd02d5 Testing GridRecipe for DataGen 2023-04-08 15:01:56 +02:00
Frank
bd47215916 Fixed crashing mixin 2023-04-08 14:54:09 +02:00
Frank
7b0dd1c169 [Change] Removed BiomeSourceFromRegistry-Interface 2023-04-08 13:25:47 +02:00
Frank
0320ee61f6 [Change] Using collectPossibleBiomes for BCLBiomeSource 2023-04-08 13:22:22 +02:00
Frank
55930d73d5 [Feature] Build for 1.19.4 2023-04-08 12:53:46 +02:00
Frank
8a8e73348c Version Bump 2023-01-28 13:46:09 +01:00
Frank
0501ef4c7d Use static types 2023-01-28 13:42:40 +01:00
Frank
6509d8c5cb Updated EMi-Version 2023-01-28 13:42:31 +01:00
Frank
bca060f446
Merge pull request #60 from Altegar/patch-3
Update uk_ua.json
2023-01-28 12:42:39 +01:00
Frank
ecc5ea0eec [Fixed] Prevent crashes from null registry in Fog-Rendered (#69) 2023-01-28 12:36:46 +01:00
Frank
154e652991 [Fix] WorldConfig is not initialized properly on servers 2023-01-05 12:23:40 +01:00
Frank
a660d8ff41 [Fix] Fixed Server-Crashes due to client-side boat types 2023-01-05 12:23:15 +01:00
Frank
ce9288d4e3 [Changes] Simplified and streamlined some aspects of BCLBiomeRegistry` 2022-12-11 23:58:11 +01:00
Frank
82c9b62fd3 Version Bump 2022-12-11 16:32:46 +01:00
Frank
2f8ae6b418 [Changes] Simplified Method to find POIs in a region 2022-12-11 15:19:18 +01:00
Frank
0d21df3b5e [Fix] Mossy Obsidian does not spread to Obsidian using Bonemeal (quiqueck/BetterEnd/#126) 2022-12-10 16:45:02 +01:00
Frank
a813e7af21 Version Bump 2022-12-10 16:19:29 +01:00
Frank
4a9ddbe284 [Changes] New method to add Item Triggers 2022-12-10 15:17:36 +01:00
Frank
03c92a8407 Version Bump 2022-12-10 14:43:32 +01:00
Frank
63431b1de1 [Change] Added recipe advancements to Datagen 2022-12-10 14:37:24 +01:00
Frank
686256c707 Moved Advancement class 2022-12-10 14:28:52 +01:00
Frank
f56c534640 Advancement Criteria are serialized in the same order they are added 2022-12-10 14:13:28 +01:00
Frank
3706670849 [Fixes] RegistryDataProvider lock was not aquired soon enough. 2022-12-10 13:39:59 +01:00
Frank
cd65bcf4e8 [Changes] Sort Tags by name before writing 2022-12-10 13:22:50 +01:00
Frank
f5e26e5e9c [Changes] new AdvancementDataProvider with Mod Filter 2022-12-10 13:19:32 +01:00
Frank
3f2963d8bf [Changes] Migrated Advancement Manager to DataGen 2022-12-10 12:05:24 +01:00
Frank
251925ac08 [Changes] Added c:ores-Tag to the BaseOreBlock. (quiqueck/BetterNether#94) 2022-12-10 11:04:34 +01:00
Frank
da6e3c6559 [Changes] BCLBiome's equals recognizes Keys and Locations as well 2022-12-09 17:02:44 +01:00
Frank
064c24a99e [Feature] Added Method that returns all known biomes for a given type 2022-12-09 16:34:02 +01:00
Frank
d02a74a263 [Fixes] Crash in Deciders when pickers are null 2022-12-09 16:33:42 +01:00
Frank
020e20e483 Version Bump 2022-12-09 16:01:55 +01:00
Frank
c3526376bf [Changes] Removed old reflection code to create a Disc 2022-12-09 16:00:22 +01:00
Frank
cd6587101c [Changes] Some changes needed for BetterEnd 2022-12-09 15:59:08 +01:00
Frank
a533d501cd [Change] Re-Enabled ModMenu 2022-12-09 11:42:25 +01:00
Frank
15765bf30a Re-Enabled EMI 2022-12-09 11:22:25 +01:00
Frank
0cb4596037 [Feature] Built for 1.19.3 2022-12-09 11:22:15 +01:00
Frank
6c8b47f546 Added 1.19.3 to issue template 2022-12-06 19:28:51 +01:00
Frank
36239de2fe Added Datapack Files 2022-12-06 19:27:11 +01:00
Frank
9906c65c9d Build for 1.19.3-rc3 2022-12-06 19:18:22 +01:00
Frank
4a30629782 Fixed issue with refactored BCLBiome 2022-12-06 16:28:23 +01:00
Frank
8b7c4bf9b1 Implemented Replacement for fabrics ClientSpriteRegistryCallback 2022-12-06 16:28:10 +01:00
Frank
f881e0783f Fixed most 1.19.3 TODOs 2022-12-05 21:02:25 +01:00
Frank
2af0731a81 Simplified BCLBiome inheritance, and removed redundant biome configs (replaced by builtin datapack) 2022-12-05 00:53:14 +01:00
Frank
b4494faae5 Fixed edge and subbiome handling 2022-12-05 00:28:10 +01:00
Frank
3b00b59f04 Some Biome Edge related fixes 2022-12-05 00:09:21 +01:00
Frank
70b3600072 Make sure Biomes with a parent are added to the set of possible biomes 2022-12-04 23:23:12 +01:00
Frank
fb65debd87 Allof offset for Nether Climate Parameters 2022-12-04 23:22:48 +01:00
Frank
af8e844348 Removed empty file 2022-12-04 22:14:57 +01:00
Frank
0308437eaa Fixes for Tag DataGen 2022-12-04 22:13:06 +01:00
Frank
2fa5c9510a Removed custom End/Nether Tags 2022-12-04 22:12:44 +01:00
Frank
857807aca1 Use CompletableFuture when saving 2022-12-04 21:54:53 +01:00
Frank
e8b7bf07b8 Additional logging 2022-12-04 21:12:15 +01:00
Frank
16c1d59d20 Also log total amount of elements 2022-12-04 20:35:35 +01:00
Frank
b1679114cf Ensure registries get written after Registry Bootstrap 2022-12-04 20:07:32 +01:00
Frank
ef1e899589 Generalized Tag-Provider 2022-12-04 20:06:53 +01:00
Frank
982b3aa274 Generalized Datagen 2022-12-04 13:37:33 +01:00
Frank
de2dd60807 Build for 1.19.3 RC1 2022-12-04 13:37:22 +01:00
Frank
4b54e37676 Smaller fixes 2022-12-03 15:35:34 +01:00
Frank
bca140dc1b Keep Track of unbound Structures 2022-12-03 15:28:18 +01:00
Frank
c75450b6c5 Fixes to make BetterNether DataGen run 2022-12-03 14:31:36 +01:00
Frank
8626560681 Fixed wrong name 2022-12-03 13:50:58 +01:00
Frank
fb00eceb19 Added registerUnbound for placed Features 2022-12-03 13:47:44 +01:00
Frank
e115141a3b API fixes 2022-12-03 13:44:03 +01:00
Frank
5c7ac126ed Use ResourceKey as an alternative to Holders 2022-12-03 13:25:59 +01:00
Frank
0204c5fb73 Refactored BiomeRegistry and BiomeBuilder 2022-12-03 13:06:36 +01:00
Frank
78c1df618a Minor APi change 2022-12-03 11:35:05 +01:00
Frank
67985322bb Cleanup 2022-12-03 03:11:52 +01:00
Frank
2049168497 Condition 2022-12-03 03:10:24 +01:00
Frank
1d359519b4 Test for new Structure Builder 2022-12-03 03:09:19 +01:00
Frank
4fee0429f7 Updated Structure Builder 2022-12-03 02:49:58 +01:00
Frank
7604e60bab Test of Structure Datagen 2022-12-03 02:14:49 +01:00
Frank
51882758b0 Make BiomeBuilder instance based 2022-12-03 02:02:32 +01:00
Frank
d279b6dfd0 Sample code to write Biome-Tags in Datagen 2022-12-03 01:41:44 +01:00
Frank
90be8a3160 Fixed for Feature assignment in biomes 2022-12-02 23:24:29 +01:00
Frank
de858beff5 Fixed some ToDo's 2022-12-02 22:42:31 +01:00
Frank
561fc130a3 [Changes] BCLBiomeSource relies more on BCLRegistry 2022-12-02 22:38:37 +01:00
Frank
a592c05b4d Moved WorldPreset creating to DataGen step 2022-12-02 16:03:00 +01:00
Frank
ad0a82c2f0 Corrected DataGen 2022-11-30 20:41:02 +01:00
Frank
8fdcef7986 Write all entries from BCL_BIOMES_REGISTRY in DataGen 2022-11-30 20:39:02 +01:00
Frank
b322453889 Added more Registries to DataGen pass 2022-11-30 20:23:29 +01:00
Frank
2aa445d9e0 [Changes] Adapted BCLBiomeBuilder for DataGen pass 2022-11-30 19:43:09 +01:00
Frank
271c974929 [Changes] Adapted BCLPlacedFeatureBuilder for DataGen pass 2022-11-30 12:12:20 +01:00
Frank
2e60364029 [Changes] Adapted BCLFeatureBuilder for DataGen pass 2022-11-30 03:15:54 +01:00
Frank
7b726d958d [Changes] Build for 1.19.3-pre3 2022-11-30 01:40:42 +01:00
Frank
0dcb7809b8 Merge branch '1.19' into 1.19.3
# Conflicts:
#	gradle.properties
#	src/main/java/org/betterx/bclib/BCLib.java
#	src/main/java/org/betterx/bclib/api/v2/generator/BCLChunkGenerator.java
#	src/main/java/org/betterx/worlds/together/mixin/common/WorldPresetsBootstrapMixin.java
#	src/main/java/org/betterx/worlds/together/worldPreset/WorldPresets.java
#	src/main/resources/bclib.accesswidener
2022-11-29 09:41:10 +01:00
Frank
384325b269 Updated to 1.19.3-pre2 2022-11-29 09:37:46 +01:00
Altegar
ba34b44a87
Update uk_ua.json 2022-11-27 13:12:07 +02:00
Frank
296cc027cc [Change] Log Amplified Setting for Nether 2022-11-25 15:40:59 +01:00
Frank
40a0082ca8 Version Bump 2022-11-25 15:03:20 +01:00
Frank
7a3a3e0afb Backward Compat 2022-11-25 14:07:47 +01:00
Frank
9d7566986e [Changes] Improved FeatureAPI for use with Bonemeal-Features 2022-11-18 18:20:41 +01:00
Frank
781a747537 [Changes] Added new PlacementFilter for Biome IDs 2022-11-18 18:20:16 +01:00
Frank
5d431157c7 [Changes] Better Wording for double height Nether 2022-11-16 17:54:37 +01:00
Frank
04373ebff8 Version Bump 2022-11-16 17:51:12 +01:00
Frank
22a1cd7c26 Re-Enable version test 2022-11-16 17:30:32 +01:00
Frank
4d626b23b2 Modrinth as default Update location (can be configured to revert to curseforge as default) 2022-11-16 17:28:58 +01:00
Frank
f63f0ef5fc Auto append latest version 2022-11-16 16:14:21 +01:00
Frank
73a9c1f2fe Fixed Curseforge Upload 2022-11-16 16:09:25 +01:00
Frank
1cd070dbfb Automate Curseforge Upload 2022-11-16 16:00:25 +01:00
Frank
172737e0fa [Feature] Double Height Nether (for amplified worlds) 2022-11-16 12:03:07 +01:00
Frank
1e968fafc7 [Feature] Additional UI Config Options for Nether BiomeSource on the Customize World Screen (quiqueck/BetterNether#62) 2022-11-16 10:26:31 +01:00
Frank
42be3dd2c7 [Feature] New WorldTypes for BetterX + Large Biomes (bclib:large)Overworld or Amplified (bclib:amplified) Overworld (#53) 2022-11-16 10:09:21 +01:00
Frank
6c6aca74b5
Merge pull request #52 from FITFC/1.19
[Feature] Added Portuguese  translation (by FITFC)
2022-11-15 20:45:55 +01:00
Frank
4a7d9e120a Merge remote-tracking branch 'origin/1.19' into 1.19 2022-11-15 20:41:56 +01:00
Frank
1f91c0edda Added Backward Compatible Constructor 2022-11-15 20:41:49 +01:00
Frank
5ef56a7dcb
Merge pull request #55 from agnor99/fix/54
Fix #54
2022-11-15 19:57:47 +01:00
Frank
09f2a9148c Create a copied set 2022-11-15 19:36:37 +01:00
Frank
bf60049ed9 Additional Slot Values 2022-11-15 19:29:08 +01:00
Frank
1c857518b8 [Changes] EquipmentSets take values for attack-speed and -damage 2022-11-15 19:09:44 +01:00
Frank
81b6a464fd [Fixes] Tree growing would sometimes not destroy sapling (quiqueck/BetterNether#65) 2022-11-15 17:29:53 +01:00
Frank
5faf0ef134 More updates to new BoneMealAPI 2022-11-15 16:30:34 +01:00
Frank
5b99e0be53 [Feature] New Bonemeal API 2022-11-12 15:15:38 +01:00
Frank
daa4a2b4af Migrated some API calls 2022-11-12 12:10:59 +01:00
Frank
c11fca74a5 Updated to 22w45a 2022-11-12 12:10:45 +01:00
Frank
2bb3c81839 Fixed missing textures 2022-11-02 17:55:10 +01:00
Frank
29b8e96bbe [Changes] Make sure BCLBiomes do not keep cyclic/order dependant references 2022-11-02 16:48:05 +01:00
Frank
abaef11682 Changed Biome handling 2022-11-02 12:06:36 +01:00
agnor99
b9bc3d9c2b Update TagManager.java 2022-10-31 19:57:36 +01:00
FITFC
e6faa50a66
added pt_br.json 2022-10-29 18:23:42 -05:00
Frank
be21b40cff Moved Datagen 2022-10-29 20:59:28 +02:00
Frank
f6f3a96afb Minor updates 2022-10-29 14:38:28 +02:00
Frank
01c59be6ae Changed namespace 2022-10-29 13:07:44 +02:00
Frank
47756e7ebf Added SubModule for WunderLib 2022-10-29 12:31:17 +02:00
Frank
ac42631843 Restore some ModMenu API 2022-10-28 18:31:31 +02:00
Frank
a071ad5052 Disabled ModMenu for now 2022-10-28 18:11:05 +02:00
Frank
ff77134ead Adopted new Math and Widget changes 2022-10-28 18:03:25 +02:00
Frank
e608bf21fe Adopted new Fabric API 2022-10-28 17:41:24 +02:00
Frank
ce9a4f0e82 Bump version to 22w43a 2022-10-28 16:15:35 +02:00
Frank
06466bcfa4 Ignores 2022-10-28 16:13:57 +02:00
Frank
768416a51a Explicitly allow a null registry access 2022-10-28 16:13:08 +02:00
Frank
e8d8461e1d Removed unused functions 2022-10-28 16:08:20 +02:00
Frank
1ccb1af517 Removed WorldPreset Preload 2022-10-28 16:01:35 +02:00
Frank
b4f9fdf95f Streamlined WorldBootstrap 2022-10-28 15:58:46 +02:00
Frank
d9a586741e [Change] Removed Canvas Support 2022-10-28 09:27:33 +02:00
Frank
e826dbc623 Repaired world loading with Datapacks an bclib world preset 2022-10-26 19:20:51 +02:00
Frank
416ff1644e Create/Load of Worlds with WorldPreset appears to work 2022-10-26 17:01:26 +02:00
Frank
409534e6f1 Cleanups 2022-10-26 00:06:06 +02:00
Frank
9fcec2b033 Fixed For emissive texture loading 2022-10-25 23:57:27 +02:00
Frank
bfebba6791 Fixed Sign Mixin errors 2022-10-25 23:09:19 +02:00
Frank
95ea99e44d Fixed Registry handling 2022-10-25 22:45:42 +02:00
Frank
73687e3401 Fixed Mixin and Frozen Registry Errors 2022-10-25 17:46:08 +02:00
Frank
8edddec2b6 Disabled EMI Integratin for now 2022-10-25 17:23:14 +02:00
Frank
f8bcba4d3a Compiling version (some features are currently disabled and need a rewrite) 2022-10-25 17:19:22 +02:00
Frank
b1f4173ce4 [Change] Support for 22w42a 2022-10-21 09:43:02 +02:00
Frank
41b1d9eb68 Minor fixes 2022-10-13 21:04:27 +02:00
Frank
6e21b288d0 Gracefully handle missing files 2022-10-13 21:02:01 +02:00
Frank
8f8f9db93b Removed some comments 2022-10-13 20:53:45 +02:00
Frank
f5e2638529 Moved some settings to gradle.properties 2022-10-13 20:49:05 +02:00
Frank
6e68ea9283 Version Bump 2022-10-13 20:33:45 +02:00
Frank
42a55e612b Added AutoChangelog and Modrinth Tasks 2022-10-13 20:32:48 +02:00
Frank
b03c314ecf [Change] Added some DataSync Output to the verbose logging (#41) 2022-10-13 20:27:15 +02:00
Frank
5c10c01bd7 [Fix] Added missing strings for new config options 2022-10-13 20:25:58 +02:00
Frank
3e7a2e869d [Change] Moved "Survives On" Setting to the client config 2022-10-13 20:25:38 +02:00
Frank
f89c305dfe Version Bump 2022-10-12 09:48:07 +02:00
Frank
5e041b615b Version Bump 2022-10-11 23:16:05 +02:00
Frank
e82da8df0c [Fix] Re-enable Anvil Recipes (quiqueck/BetterEnd#64) 2022-10-08 23:42:15 +02:00
Frank
fc8e860369 [Change] Increased Durability of Anvils(quiqueck/BetterEnd#74) 2022-10-08 20:49:14 +02:00
Frank
dfb1d34bb9 [Fix] Make sure Biome-Sizes are in Chunks not Blocks when written (quiqueck/BetterEnd#80) 2022-10-08 20:44:53 +02:00
Frank
1de5ed5ecc [Change] Spelling of Sulphuric Materials (quiqueck/BetterEnd#90) 2022-10-08 20:43:25 +02:00
Frank
766319d877 [Fix] Make sure we can fallback to a non-null NoneFeatureConfiguration (quiqueck/BetterNether#48) 2022-10-08 20:28:43 +02:00
Frank
928dff6270 [Feature] Disable Survives-On Hint in UI (quiqueck/BetterNether#51) 2022-10-08 12:36:24 +02:00
Frank
0aca2f986d Do not deserialize Datapack Dimensions when still using the global Registry (#44) 2022-10-08 12:13:36 +02:00
Frank
05d332863f Catch on dimension loading code and return default. (#44) 2022-10-08 11:14:31 +02:00
Frank
bfb050fe0c More logs classified as verbose (#41) 2022-10-08 11:04:15 +02:00
Frank
87d0c8b07e Added config for verbose logging )on by default, #41) 2022-10-08 11:00:46 +02:00
Frank
887cb3c8f1 Change Log wording (#39) 2022-10-08 10:50:37 +02:00
Frank
551ab83f51 Added 1.19.2 to issue Tracker 2022-10-08 10:48:07 +02:00
Frank
5af8d3057e Mak sure double-tall plants drop (#38) 2022-10-08 10:46:36 +02:00
Frank
f13add113b
Merge pull request #31 from Touch-Night/patch-2
Update zh_cn.json
2022-10-08 10:24:20 +02:00
Frank
3fe928ed4f Version Bump 2022-08-17 22:13:01 +02:00
Frank
d0f7649f49 New Access Widener for FAPI < 0.60 2022-08-17 22:12:07 +02:00
Frank
fefb39cbd8 Fixes for JavaDoc 2022-08-16 22:32:16 +02:00
Frank
82703fe992 Movable image renderer 2022-08-16 22:30:21 +02:00
Frank
49aa696e67 [Feature] Container with absolute layer placement 2022-08-16 22:29:49 +02:00
Frank
02284d9f94 [Feature] Item Renderer 2022-08-16 22:29:32 +02:00
Frank
8ef0d82ed6 [Fix] Wron size when fit constraint is used 2022-08-16 22:29:00 +02:00
Frank
883a7100a5 [Fix] Panels only work when placed in origin 2022-08-16 22:28:46 +02:00
Frank
24a284c95b [Fix] Removed dependency on old FAPI class (#33) 2022-08-16 22:08:57 +02:00
Frank
5fb1835ecc Fixed Tag-Name 2022-08-16 22:08:15 +02:00
Frank
6132903545 Dependency Bump 2022-08-16 22:08:03 +02:00
Frank
5214fcb06c Some JavaDoc 2022-08-07 14:04:48 +02:00
Touch-Night
ca0fb60d7b
Update zh_cn.json 2022-08-07 09:54:42 +08:00
Frank
34993a81d0 [Feature] Vanilla Water Bottles do return empty bottle when consumed in recipes (quiqueck/BetterEnd#21) 2022-08-02 15:32:49 +02:00
Frank
e08fc8c29c Fixed wrong recursion 2022-08-02 14:36:12 +02:00
Frank
5df6fefcb9 Minor API corrections 2022-08-02 13:10:54 +02:00
Frank
80a4ff8319 [Feature] BCLRecipeBuilder 2022-08-02 11:52:46 +02:00
Frank
355a563cb8 Replaced old SmithingTableRecipe 2022-08-02 11:14:27 +02:00
Frank
b0964cd30d [Feature] Builder for Blasting, Smelting and Smithing Recipes 2022-08-02 11:00:56 +02:00
Frank
cb4c8c4db3 [Feature] StoneCutter Recipe Builder 2022-08-01 23:49:02 +02:00
Frank
37502c4853 [Fix] Moved Biome Check 2022-08-01 23:08:35 +02:00
Frank
62c36dc3ea [Fix] Pillar Features can not grow with BoneMeal 2022-08-01 22:51:42 +02:00
Frank
9623935b55 Some JavaDoc 2022-08-01 19:30:36 +02:00
Frank
bc4f542e41 Removed now deprecated additional Methods 2022-08-01 19:13:03 +02:00
Frank
5e557f95c0 Corrected ItemStack[] conversion 2022-08-01 19:11:40 +02:00
Frank
db62a19cc5 Fixes for backward compat 2022-08-01 19:11:24 +02:00
Frank
35c023692c [Change] Refactored Recipe-Advancement API to prevent #29 2022-08-01 18:35:32 +02:00
Frank
8061049949 Do not initialize tags twice 2022-08-01 18:02:09 +02:00
Frank
962935a19a Fixed JavaDoc 2022-08-01 18:01:56 +02:00
Frank
41bd9268ea Updated ModMenu Version 2022-08-01 01:49:10 +02:00
Frank
56845ebc19 [Change] Removed FabricItem-/FabricBlockSettings dependency 2022-08-01 01:31:38 +02:00
Frank
9e3ba00db8 Removed Property Dependencies 2022-08-01 01:21:13 +02:00
Frank
9753373429 Started to removed FabricBlockSettings Helper 2022-08-01 01:20:48 +02:00
Frank
22ae922439 Removed deprecated Methods/Classes 2022-08-01 01:13:55 +02:00
Frank
907785f2f5 Build against 1.19.1 2022-08-01 00:38:08 +02:00
Frank
41aef199da Dependency/Version Bump 2022-08-01 00:36:28 +02:00
Frank
7fef0a090c Enhancements for Advancement API 2022-07-31 23:08:09 +02:00
Frank
165ac1ca27 No extra Data Field 2022-07-31 20:17:35 +02:00
Frank
b7b357ac86 Fixed missing Advancement Description 2022-07-31 16:07:22 +02:00
Frank
18fffafb3a [Features] (Recipe-) Advancement API 2022-07-31 14:49:15 +02:00
Frank
e5da06a1e1 [Features] Equipment Sets 2022-07-31 14:48:40 +02:00
Frank
fde244965c Add correct Mining-Level tags and introduce custom one for Netherite 2022-07-30 11:45:00 +02:00
Frank
a18aa400ed [Feature] Support for Custom Boats (quiqueck/BetterNether#4) 2022-07-30 00:08:13 +02:00
Frank
696e0d5def Changes for vanilla wood type bookshelfs 2022-07-29 15:49:49 +02:00
Frank
47a744cf23 Add Composters as Farmer Workstations 2022-07-29 13:21:01 +02:00
Frank
0e8f9f6f8c Some internal Changes for EMI/Asset LICENSE 2022-07-29 11:07:46 +02:00
Frank
e6094754ce Minecraft 1.19.1 for Issue-Form 2022-07-29 02:02:35 +02:00
Frank
130dc4aa4c Added Blasting Recipes for Endstone Smelter (quiqueck/BetterEnd#51) 2022-07-29 01:29:43 +02:00
Frank
805c797866 Added Infusion Recipes to EMI (quiqueck/BetterEnd#51) 2022-07-29 01:04:00 +02:00
Frank
30ecd31fab Show tree support 2022-07-28 20:10:43 +02:00
Frank
2aa13a76ee Improved Anvil-Level handling 2022-07-28 19:52:07 +02:00
Frank
bb15db429d [Feature] EMI Integration for Anvil- and Alloying Recipes 2022-07-28 18:30:35 +02:00
Frank
a4205f3440 [Feature] Helper for Roman Numerals 2022-07-28 18:29:49 +02:00
Frank
3b3c0249d2 [Feature] AlloyingRecipe 2022-07-28 18:29:33 +02:00
Frank
24c3b8aed1 Use Intrinsic Proxying instead of Override (https://github.com/SpongePowered/Mixin/wiki/Introduction-to-Mixins---Overwriting-Methods#2-intrinsic-proxy-methods, #28) 2022-07-28 12:58:31 +02:00
Frank
dcdaf4838d Dependency Bump 2022-07-27 00:29:02 +02:00
Frank
0edcd7971f Removed additional logging 2022-07-27 00:28:08 +02:00
Frank
12abe35dcf [Feature] Fuel API (quiqueck/BetterEnd#41) 2022-07-27 00:04:12 +02:00
Frank
abf24a41da [Fix] BCLRecipManager could generate Recipes with empty material List or Result (quiqueck/BetterEnd#41) 2022-07-26 21:30:14 +02:00
Frank
de84eb0f87 Version Bump 2022-07-26 19:37:03 +02:00
Frank
74c3495e8f make sure dev-versions do not trigger the udater screen 2022-07-26 18:26:41 +02:00
Frank
42fa776320 Changes to sopport proper Block-Tags for Workstations (#39) 2022-07-26 18:22:57 +02:00
Frank
29cf285f09 [Change] /bclib dump_datapack without reflection (quiqueck/BetterNether#41) 2022-07-26 13:26:22 +02:00
Frank
799018222c Improved WorldSetupScreen 2022-07-23 00:58:51 +02:00
Frank
461dcd9a8a Make sure we open on RenderThread 2022-07-22 20:31:49 +02:00
Frank
5dc7d357ac Changed Updater Icon handling 2022-07-22 20:08:45 +02:00
Frank
b99761318b Added Updater Icon 2022-07-22 19:48:55 +02:00
Frank
dca9817c17 [Feature] Updater Icons from Entrypoints 2022-07-22 18:41:06 +02:00
Frank
bcd64b87b7 More Welcome Options 2022-07-22 17:48:54 +02:00
Frank
a7efcd25ba Config Optimizations 2022-07-22 01:23:30 +02:00
Frank
9cb54346a2 Run Version Check only on clients 2022-07-22 00:24:57 +02:00
Frank
69d472d107 [Feature] Update Checker 2022-07-22 00:17:25 +02:00
Frank
2ef9e51ef1 updated ignores 2022-07-22 00:14:53 +02:00
Frank
2d997c53ce [Changes] Converted Screens to new Layout Engine 2022-07-21 22:43:08 +02:00
Frank
96bfdc5afa [Feature] openLink Helper Method 2022-07-21 19:08:13 +02:00
Frank
4c0ddad9aa Adjustes Clip-Rect Size 2022-07-21 19:07:49 +02:00
Frank
97dc53e4d9 [Fix] onBreak for Elytra was not initialized with default behaviour 2022-07-21 14:03:39 +02:00
Frank
e31226ae49 Have Elytra tick function separated. 2022-07-21 14:02:58 +02:00
Frank
9f75cbde1b [Change] Stricter Generics for RecipeManager 2022-07-21 13:30:04 +02:00
Frank
1628ac9a86 [Feature] Add Tag to Fisherman Workstation POI (quiqueck/BetterNether#39) 2022-07-21 12:12:50 +02:00
Frank
5ac1eed54e [Feature] Identify POI by BlockTags 2022-07-21 12:11:39 +02:00
Frank
c622afc549 Disabled Test Screen 2022-07-20 01:28:09 +02:00
Frank
cb1986a1fa Finished new End-Settings for WorldEdit Screen 2022-07-20 01:23:47 +02:00
Frank
7546efe097 Fixed Scrolling issue on Tabbed Screen 2022-07-20 00:54:14 +02:00
Frank
8d0f312dc5 [Feature] UI for enhanced End-Configuration 2022-07-20 00:40:47 +02:00
Frank
d19123c949 [Feature] Container and Tabs Components 2022-07-20 00:40:16 +02:00
Frank
200385c73e More flexible Line Separators 2022-07-19 19:56:22 +02:00
Frank
fab4107dbe [Feature] Line Seperators 2022-07-19 19:48:37 +02:00
Frank
20c89735ce [Fix] Odd scroll/focus interaction 2022-07-19 19:39:08 +02:00
Frank
8c0372e4bc [Fix] Hover did no longer change 2022-07-19 18:06:19 +02:00
Frank
0a940d3e20 [Feature] Text input and Color Picker 2022-07-19 17:36:58 +02:00
Frank
bbce498129 [Change] css style hex parsing 2022-07-19 17:09:51 +02:00
Frank
522c59e5a7 [Change] Support for Mouse Scrolling 2022-07-19 15:11:32 +02:00
Frank
cee7a6daa5 [Fix] Mouse Coordinates did not propagate correct 2022-07-19 15:03:32 +02:00
Frank
a30e2ccd21 Version Bump 2022-07-17 02:43:29 +02:00
Frank
e7c90b3521 [Fix] RecordItem constructor reflection fails on Quilt 2022-07-17 01:57:02 +02:00
Frank
4aed7c6285 Some refactoring 2022-07-17 01:21:33 +02:00
Frank
ef34bc9981 Some helpers 2022-07-16 14:01:44 +02:00
Frank
e33fa75716 Do nnt allow mouse events outside of visible region 2022-07-16 14:01:31 +02:00
Frank
bebd7e1c70 [Change] Migrated ModMenu Screen to new Layout Engine 2022-07-16 13:55:02 +02:00
Frank
399a2c8a4e [Fix] WorldPresets are not decoded right 2022-07-16 10:21:28 +02:00
Frank
c1421c1564 Use actual config screen 2022-07-16 09:55:29 +02:00
Frank
5990a085a6 Multiline Text 2022-07-15 16:31:59 +02:00
Frank
ae9af06dba Moved ColorUtil 2022-07-15 16:09:43 +02:00
Frank
877489c469 Image Component 2022-07-15 15:47:56 +02:00
Frank
51da03f3c8 Padding settings 2022-07-15 15:02:34 +02:00
Frank
67d21f3fba Scroller with correct clipping 2022-07-15 14:52:35 +02:00
Frank
472aa16967 Simple Text Component 2022-07-15 13:36:00 +02:00
Frank
c5ecd19823 Started simple Text Component 2022-07-15 12:56:04 +02:00
Frank
ecb6ca1586 added NullRenderer 2022-07-15 12:55:53 +02:00
Frank
06d7848e30 Origin for Panel 2022-07-15 12:29:47 +02:00
Frank
0c8ad6896a Added Client Env 2022-07-15 12:29:38 +02:00
Frank
5b4ecbfa3b Added Checkbox 2022-07-15 11:25:35 +02:00
Frank
5637de6ac6 Some fixes for floating point formatting 2022-07-15 10:40:23 +02:00
Frank
ef38a9888b Added a Range Component 2022-07-15 10:26:10 +02:00
Frank
d420045de8 Some Refactoring 2022-07-15 10:26:00 +02:00
Frank
170b3e5096 Common class for Vanilla Components 2022-07-15 09:18:59 +02:00
Frank
43324ba5e9 Renamed 2022-07-15 08:17:37 +02:00
Frank
1ceccb2685 Common BaseType for Stacks 2022-07-15 08:13:24 +02:00
Frank
00509c03b2 Marked classes as client only 2022-07-15 02:49:30 +02:00
Frank
40af0b9ea8 Removed MouseEvent 2022-07-15 02:49:16 +02:00
Frank
ca81b5a720 Fixed Hover Rendering 2022-07-15 02:45:08 +02:00
Frank
399d9820d4 Updated Event Handling 2022-07-15 02:03:18 +02:00
Frank
20c19444f2 Event Handling 2022-07-15 01:43:17 +02:00
Frank
4894f5602c Added Test Screen 2022-07-15 00:57:29 +02:00
Frank
7806fd4209 Added Button renderer 2022-07-15 00:57:21 +02:00
Frank
0480ad3872 Added Empty space 2022-07-15 00:57:05 +02:00
Frank
665a9d2c27 More flexibility for placement 2022-07-15 00:56:45 +02:00
Frank
f89035f9f3 [Feature] New Layout Engine 2022-07-14 22:07:40 +02:00
Frank
42fed7b3a0 Merge remote-tracking branch 'origin/1.19' into 1.19 2022-07-13 17:24:03 +02:00
Frank
5d5442344c [Change] Prepared RecordItems handling for 1.19.1 2022-07-13 17:23:47 +02:00
Frank
d2097fbbe6 Version Bump 2022-07-12 17:36:03 +02:00
Frank
353614cdaf [Fix] Crash when BYG is installed 2022-07-12 17:30:02 +02:00
Frank
1f712d9493 Version Bump 2022-07-12 16:46:36 +02:00
Frank
eda6ea6d67 [Fix] Adding world specific data to global registry 2022-07-12 16:20:01 +02:00
Frank
69cd398af4 More Memory 2022-07-12 16:19:14 +02:00
Frank
1200a6daaf [Fix] WorldsTogether data was not properly initialized 2022-07-12 12:27:04 +02:00
Frank
86c2ff6129 Version Bump 2022-07-11 23:15:14 +02:00
Frank
02d7f746e9 [Fix] Removed duplicate hopper recipe entry 2022-07-10 22:45:37 +02:00
Frank
ec550a12ab Version Bump 2022-07-10 03:50:17 +02:00
Frank
6b09a39b95 [Change] No special case for BetterEnd in BiomeSource 2022-07-10 03:49:01 +02:00
Frank
91d7931010 [Fix] Small End Biomes do not generate if BetterEnd is not present 2022-07-10 03:15:45 +02:00
Frank
708c0ff38f [Fix] All Biome Modifications are applied only to End Biomes 2022-07-10 02:54:36 +02:00
Frank
a304fedb69 Bump Version 2022-07-10 02:02:48 +02:00
Frank
f6aa62547f [Feature] /bclib print dimensions command 2022-07-10 01:06:22 +02:00
Frank
8f9c33e378 Better logging 2022-07-10 00:26:07 +02:00
Frank
a988083417 Make sure biome sources get rebuild if the geneator version changes 2022-07-10 00:25:51 +02:00
Frank
9f36264090 Disabled extra vanilla override code 2022-07-09 23:37:57 +02:00
Frank
4732aa7ff8 Make sure all Biomes are merged 2022-07-09 23:27:04 +02:00
Frank
080541345c Codec for SurfaceMaterialProvider 2022-07-09 05:13:03 +02:00
Frank
c56c15fc02 Handling for Datapack overrides (#20) 2022-07-09 04:38:57 +02:00
Frank
72e8d8ff0f [Fix] Make sure WorldPresets are loaded with corresponding Mod-Data (#20) 2022-07-09 04:22:25 +02:00
Frank
e7df54bb5b [Fix] Default World-Type on World creation screen does not include modded dimension data (#20) 2022-07-09 00:17:17 +02:00
Frank
13acf48894 [Fix] Modded WorldGenSettings are not properly loaded for new Worlds (#20) 2022-07-08 23:23:51 +02:00
Frank
5fd087d8b7 Fixed crash with assume abstract BiomeSources 2022-07-08 17:02:39 +02:00
Frank
92ff27f2f8 Fixed broken javaDoc links 2022-07-08 01:25:28 +02:00
Frank
beb2d97304 Simplified BiomeDecider 2022-07-08 00:38:35 +02:00
Frank
c4077a42fd [Fix] WeightedList does not always return a value 2022-07-08 00:13:07 +02:00
Frank
8861c0645f [Feature] More flexible/extensible End-Biome Placement 2022-07-08 00:12:39 +02:00
Frank
0a75eb0c5d Serialize Cave Features 2022-07-07 19:33:55 +02:00
Frank
020b8880e1 [Feature] Reconfigure default WorldPresets if Nullscape (Mod Version) is present 2022-07-07 19:33:32 +02:00
Frank
32e7ffec69 [Change] BCLBiome Data is managed in a Datapack-Aware registry now 2022-07-07 18:53:08 +02:00
Frank
94c08e79b2 [Fix] Make sure biomes marked for ignore are not added to the end biome source 2022-07-05 19:14:56 +02:00
Frank
85e1d35496 Strict separation of worldpreset code from rest of bclib 2022-07-05 17:42:56 +02:00
Frank
a73bd23ddf [Fix] DataPack Biomes from other mods are loaded after the WorldStem was first built. Our Biomes-Sources would not recognize that change (#16) 2022-07-04 00:54:41 +02:00
Frank
3b0f609776 [Fix] Do not implicitly add keys to Biome registry (#16) 2022-07-03 23:37:35 +02:00
Frank
de94a808d0 [Feature] Flag End Biomes as ignored for picking 2022-07-03 23:29:31 +02:00
Frank
faa347c5bb Seed changes are not supported 2022-07-03 22:25:55 +02:00
Frank
bb928d5feb [Fix] RandomSource was not Thread-Safe (quiqueck/BetterEnd#29) 2022-07-03 22:21:48 +02:00
Frank
44a008bcf0 Some renaming 2022-07-03 22:15:54 +02:00
Frank
9b537683ea Changed wording 2022-07-03 22:15:12 +02:00
Frank
5bf8c4d669 [Fix] unbound biomes are valid 2022-07-03 22:14:54 +02:00
Frank
1186e962f6 [Fix] End Biomes without type are ignored (quiqueck/BetterEnd#29) 2022-07-03 21:57:41 +02:00
Frank
7d3ef6c756 Make sure default level-type in server-properties is betterx 2022-07-03 19:52:00 +02:00
Frank
e670fea21a Allow server to disable the forced preset override 2022-07-03 19:51:18 +02:00
Frank
910314a1e8 Make sure MainMixin is called early 2022-07-03 19:50:24 +02:00
Frank
f80c12f796 Removed deprecated config values 2022-07-03 19:50:05 +02:00
Frank
3be3fdd2ea No local var 2022-07-03 19:49:22 +02:00
Frank
f0fdcdba05 Removed debug logging 2022-07-03 15:08:43 +02:00
Frank
82023316c6 Added forgotten rebuild 2022-07-03 15:01:29 +02:00
Frank
c042d00c23 [Features] End Source has fallbacks if barrens/voids or center Biomes are missing 2022-07-03 14:57:19 +02:00
Frank
e0f8cb24b6 [Fix] Endless chung generation if picker is empty 2022-07-03 14:52:20 +02:00
Frank
25948c7c6b restored getBiome() name for backward compatibility 2022-07-03 13:42:15 +02:00
Frank
b3c58b42e9 [Fix] Dimension height is not updated for repaired BiomeSources (quiqueck/BetterEnd#28) 2022-07-03 13:36:24 +02:00
Frank
0eb857e293 Reformated 2022-07-03 12:55:27 +02:00
Frank
102db44595 [Change] Added old End Biome-tag 2022-07-03 12:54:42 +02:00
Frank
3e81071b96 [Change] BCLBiome is no longer a wrapper around a Biome-Instance but references the Biome by ResourceKey
[Fix] Crash with Promenade (#15)
2022-07-03 12:42:30 +02:00
Frank
89737d5f6c [Fix] End BiomeSource would contain exlcuded biomes in the possibleBiomes list 2022-07-02 20:16:48 +02:00
Frank
2bfb7a0687 [Fix] getExcludeMatching just returns Biomes that have the exact type 2022-07-02 20:16:17 +02:00
Frank
204f60174b Version Update 2022-07-02 20:07:05 +02:00
Frank
c9baae0724 Fixed JavaDoc 2022-07-02 20:06:10 +02:00
Frank
85f1d7b1e4 [Change] Moved Nether Config Settings to BiomeSource-Config 2022-07-02 20:04:31 +02:00
Frank
d6cf5a6cd9 More frequent cash dumps 2022-07-02 19:40:09 +02:00
Frank
a3aae4c016 Corrected defult values 2022-07-02 19:39:25 +02:00
Frank
600bb6f9ac [Fix] Crash when erroding 2022-07-02 19:38:45 +02:00
Frank
e35fe997c1 [Change] Change handling of End Biomes once more. (EndSource will consider Barrens and MainIsland biomes as well now) 2022-07-02 14:33:52 +02:00
Frank
e411dc10d9 [Fix] Edge Biomes are never selected when only a single biome is available 2022-07-02 14:33:00 +02:00
Frank
90d0c191f5 Version update 2022-07-01 22:29:21 +02:00
Frank
c5c61a11fd [Fix] Handling of vanilla/fabric End Biomes 2022-07-01 20:00:46 +02:00
Frank
aaba0cec25 Changed visibility 2022-07-01 16:54:02 +02:00
Frank
b1e21b097b Some Cleanup 2022-07-01 12:49:35 +02:00
Frank
9e3dbbec76 Some Cleanup 2022-07-01 12:49:22 +02:00
Frank
b045627030 Disabled loging 2022-07-01 02:23:30 +02:00
Frank
598d8f790b Find actual cover block state 2022-07-01 02:20:22 +02:00
Frank
0e0b7a5f51 [Feature] Ability to erode Template Structures 2022-07-01 01:42:03 +02:00
Frank
65e9140812 Version Update 2022-07-01 00:10:26 +02:00
Frank
2f6091f9d3 Version Update 2022-06-30 23:46:14 +02:00
Frank
f83648a099 [Change] RandomSpreadStructurePlacement salt calculation 2022-06-30 23:37:41 +02:00
Frank
ae5b3e1417 [Change] Improved Placement of Template Structure 2022-06-30 23:30:55 +02:00
Frank
37a26f25bb [Change] Basalt no longer counts as terrain 2022-06-30 23:15:26 +02:00
Frank
44a65e8bae [Change] Wall Search can end inside wall 2022-06-30 19:50:46 +02:00
Frank
e3b3ea7872 [Fix] Placing Facing Blocks 2022-06-30 19:50:24 +02:00
Frank
3f04b85565 [Feature] Parameter to change fog density 2022-06-30 18:28:16 +02:00
Frank
1de4db3cde [Change] Refactored Plant API 2022-06-30 17:51:44 +02:00
Frank
d5cf63427b [Fix] Barrel Plays closing sound early (/quiqueck/BetterEnd#20, paulevsGitch/EdenRing#41) 2022-06-30 14:51:10 +02:00
Frank
59756e6dca Better Abstraction from internal FAPI (#2, FabricMC/fabric#2369) 2022-06-30 13:53:19 +02:00
Frank
185453b0c4 Use key-based detection of End-Biomes (#11) 2022-06-30 13:52:34 +02:00
Frank
473ed9a165 [Fix] Disabled Biomes can crash BiomePicker (#7) 2022-06-30 11:46:05 +02:00
Frank
600aa50212 [Fix] Hammer in first slot gets consumed by Recipe (BetterEnd/issues#17) 2022-06-30 11:23:24 +02:00
Frank
4c54e6de31 Version Update 2022-06-30 09:53:14 +02:00
Frank
dd27373063 [Change] WorldPreset automatically sets DEFAULT to first registered Preset 2022-06-30 09:52:04 +02:00
Frank
e70823a587 [Fix] Use of non-ThreadSafe Random source (quiqueck/BetterEnd#15) 2022-06-30 09:38:20 +02:00
Frank
a6218a1da3 Latest FAPI 2022-06-30 09:19:55 +02:00
Frank
278d8c6201 [Fix] Make PresetEditorMixin a clientside Mixin (#8) 2022-06-30 08:56:54 +02:00
Frank
8850752f25 Dependency Example 2022-06-30 08:18:45 +02:00
Frank
74e465a68c Removed unneeded Mixin 2022-06-30 08:13:30 +02:00
Frank
b37399523a [Fix] Boookshelf not recognized 2022-06-30 08:04:55 +02:00
Frank
4367babec5 Marked Deprecated API 2022-06-29 00:54:56 +02:00
Frank
5d85595c5a More Feature Refactoring 2022-06-28 23:19:03 +02:00
Frank
c1d5ca7b9b Feature Builder for Random Feature Select 2022-06-27 01:04:57 +02:00
Frank
717f220af1 Mycelium Predicat 2022-06-26 11:49:42 +02:00
Frank
9d6bf741e3 Removed duplicate initialization of Tags 2022-06-25 20:57:15 +02:00
Frank
52e1db4551 Fixed Type for ITEMS TagRegistry 2022-06-25 20:54:35 +02:00
Frank
08d155c4d3 Fixed annotations for Named Tags 2022-06-25 20:54:21 +02:00
Frank
35918240f9 [Change] Disabled feature sorting (appears to conflict with other mods) 2022-06-25 20:36:24 +02:00
Frank
4dc07f6567 New event for finalizing ChunkGenerators 2022-06-25 20:35:42 +02:00
Frank
14443761d7 Fixed missing import 2022-06-25 19:15:40 +02:00
Frank
2f4f71b83a [Fix] Game hangs if BiomePicker has no Biomes 2022-06-25 19:15:08 +02:00
Frank
f1afb99b38 Disabled Debug Code 2022-06-25 19:14:38 +02:00
Frank
f007bcfa31 New Configurations for PillarFeature 2022-06-25 11:49:49 +02:00
Frank
cb5852b841 [Fix] Incorrect Offset for BasePlantBlock 2022-06-25 11:22:07 +02:00
Frank
decaf4af7a Additions for BetterNether 2022-06-25 02:02:58 +02:00
Frank
4307c11aab [Fix] Search for Vertical surfaces stays in Chunk (quiqueck/BetterNether#6) 2022-06-25 01:25:32 +02:00
Frank
eb2d25ce11 [Fix] Wrong method name for terrainAdjustments 2022-06-25 01:24:22 +02:00
Frank
f07a651279 Debug Helpers 2022-06-25 01:24:03 +02:00
Frank
6b2c997baf Updated Flooded Deltas 2022-06-24 22:23:26 +02:00
Frank
066153bbab Fixed Build for 1.19 2022-06-24 20:46:05 +02:00
quiqueck
4d6072ed36 Version Updates 2022-06-24 20:37:24 +02:00
quiqueck
cdbc6a6fcb Updated in preparation for 1.19.1 2022-06-24 20:36:56 +02:00
Frank
fcb91b25e0 Additional Accessor 2022-06-24 10:59:07 +02:00
Frank
03a94d544d [Fix] Crash when world preset is loaded before registries were ready 2022-06-24 03:10:40 +02:00
Frank
a064f2d6bb Upgrade older world presets 2022-06-24 03:04:35 +02:00
Frank
427d6dbdfd Disabled test Biomes 2022-06-24 02:15:55 +02:00
Frank
fb19ebaae6 Removed WorldPresetSettings 2022-06-24 01:56:25 +02:00
Frank
877691011f [Change] WorldPresets are configured through BiomeSources 2022-06-23 23:48:36 +02:00
Frank
2a03b46a98 Load WorldPresets from Dataset when world is created in UI 2022-06-22 13:40:24 +02:00
Frank
ec764f99e6 Tweaks to Surface Rule application 2022-06-22 01:09:58 +02:00
Frank
e1883409fa Change Surface Rules later to catch Biomes added by FAPI 2022-06-22 00:54:15 +02:00
Frank
fc280cac4c Minor Log-output change 2022-06-22 00:13:47 +02:00
Frank
524f274b18 Removed DEBUG file 2022-06-22 00:02:25 +02:00
Frank
cc36c090a1 [Changes] Cleanup of old SurfaceRule code 2022-06-22 00:00:38 +02:00
Frank
da1d4c6b40 [Feature] New Registry for Surface Rules 2022-06-21 20:41:26 +02:00
Frank
3725fbb029 Replaced deprecated method 2022-06-21 19:36:11 +02:00
Frank
c2e5096056 Moved Tag API to version directory 2022-06-21 19:26:14 +02:00
Frank
ecb0f6fb99 Smaller Changes to new API 2022-06-21 19:24:56 +02:00
Frank
70b01dc00e [fix] Make sure we can have large distances 2022-06-21 18:44:05 +02:00
Frank
057e6de3de Re-Added carelessly removed function 2022-06-21 18:43:30 +02:00
Frank
184f3a6448 [Change] Moved and refactored Tag-API 2022-06-21 18:19:10 +02:00
Frank
25fa53541f [Change] Separated all World-Load related code to a new namespace 2022-06-21 16:42:46 +02:00
Frank
67d09676c4 Changed Default 2022-06-20 02:02:55 +02:00
Frank
78c85b5b8b Void balancing 2022-06-20 01:54:06 +02:00
Frank
a651cb932e [Feature] Setting to disable void Biomes 2022-06-20 01:40:46 +02:00
Frank
def4fc3566 [Feature] Auto Detect End-Datapacks and disable custom Terrain Generation 2022-06-20 01:06:50 +02:00
Frank
c93a942eee Add vanillas Dragon-Immune-Tag 2022-06-19 23:31:41 +02:00
Frank
586485fe48 Correct handling of WorldPreset Settings from UI 2022-06-19 23:25:44 +02:00
Frank
73cd08fa69 Non default Terrain Heights for EndBiomeSource 2022-06-19 22:06:25 +02:00
Frank
35b968eb93 Removed unneeded call 2022-06-19 20:45:23 +02:00
Frank
c74b7b2d28 WorldPreset serialization and better structure for BiomeGenerator builder; 2022-06-19 19:59:29 +02:00
Frank
d63d773bb8 New Feature Types for builder 2022-06-19 01:08:15 +02:00
Frank
8a41656182 Started Magma Land Migration 2022-06-18 20:30:51 +02:00
Frank
a1d6de908c Enhanced new Feature Builders. 2022-06-18 17:42:31 +02:00
Frank
c4875b992a Some more changes to placements 2022-06-17 23:32:19 +02:00
Frank
d3b6fa7d80 Version Update 2022-06-16 15:17:59 +02:00
Frank
093f3bb21a Version Update 2022-06-16 15:14:22 +02:00
Frank
f72081620a Changed handling of vanilla/fabric end biomes 2022-06-14 14:29:50 +02:00
Frank
7c810cd3a7 [Fix] Crashes with FABI 0.56 (#4) 2022-06-14 11:58:41 +02:00
Frank
90cfcaa6c4 Latest FAPI 2022-06-14 11:36:56 +02:00
Frank
c6d7050651 Minor Changes 2022-06-12 03:12:09 +02:00
Frank
e850173d9e [Change] Removed some use of internal FAPI Biome API (#2) 2022-06-12 00:05:48 +02:00
Frank
a83117b8a9 Clean up Biomeset 2022-06-11 20:09:45 +02:00
Frank
2253913c7c More Debug output 2022-06-11 19:52:30 +02:00
Frank
f6d0cc7a38 Make sure null Biomes do not crash 2022-06-11 19:51:01 +02:00
Frank
04fe6d33d7 Fixed endless recursion :( 2022-06-10 23:09:16 +02:00
Frank
b9ee21085b [Feature] Generalized Elytra API to simplify Trinkets integration 2022-06-10 18:24:09 +02:00
Frank
104b87d874 Version Update 2022-06-10 17:26:34 +02:00
Frank
59529c6c94 [Feature] Speed modified Elytra API 2022-06-10 15:10:19 +02:00
Frank
aff1b66e19 better way to check for terrablender 2022-06-10 13:25:17 +02:00
Frank
db25e8e970 Version Updates 2022-06-10 03:52:00 +02:00
Frank
144422cfbc Version update 2022-06-10 03:40:45 +02:00
Frank
bb08368511 [Fix] Biomes from Terrablender have no features 2022-06-10 03:40:04 +02:00
Frank
e49323be93 [Fix] No Features when Terrablender is present 2022-06-10 03:23:01 +02:00
Frank
31ec9c58f2 [Fix] BiomeSource repair with Datapack Biomes does only work for Nether 2022-06-10 01:27:51 +02:00
Frank
e3c7b00758 [Feature] Ensure consisten feature sorting for Biomes from other sources. 2022-06-10 01:23:35 +02:00
Frank
c429ee3a38 [Feature] API to modify speed of DiggerItems 2022-06-09 17:17:12 +02:00
Frank
c346e1df65 Removed Dummy POI 2022-06-09 01:29:14 +02:00
Frank
8eddf9f615 New FAPI Version 2022-06-09 01:28:59 +02:00
Frank
852e5a6abc Reformated 2022-06-08 20:57:21 +02:00
Frank
079b51e3f6 Smaller Layout Change 2022-06-08 20:42:54 +02:00
Frank
722343c103 [Fix] Empty Tags are not created. This also invalidates other dependant tags 2022-06-08 20:33:54 +02:00
Frank
562a1d228a Changed internal file names 2022-06-08 19:59:59 +02:00
Frank
eb3e408613 Version Updated 2022-06-08 19:59:09 +02:00
Frank
393dbb5114 [Feature] WorldDataAPI will keep the previously saved version around. 2022-06-08 19:58:54 +02:00
Frank
47935ccdf5 [Fix] Respect force_include.end_land_biomes 2022-06-08 19:34:50 +02:00
Frank
bd46ba7fb6 [Fix] End Cave Biomes did Spawn on the Surface as regular Biomes 2022-06-08 19:32:20 +02:00
Frank
0c7f2a5b4d Refactored setBiome for 1.19 2022-06-08 19:31:46 +02:00
Frank
1e56418d26 [Fix] World Data API did not attach Mods 2022-06-08 18:53:13 +02:00
Frank
f06bf41fa4 New Attempt at poi API 2022-06-08 17:23:15 +02:00
Frank
74f4708196 [Fix] Reduced Radius for Eternal Portal Search 2022-06-08 16:41:45 +02:00
Frank
c87175159b Merge remote-tracking branch 'upstream/1.19' into 1.19 2022-06-08 14:30:12 +02:00
Frank
b731ba6598 Use POI to find EternalPortalFrame 2022-06-08 14:29:49 +02:00
Frank
8227cf2f6a Updated ParticleType API 2022-06-08 11:57:48 +02:00
Frank
73b20f88c5 BCLib Supported ParticleType handling 2022-06-08 11:34:51 +02:00
Frank
a7ba94a07c Fixed Button Collision (quiqueck/BetterNether#2) 2022-06-08 10:17:59 +02:00
Frank
4d152c596e Disabled REI as it crashes with release 1.19 2022-06-08 01:26:32 +02:00
Frank
29d99fecfe
Update README.md 2022-06-07 23:41:13 +02:00
Frank
af3fca0c41 Updated README.md 2022-06-07 23:30:28 +02:00
Frank
223d35febe Moved Featrues and Included Sculk in TagLists 2022-06-07 23:21:08 +02:00
Frank
261099babd Fixed Bartering LootTable 2022-06-07 22:20:54 +02:00
Frank
f7b4c8a618 ModMenu Version update 2022-06-07 21:26:49 +02:00
Frank
db27e14429 FAPI Version update 2022-06-07 21:24:30 +02:00
Frank
72a707f456 Updated all feature based sapling Growing 2022-06-07 21:23:02 +02:00
Frank
7285ada6d6 Updated Sapling Growing Code 2022-06-07 18:04:28 +02:00
Frank
55d243bf13 Better Sapling Growing Code 2022-06-07 17:46:13 +02:00
Frank
5ebf159965 Using public API for SemanticVersion (paulevsGitch/BCLib#146) 2022-06-07 16:47:25 +02:00
Frank
f6d5f85ec1 Refactored BCLib Package Structure 2022-06-07 16:44:14 +02:00
Frank
c658a24750 Updated Issue Template 2022-06-07 14:46:42 +02:00
Frank
37fbf7eafe
Update README.md 2022-06-07 10:26:14 +02:00
Frank
2ac472f716 UpsideDownForest 2022-06-07 02:39:12 +02:00
Frank
56e63f3ce2 Old Biomes 2022-06-06 23:34:25 +02:00
Frank
505006ed17 NetherSwampland 2022-06-06 15:56:09 +02:00
Frank
b07aec8bb6 Mor COnverted Biomes 2022-06-06 14:55:37 +02:00
Frank
e52230e7e3 Prepared EYE 2022-06-06 03:46:22 +02:00
Frank
0bcfa65f0c Allow BlockStateProviders in ScatterFeature 2022-06-06 03:35:07 +02:00
Frank
c9daf3c5d3 NetherMushroomForest 2022-06-06 02:43:06 +02:00
Frank
f0d1f1e453 Use levels registry access for dump 2022-06-06 01:02:46 +02:00
Frank
db0c89e7e7 Flooded Deltas 2022-06-06 01:00:50 +02:00
Frank
f94a8f158f Debug Commands for BCLib 2022-06-06 00:25:50 +02:00
Frank
97a65a3707 Refactoring and CrimsonPinewood 2022-06-05 17:31:03 +02:00
Frank
90921451dd Features for Crimson Glowing Woods 2022-06-04 14:05:02 +02:00
Frank
4f4ac722b1 Fixed Concurrency Issue 2022-06-04 13:55:49 +02:00
Frank
9496de1438 Updated to RC2 2022-06-04 11:39:27 +02:00
Frank
e2b7f6849a Migrated SoulPlains, MagmaLand and GravelDesert to new Feature style 2022-06-04 02:52:18 +02:00
Frank
c14928ea80 New combined Feature Strategy and Features for BoneReef 2022-06-04 01:43:25 +02:00
Frank
4a95927e1c Features for GravelDesert 2022-06-03 17:30:12 +02:00
Frank
0149b17a1a Fixed ScatterFeature 2022-06-03 16:40:17 +02:00
Frank
51bd560fa0 Merge branch '1.19' of github.com:quiqueck/BCLib into 1.19 2022-06-03 15:38:35 +02:00
Frank
51a0e7cf74 Use BlocksHelper for Terrain 2022-06-03 15:38:00 +02:00
Frank
e7486c8aa4 More Feature Updates 2022-06-03 12:37:34 +02:00
Frank
f82d8b6178 Added Warp Cap Feature 2022-06-03 11:31:56 +02:00
Frank
3a61c4cb86 Code that allows to dump registries to json 2022-06-03 10:15:13 +02:00
Frank
49edee32a8 Moved Classes 2022-06-03 01:34:49 +02:00
Frank
35ce65674b More Placement Balancing 2022-06-03 01:26:24 +02:00
Frank
7b9936af05 Some Feature related fixes 2022-06-03 00:08:26 +02:00
Frank
6adf6486ac More Features and Placement Modifiers 2022-06-02 17:34:20 +02:00
Frank
aa4133fad2 Some placement filters 2022-06-02 11:17:07 +02:00
Frank
4321017c25 Moved Classes 2022-06-02 07:55:43 +02:00
Frank
e05801277e More feature placement options 2022-05-31 19:27:23 +02:00
Frank
3512f82775 Some changes to TemplateFeatures 2022-05-31 18:12:19 +02:00
Frank
2623a817d0 Added StructureBuilder 2022-05-31 17:39:46 +02:00
Frank
359ad3c46b Fixed minor crash 2022-05-31 16:33:16 +02:00
Frank
aede1b6f2b Converted Default Structures 2022-05-31 16:24:50 +02:00
Frank
38f337cd15 Template Structures (but missaligned) 2022-05-31 13:52:08 +02:00
Frank
86a92c560b Make sure biomes are sorted 2022-05-31 09:39:28 +02:00
Frank
9ac0d78d30 Started TemplateStructure class 2022-05-31 00:10:46 +02:00
Frank
95434107ec NBT Feature Handling 2022-05-30 22:37:29 +02:00
Frank
155d3663df Allow Tags to Contain other Tags 2022-05-30 12:18:26 +02:00
Frank
5272861140 Stalagmite Placement 2022-05-29 23:25:54 +02:00
Frank
abe18ae923 Started Feature Migration in BN 2022-05-28 15:06:50 +02:00
Frank
2168787ac2 Store registryaccess Object 2022-05-27 18:20:21 +02:00
Frank
3e41a4630d Make sure BiomeAPI is initialized with the correct registry 2022-05-27 18:12:43 +02:00
Frank
5d970a27ba New bonemeal API (consumers, allows to add any plant/structure) 2022-05-27 17:13:59 +02:00
Frank
d985792cae Skip biomes that are missing in registry (paulevsGitch/BCLib#145) 2022-05-27 17:09:36 +02:00
Frank
50fe9c2342 Small post-init change/fix 2022-05-27 17:07:11 +02:00
Frank
bc565577cb Recipe sorting enhancement (paulevsGitch/BCLib#144) 2022-05-27 17:04:52 +02:00
Frank
3a514f7a78 Tag handling in BiomeBuilder 2022-05-27 17:01:23 +02:00
Frank
f70db44ffd Moved Biome classes 2022-05-27 16:34:32 +02:00
Frank
51ec0596da Added fabric Test Biome 2022-05-27 16:17:17 +02:00
Frank
54b55be51a Small Changes to Surface/Biome API 2022-05-27 16:16:43 +02:00
Frank
b8b12623bf Changes for Biomes from Fabric API 2022-05-27 12:08:19 +02:00
Frank
6c10735874 Disabled Feature Sort (handled differently by vanilla now) 2022-05-27 01:18:49 +02:00
Frank
7dd6d2de2c Moved class 2022-05-27 01:09:29 +02:00
Frank
48afc2efc1 Moved class 2022-05-27 01:09:13 +02:00
Frank
9e4931e1af Make sure all dimensions get checked for new surface rules 2022-05-27 01:06:09 +02:00
Frank
bdf30109f6 Improved SurfaceRule Handling 2022-05-27 00:42:34 +02:00
Frank
e08d85b605 Fixed SignEdit Mixin 2022-05-26 23:54:45 +02:00
Frank
3bc2018333 Moved memeber 2022-05-25 14:03:04 +02:00
Frank
a64e437c3c Code clean 2022-05-25 14:02:03 +02:00
Frank
919e3c25c5 SurfaceRule handling 2022-05-25 14:00:24 +02:00
Frank
7a891d71ee Some fixes 2022-05-25 00:00:19 +02:00
Frank
9d0a640173 Datapack Biome Handling with Custom BiomeSource 2022-05-24 23:42:25 +02:00
Frank
e10994a1e8 Test Dataset 2022-05-24 14:41:20 +02:00
Frank
f0f6d7026a Updated Comment 2022-05-23 01:27:23 +02:00
Frank
f4f2e85432 Create new Generator with settings from DataPack 2022-05-23 01:25:32 +02:00
Frank
781d6d4709 Started DataPack Handling 2022-05-23 01:01:48 +02:00
Frank
dd0c259b56 Functional WorldSetupScreen 2022-05-22 22:44:09 +02:00
Frank
faa20c608e Layout for World customization Screen 2022-05-22 18:40:50 +02:00
Frank
f45eaddde6 Prepared World customization Screen 2022-05-22 17:59:37 +02:00
Frank
7359c64fff Correct World Preset handling 2022-05-22 17:49:46 +02:00
Frank
7466048a22 Minor Update 2022-05-22 12:11:31 +02:00
Frank
0a5a608b7d Introduce BCLChunkGenerator class 2022-05-22 03:26:03 +02:00
Frank
ab0895d48c Make Sure BCLibs Default WorldPreset is applied by default for fresh Clients/Servers 2022-05-21 17:51:49 +02:00
Frank
9f8409ebe0 Sort Custom Presets to Front 2022-05-20 01:59:30 +02:00
Frank
fdc068f6bb Prepared Custom WorldPreset UI 2022-05-20 00:54:18 +02:00
Frank
375eb09bb9 Moved FlatLevelPresets to BCLib and started WorldPresets 2022-05-19 23:32:27 +02:00
Frank
e8dbbffa8e Addressed multiple ToDo's 2022-05-19 23:00:17 +02:00
Frank
c6742982df Fixes for 1.19-pre1 2022-05-19 21:11:51 +02:00
Frank
d533f93113 Added c:is_obsidian Tag for ObsidianBreaker (paulevsGitch/BetterNether#550) 2022-05-19 00:20:46 +02:00
Frank
47b537f65d Small Cleanup 2022-05-19 00:09:46 +02:00
Frank
ace65fa671 Fixed Grup 2022-05-19 00:01:23 +02:00
Frank
3ee10482ab Reorganized Imports/Packages 2022-05-18 23:56:23 +02:00
Frank
cb9459f176 Simplified TagAPI due to changes in 1.18.2 2022-05-18 22:25:38 +02:00
Frank
b84a5a1b5d Fixed Generation Bugs 2022-05-17 22:11:16 +02:00
Frank
5ff00cede0 Fixed some boot-crashes 2022-05-17 21:03:10 +02:00
Frank
558bd7d326 Cave related changes 2022-05-17 20:17:19 +02:00
Frank
a57845f96b Compile-Fixes in BetterEnd 2022-05-17 18:09:43 +02:00
Frank
b6321cec93 Add callback that allows us to modify Biome tags 2022-05-17 02:25:51 +02:00
Frank
aaa0acdd09 Keep Track of Dimension 2022-05-17 01:08:34 +02:00
Frank
45b014cd3c Changed management of actualBiome 2022-05-17 00:32:41 +02:00
Frank
38b8883b6a Re-Added seed in serialization 2022-05-13 20:52:02 +02:00
Frank
dc7a875679 Some simplification for Structure Codec handling 2022-05-13 20:51:42 +02:00
Frank
b7a74e971b Adapted StructureAPI for 1.19 2022-05-13 19:58:15 +02:00
Frank
c7117fa180 Fixed Bug in TextureAtlasMixin 2022-05-13 13:17:12 +02:00
Frank
cb7d8cf53d Changed TagAPI internals to be more flexible 2022-05-13 13:16:59 +02:00
Frank
d4c2909f17 Fixed all compile errors 2022-05-13 03:14:53 +02:00
Frank
fe4b426b5e Added Issue Template 2022-05-13 00:29:33 +02:00
Frank
374c85cb6d Changed Version 2022-05-13 00:29:18 +02:00
Frank
d07afd9b01 Fixed Startup Errors 2022-05-13 00:16:15 +02:00
Frank
05eac6f539 Fixed Compile Errors 2022-05-13 00:05:05 +02:00
Frank
4ba3a71a68 Some minor 1.19 migrations 2022-05-10 19:08:05 +02:00
Frank
50f623477f Version update 2022-05-10 18:43:40 +02:00
paulevsGitch
89440dd9d7 Small enhancements 2022-05-07 07:46:08 +03:00
paulevsGitch
b60d20196f Sign GUI rendering fix 2022-05-06 21:20:53 +03:00
paulevsGitch
0d6d24b748 Remove redundant recipes, books silk touch changes 2022-05-06 17:31:58 +03:00
paulevsGitch
470d4a6c1e Recipe search optimisation 2022-05-06 16:44:43 +03:00
Frank
6a5ba519c8 Fix for fireresistance in BaseSlab 2022-04-28 20:53:44 +02:00
Frank
819039d50d Added fireresistantce to ruby/cincinnasite armor and ruby blocks (#paulevsGitch/BetterNether/issues/531) 2022-04-28 20:25:22 +02:00
paulevsGitch
97d2e6d146 Small mixin fix 2022-04-27 13:15:11 +03:00
paulevsGitch
ab87100187 Removed most redirects, moved Enchantment Table mixin, cleanup 2022-04-27 13:07:28 +03:00
paulevsGitch
be2e206383 Updated version 2022-04-08 20:59:50 +03:00
paulevsGitch
ff7eda1287
Merge pull request #126 from paulevsGitch/1.18.2
1.18.2
2022-04-08 20:55:01 +03:00
Frank
ea999a9ba5 Fixed initial runtime crashes in BetterEnd 2022-04-08 18:17:14 +02:00
Frank
c057ca3e99 Fixed Disc Registry 2022-04-08 17:59:06 +02:00
Frank
dee3e89b3b Changed Hammer Tool handling 2022-04-08 17:32:13 +02:00
Frank
a24e03e411 Updated Fabric-API 2022-04-08 16:42:28 +02:00
Frank
a52f46a933 Generalized Version again... 2022-04-08 16:38:28 +02:00
Frank
cdb7b305d9 Possible fix for anvil crash (#116) 2022-04-08 16:38:13 +02:00
Frank
4b550b9e69 Biome, Structure and Feature fixes 2022-04-03 23:45:19 +02:00
Frank
0e1627958a More Tag Related Changes 2022-04-03 22:51:05 +02:00
paulevsGitch
1fd01a5113
Merge pull request #119 from Slarper/main
Fixed potential charset bug
2022-03-26 16:36:47 +03:00
Slarper
8f0b52a1fe
Merge branch 'paulevsGitch:main' into main 2022-03-26 11:52:34 +08:00
SpaceTeleport
0568510a88 Fixed potential charset bug again.
These may cause annoying garbled characters in the future so that I fixed them as bugs.
2022-03-26 11:51:30 +08:00
paulevsGitch
57fdcafb6f
Merge pull request #118 from Slarper/main
fixed potential decoding bug.
2022-03-26 03:45:28 +03:00
SpaceTeleport
7dc316e7e4 fixed potential charset bug. 2022-03-26 00:55:26 +08:00
Frank
ecc792ed9a Version fixes 2022-03-21 18:14:28 +01:00
Frank
c783d007b1 Fixed MultiPackResourceManagerMixin 2022-03-18 20:44:50 +01:00
Frank
12a8b0c23a Fixed TollTip Layout 2022-03-18 20:20:44 +01:00
Frank
5a30e60d31 Added Tooltips that tell players what type of ground they can place vegetation on. 2022-03-18 19:18:09 +01:00
Frank
a9c9a7359b Confirmed some fixes related to BN 2022-03-18 16:03:45 +01:00
Frank
61f9854cd5 Some mining/drop related fixes 2022-03-18 15:34:18 +01:00
Frank
a2acd50658 Some cleanup 2022-03-18 14:44:39 +01:00
Frank
5f17127ba5 New Interfaces to handle MineableTags for Blocks 2022-03-18 14:44:27 +01:00
Frank
7e981ca1d9 Fixes for SurfaceRules and Feature code cleanup 2022-03-18 01:40:17 +01:00
Frank
4f7d0939e3 Fixes BetterNether runtime crashes 2022-03-17 23:52:46 +01:00
Frank
443042c6ef Fixes for Nether Features, Structures and Commands 2022-03-17 22:05:45 +01:00
Frank
d817a69ae7 Fixes for Entities, Structures and Features 2022-03-17 21:20:15 +01:00
Frank
6bb218416f Versions and Dependencies for 1.18.2 2022-03-17 17:47:00 +01:00
Frank
03eda716fe Added BiomeTag handling 2022-03-17 17:40:28 +01:00
Frank
7cb0d5de6c Fixed BiomeSource registration error 2022-03-17 17:26:26 +01:00
Frank
e2c4f91f58 Fixed mixin errors 2022-03-17 17:19:26 +01:00
Frank
824e78abf7 Fixed compiler errors 2022-03-17 17:05:59 +01:00
Frank
6c015a9a53 More BiomeSource related fixes 2022-03-14 17:23:57 +01:00
Frank
2eccb1cb9e Fixes to BiomeSources 2022-03-14 17:00:44 +01:00
Frank
ff70a2b1a8 Changes related to Biome-Holders and Features 2022-03-14 16:42:54 +01:00
Frank
86a3480ce0 Added first test code for new StructreFeature building 2022-03-08 22:02:24 +01:00
Frank
3c746a8dc4 Collected some info about new Feature System 2022-03-08 21:27:21 +01:00
Frank
305ac05ac1 Some more Changes for 1.18.2 2022-03-08 21:26:34 +01:00
Frank
2dbbfe04d8 *WIP:* Adapted TagAPI to new TagKey's 2022-03-08 11:47:32 +01:00
Frank
48db196c7b *WIP:* Started code migration 2022-03-07 22:09:57 +01:00
Frank
557e69080b Updated loom versions for 1.18.2 2022-03-07 20:23:57 +01:00
Frank
65eb31c3e9 Version update 2022-03-04 19:40:10 +01:00
Frank
8100e59baf Make sure TagProvider Interface is processed for items as well 2022-03-04 19:38:56 +01:00
Frank
31ea19552d Make sure Mixins have unique prefix 2022-03-03 13:11:13 +01:00
paulevsGitch
74a156389e Custom fog option (#74) 2022-02-27 20:04:35 +03:00
paulevsGitch
e013f80912 Hashmap fix (#102) 2022-02-17 17:28:41 +03:00
paulevsGitch
39d5f58f0c Static fix 2022-02-16 06:12:38 +03:00
paulevsGitch
de7e7eb4ce Version change 2022-02-15 20:57:19 +03:00
paulevsGitch
b46875599d Hex chunk multithread fix 2022-02-15 20:56:12 +03:00
paulevsGitch
bed87c7d8a Multithread hexmap 2022-02-15 15:03:50 +03:00
paulevsGitch
51e787c57e Hexmap chunk managment enhancements 2022-02-14 19:30:43 +03:00
paulevsGitch
a5c3c97630 Removed static positions from SDF 2022-02-14 15:11:34 +03:00
paulevsGitch
f756673128 Merge remote-tracking branch 'origin/main' 2022-02-14 03:08:12 +03:00
paulevsGitch
1d43176853 Restored proper version 2022-02-14 03:08:03 +03:00
paulevsGitch
29ef9f0eb6
Merge pull request #100 from Q2297045667/patch-1
Create zh_cn.json
2022-02-13 09:00:38 +03:00
Missing_Love
0f26699bc0
Create zh_cn.json 2022-02-13 13:45:09 +08:00
Frank
0c24a03b18 Verbatim Name for BCLib BiomeSources 2022-02-05 14:47:09 +01:00
Frank
7939c4ec2e Make sure mixin accepts all commandline options (#93) 2022-02-05 14:28:00 +01:00
Frank
a8fd496a8b Change order of instance check 2022-02-05 14:18:42 +01:00
Frank
b2ce0c155e Version update 2022-02-05 14:16:11 +01:00
Frank
0ed7fa9dcc Fixed crash for custom Noise Generators (#85) 2022-02-04 17:29:14 +01:00
Frank
513fea6968 Changed method name to make intent clear 2022-02-04 16:32:05 +01:00
Frank
c0ce7f6e35 Make sure Dimensions without BiomeModifications still get Features 2022-02-04 16:28:41 +01:00
Frank
aef34d30da Removed redundant code 2022-02-04 14:31:07 +01:00
Frank
009028624e Don't close file systems (otherwise game will crash) 2022-01-29 17:59:01 +01:00
Frank
89516870c9 Removed Debug output 2022-01-28 17:39:30 +01:00
Frank
96820cff84 Improved Thread Safety in BlocksHelper 2022-01-28 17:31:15 +01:00
Frank
0a438ae0e4 Removed debug code 2022-01-28 16:38:09 +01:00
Frank
7ce674b1f6 Improved Version handling for mod info exchange 2022-01-28 16:28:42 +01:00
Frank
a43c885db6 Dependency Updates 2022-01-27 16:00:14 +01:00
Frank
88dc5e5746 Moved class back to correct location 2022-01-27 15:04:37 +01:00
Frank
b3fba685b7 Merge branch 'main' of github.com-quiqueck:paulevsGitch/BCLib 2022-01-27 14:54:36 +01:00
Frank
726a73bfad Make sure we disable our custom rules if there are none 2022-01-27 14:54:26 +01:00
Frank
41260267c6 Added static method for leave drops 2022-01-27 14:54:14 +01:00
paulevsGitch
d802de90f9 Liquid fog fix (#81), Nether fog config 2022-01-27 14:49:07 +03:00
paulevsGitch
ebba0dde6c Allow enchantment table mixins skip target 2022-01-27 14:05:37 +03:00
Frank
89c5cd215b Merge branch 'main' of github.com-quiqueck:paulevsGitch/BCLib 2022-01-26 17:56:59 +01:00
Frank
baf1e0f4b1 Cleanup and Speed Improvement of SurfaceRules/Structures (paulevsGitch/BetterNether#485, paulevsGitch/BetterEnd#420) 2022-01-26 17:56:54 +01:00
paulevsGitch
23df13bde8 Small shader changes 2022-01-24 10:24:37 +03:00
Frank
01f728c282 Removed missing MixIn 2022-01-23 22:30:57 +01:00
Frank
c3e2c74283 Added missing Tags 2022-01-23 22:28:29 +01:00
Frank
14fcb93e3b Refactored Tag Constants (Pt II) 2022-01-23 21:35:48 +01:00
Frank
fffbc6acc2 Merge branch 'main' of github.com-quiqueck:paulevsGitch/BCLib 2022-01-23 21:34:45 +01:00
Frank
acfeee7b9b Refactored Tag Constants 2022-01-23 21:34:35 +01:00
paulevsGitch
d5bc2de350
Merge pull request #79 from Sushomeister/patch-2
Create uk_ua.json
2022-01-22 17:01:49 +03:00
Sushomeister
db3ed18399
Create uk_ua.json 2022-01-22 15:49:34 +02:00
paulevsGitch
0ff7799785 Shovel API 2022-01-21 18:31:58 +03:00
Frank
ba89751ea8 Added convenience Function 2022-01-21 13:48:46 +01:00
paulevsGitch
db082ef1be Updated Tag API and tag constants 2022-01-21 14:56:37 +03:00
Frank
7ab5377a03 DataFixer Screen did no show up when experimental warning was disabled 2022-01-21 10:05:33 +01:00
Frank
fe5dd3e32e Make Codec IDs local (paulevsGitch/BetterNether#503) 2022-01-20 19:37:29 +01:00
Frank
b53ed9842d Mor work on Codecs for Surface Rules (paulevsGitch/BetterNether#503) 2022-01-20 18:10:15 +01:00
Frank
44517e0749 More Codecs 2022-01-20 03:36:39 +01:00
Frank
7b789ba57a Adding Codecs to Custom SurfaceRules (paulevsGitch/BetterNether#503) 2022-01-20 03:20:01 +01:00
Frank
d78319802d
Merge pull request #73 from quiqueck/feature/TagAPITypeSafety
Type Safety for `TagAPI`
2022-01-17 22:16:15 +01:00
Frank
03635584d6 Use Datapack Loot tables for BaseOrBlocks (paulevsGitch/BetterNether#486) 2022-01-17 22:14:31 +01:00
Frank
75338586ab Merge remote-tracking branch 'upstream/main' into feature/TagAPITypeSafety 2022-01-17 21:52:57 +01:00
Frank
611fb4d50c Ensure that step-features in a BiomeSource are in Sync with our Biome Modifications (paulevsGitch/BetterNether#489) 2022-01-17 21:19:46 +01:00
Frank
5aa06315d4 Fixed sapling drops for base leaves (paulevsGitch/BetterNether#496) 2022-01-17 19:36:38 +01:00
Frank
be3876f8a6 Check Shear Tags in MatchRules (paulevsGitch/BetterNether#497) 2022-01-17 14:47:00 +01:00
Frank
05ed11978d Refactored Biome Config handling (#63) 2022-01-17 14:06:28 +01:00
Frank
b0f6dd6bff Refactored Biome Config handling (#63) 2022-01-17 14:06:22 +01:00
Frank
11985395ae Type Safety for TagAPI 2022-01-17 11:11:08 +01:00
Frank
3584432a96 Added more named vanilla Tags 2022-01-17 10:01:01 +01:00
Frank
a62e3a5980 Added convenience Methods to TagAPI 2022-01-17 09:53:36 +01:00
Frank
49a47de5f8 Change StructureFeatures in WorldData 2022-01-17 00:30:34 +01:00
paulevsGitch
0594b9f420 More enhancements 2022-01-16 16:56:08 +03:00
paulevsGitch
7b96cfee10 Merge remote-tracking branch 'origin/main' 2022-01-16 16:35:48 +03:00
paulevsGitch
be64c38293 TagAPI enhancements 2022-01-16 16:34:15 +03:00
paulevsGitch
4426f74d62
Merge pull request #68 from Sushomeister/patch-1
Update ru_ru.json
2022-01-16 16:24:00 +03:00
paulevsGitch
dfd72b9f1d Removed overwrite 2022-01-16 16:18:14 +03:00
paulevsGitch
b9307183d7 Fixed carver leaking into other biomes 2022-01-14 21:00:38 +03:00
paulevsGitch
f2fd7ab55b REI fix 2022-01-13 19:16:49 +03:00
paulevsGitch
ec61972724 Enhanced Enchantment Menu and Table mixins (#72) 2022-01-13 18:51:59 +03:00
paulevsGitch
8ebcf2352a Added recipes into named map 2022-01-13 15:50:11 +03:00
paulevsGitch
95284640e0 Added recipes into named map 2022-01-13 14:29:09 +03:00
paulevsGitch
fa3e82ed4e Version update 2022-01-13 14:18:44 +03:00
Frank
e53e14eb0e Possible fix for missing Anvil/Furnace Receipes (paulevsGitch/BetterEnd#384, paulevsGitch/BetterEnd#389) 2022-01-11 17:20:54 +01:00
Sushomeister
128aed9a14
Update ru_ru.json 2022-01-08 17:07:31 +02:00
Sushomeister
76c33e9bdd
Update ru_ru.json 2022-01-08 17:06:41 +02:00
paulevsGitch
637a5a25b2 Key check 2022-01-05 04:54:17 +03:00
Frank
11c116618a Merge branch 'main' of github.com:paulevsGitch/BCLib into main 2022-01-03 18:52:20 +01:00
paulevsGitch
013e7d4aa6 Added TODO 2022-01-03 19:48:31 +03:00
paulevsGitch
83d2a578b3 Main config restored 2022-01-03 19:47:02 +03:00
Frank
2568319493 Moved fixBiomeSource back to MainConfig 2022-01-03 17:45:30 +01:00
paulevsGitch
6b156e579a Merge remote-tracking branch 'origin/main' 2022-01-03 19:40:16 +03:00
paulevsGitch
7dd8554aff Separate options for dimensions 2022-01-03 19:40:07 +03:00
Frank
83110b74a5 Pass through Player from Network Messages 2022-01-03 16:06:45 +01:00
Frank
68ca682324 Version Update 2022-01-03 16:06:41 +01:00
paulevsGitch
384fe3a327 Biome source fix enhancements 2022-01-03 07:13:39 +03:00
paulevsGitch
03968ccda3 Removed biome hashmap 2022-01-02 07:49:50 +03:00
paulevsGitch
63946e049d Biome modification fix 2021-12-30 11:44:15 +03:00
paulevsGitch
9622fd393c Merge remote-tracking branch 'origin/main' 2021-12-30 01:27:07 +03:00
paulevsGitch
f9325397ad Version change 2021-12-30 01:26:59 +03:00
paulevsGitch
287b411f88
Merge pull request #62 from mindy15963/patch-2
Update ko_kr.json
2021-12-28 05:45:32 +03:00
E. Kim
192d78e959
Update ko_kr.json 2021-12-27 18:50:08 +09:00
paulevsGitch
9737493069 Larger start fog distance 2021-12-23 21:08:18 +03:00
paulevsGitch
6c18b1e842 Feature fixes 2021-12-23 19:48:51 +03:00
paulevsGitch
6100912627 Small ore fix 2021-12-23 19:34:08 +03:00
paulevsGitch
93d29508a8 Removed more deprecated functions, clenup 2021-12-23 19:22:48 +03:00
paulevsGitch
9a9bf2c6de Removed deprecated functions 2021-12-23 19:21:19 +03:00
paulevsGitch
663b0ef062 Ore placement fix 2021-12-23 19:18:42 +03:00
paulevsGitch
1f246b7d7d Small ore fix 2021-12-23 16:42:47 +03:00
paulevsGitch
971806922d Fixes 2021-12-23 16:15:14 +03:00
paulevsGitch
b03dc50726 Duplicate function fix 2021-12-23 16:13:02 +03:00
paulevsGitch
75a0b3d7d2 Moved erosion code into BE 2021-12-23 10:11:12 +03:00
paulevsGitch
c947af1211 Fog rendering fixes 2021-12-23 09:23:26 +03:00
paulevsGitch
3cb78dd5a5 Small fix 2021-12-23 06:56:12 +03:00
paulevsGitch
8abf92eca7 Biome setters 2021-12-23 06:55:27 +03:00
paulevsGitch
fe8b20dcba Additional builder functions 2021-12-23 06:14:15 +03:00
paulevsGitch
6d279852f0 Terrain height setter 2021-12-23 05:54:31 +03:00
paulevsGitch
717c0d7fb8 Fixed duplicate feature registration X2 2021-12-23 05:10:10 +03:00
paulevsGitch
544af449ee Fixed duplicate feature registration 2021-12-23 04:56:18 +03:00
paulevsGitch
6abf34d8bc Version change 2021-12-23 04:38:46 +03:00
paulevsGitch
8bddd64216 Moved all common features 2021-12-21 21:28:09 +03:00
paulevsGitch
2d8b7fe70a Moved vegetation functions 2021-12-21 21:02:16 +03:00
paulevsGitch
9ae9c318bd Builder count modifiers 2021-12-21 20:49:33 +03:00
paulevsGitch
1150816af2 Merge remote-tracking branch 'origin/main' 2021-12-21 18:44:24 +03:00
paulevsGitch
3cac6cad3d Feature builder prototype 2021-12-21 18:44:17 +03:00
Frank
a27806620f Version update 2021-12-21 15:56:10 +01:00
Frank
c0d186fc9f Merge branch 'main' of github.com:paulevsGitch/BCLib into main 2021-12-21 15:47:06 +01:00
Frank
eb827a58bd Fix for broken surface rules when "experimental world dialog" was disabled 2021-12-21 15:46:58 +01:00
paulevsGitch
3e203d4e47 Small fixes 2021-12-21 17:33:58 +03:00
Frank
f17d7d9d1d Reduced loader depenendecy 2021-12-21 14:21:00 +01:00
Frank
cc202f7e35 Changed dependencies 2021-12-21 11:02:34 +01:00
paulevsGitch
5e88bd3c92 Small fixes 2021-12-20 06:19:09 +03:00
paulevsGitch
7549803896 Possible filter "fix" 2021-12-20 05:42:59 +03:00
paulevsGitch
8809151a8b Feature fixes and enhancements, version change 2021-12-20 04:52:07 +03:00
Frank
572ee609d5 Prepare some common Tags 2021-12-20 00:08:43 +01:00
Frank
a8bb325bfb Add default door tag 2021-12-20 00:02:27 +01:00
Frank
388226efa6 Version update 2021-12-19 22:55:31 +01:00
Frank
e8786eb939 Added air-exposure to ore API 2021-12-18 10:54:24 +01:00
Frank
7594b029c1 javadoc 2021-12-18 03:31:21 +01:00
Frank
e6d481387d More config refinement to ensure configs are not loaded multiple times with different defaults 2021-12-18 03:20:52 +01:00
Frank
f0c77abba6 StringArray in Configs 2021-12-18 03:10:15 +01:00
Frank
61cf9711a6 Minor Refactor 2021-12-18 02:48:49 +01:00
Frank
d738e8ae75 Possible fix for missing Biome configs 2021-12-18 01:31:47 +01:00
Frank
ba7489ee79 New config option to disable the experimental warning screen on level load 2021-12-18 00:51:59 +01:00
Frank
b60df41c6c Fix for crash when biomeSource is not initialized twice (paulevsGitch/BetterNether#468) 2021-12-18 00:51:54 +01:00
Frank
1bb15de385 include ModMenu only on compiler classpath 2021-12-16 17:43:56 +01:00
Frank
72728ffac4 Spelling 2021-12-16 12:42:59 +01:00
Frank
3d45114584 Additional config options 2021-12-16 12:42:21 +01:00
Frank
192a537939 Fixed ModMenu integration (#58) 2021-12-16 11:35:32 +01:00
Frank
08e400ae20 Added ModMenu as build dependency and refactored Integration 2021-12-16 11:34:08 +01:00
paulevsGitch
0d6874085d Merge remote-tracking branch 'origin/main' 2021-12-16 10:45:24 +03:00
paulevsGitch
704112d832 Biome edge in blocks 2021-12-16 10:43:57 +03:00
Frank
3e18eb839f Datapack friendly features 2021-12-16 00:01:27 +01:00
Frank
43f6d72dda Make sure features are applied to the correct biomes 2021-12-15 20:47:57 +01:00
Frank
67d835b59b Loader update 2021-12-15 16:02:34 +01:00
Frank
abd445114f Accept squared distances 2021-12-15 12:01:07 +01:00
Frank
5a0a6d4d3f Merge branch 'main' of github.com-quiqueck:paulevsGitch/BCLib 2021-12-15 11:56:20 +01:00
Frank
81f6de2ac2 Changed priority for filler 2021-12-15 11:56:09 +01:00
paulevsGitch
538003b0c7 Version change 2021-12-15 13:41:25 +03:00
paulevsGitch
294d59a88b Merge remote-tracking branch 'origin/main' 2021-12-15 13:39:54 +03:00
paulevsGitch
75b8257085 Fixed end generator 2021-12-15 13:39:45 +03:00
Frank
79bce94121 Merge branch 'main' of github.com-quiqueck:paulevsGitch/BCLib 2021-12-15 11:35:07 +01:00
Frank
77801986b5 Change Interface for BE 2021-12-15 11:34:29 +01:00
paulevsGitch
d8de624fd1 Recipe fixes, replaced spaces with tabs 2021-12-15 13:08:15 +03:00
Frank
5ca6a92dd0 Updated loader 2021-12-14 13:45:40 +01:00
Frank
23a36a785b Degraded missing BiomeID to a warning 2021-12-14 13:45:21 +01:00
Frank
d14e1c3952 prevent duplicates in cache 2021-12-14 11:06:34 +01:00
Frank
0298ab131f Possible solution for missing features 2021-12-14 09:25:17 +01:00
Frank
0a3be15ff3 Update to surface builder 2021-12-14 00:10:25 +01:00
Frank
7f5e27397c Some changes to surface processing 2021-12-13 21:22:47 +01:00
Frank
4c41bb1764 New Switch Int-State for SurfaceRules 2021-12-13 18:14:23 +01:00
Frank
835f4895b3 Possible fix for missing SurfaceRules in Datapack worlds 2021-12-13 16:33:18 +01:00
Frank
ff49e1325c Fixed ModMenu Integration 2021-12-13 16:10:13 +01:00
Frank
3dc1470085 missing env key does not fail automatically 2021-12-13 12:07:44 +01:00
Frank
60ca138827 Removed debug output 2021-12-12 23:41:38 +01:00
Frank
f38288b2c6 New code to put StructureFetures into datapack configurations 2021-12-12 23:25:38 +01:00
paulevsGitch
dc355679f4 Remove debug string 2021-12-11 19:45:24 +03:00
paulevsGitch
6cb75406cb Vertical biomes distribution prototype 2021-12-11 19:33:53 +03:00
Frank
330530de73 Aded optional Biome repair Fixer 2021-12-10 16:46:02 +01:00
Frank
7439286ae2 Test another jitpack fix 2021-12-10 13:09:23 +01:00
Frank
e6166918fe Version update to 1.18.1 2021-12-10 12:47:55 +01:00
Frank
358c0099dd Prevent entities from spawning if disabled 2021-12-10 00:36:18 +01:00
Frank
5be62802e8 Store additional spawn-information along with an entity 2021-12-10 00:26:09 +01:00
Frank
7292c3cf3a topMaterial handling 2021-12-09 23:00:35 +01:00
Frank
38992bbf93 Updated fabric loader 2021-12-09 22:29:39 +01:00
Frank
32280dc499 SOrt available features before BiomeSOurce is initialized 2021-12-09 22:17:25 +01:00
paulevsGitch
b6bc8acf6b Vertical biomes size config 2021-12-09 12:31:56 +03:00
paulevsGitch
84d465c0f6 Vertical biomes config 2021-12-09 12:20:18 +03:00
paulevsGitch
2f680d4c13 Small format fix 2021-12-09 12:10:31 +03:00
paulevsGitch
9bcd3e6a56 Javadocs fix 2021-12-09 12:09:16 +03:00
paulevsGitch
9d0116b271 Layer distortion 2021-12-09 12:05:44 +03:00
paulevsGitch
595063bf99 MapStack fix 2021-12-09 12:01:53 +03:00
paulevsGitch
0868d8bd2b World height apply 2021-12-09 11:45:12 +03:00
paulevsGitch
60ee68d8d1 Map stack 2021-12-09 11:37:05 +03:00
paulevsGitch
9bde4c11b9 Fix crash with multitread random 2021-12-09 10:06:51 +03:00
Frank
8b89808634 Debug Code 2021-12-09 00:17:22 +01:00
Frank
8db15979a0 Ported old noise generator for double-block biomes 2021-12-09 00:12:13 +01:00
Frank
45a24d4f8e Allow BlockState to set surface 2021-12-08 23:59:26 +01:00
Frank
21368e4e83 Supporting under materials 2021-12-08 23:23:06 +01:00
Frank
e72d1bcff2 Added some helpers for surface blocks 2021-12-08 23:18:59 +01:00
Frank
46af6f07e2 Added simple class for custom noise in SurfaceRules 2021-12-08 19:49:55 +01:00
Frank
28a2ce53fd Added Biome validation check to BCLib 2021-12-08 17:27:47 +01:00
Frank
6e18b633de AccessWideners to enable the use of ConditionSource` 2021-12-08 17:27:05 +01:00
paulevsGitch
19b0cb94fc Fix of duplicating 2021-12-08 18:25:06 +03:00
paulevsGitch
8c7a11ee04 Prevent duplicate features 2021-12-08 17:56:43 +03:00
paulevsGitch
77cc26d548 Feature sorting changes 2021-12-08 17:21:52 +03:00
paulevsGitch
f817981e91 Feature sorting optimisation 2021-12-08 16:14:25 +03:00
Frank
e48e192970 Fixed broken merge 2021-12-08 10:44:37 +01:00
Frank
cf9072cb79 Merge branch 'main' of github.com-quiqueck:paulevsGitch/BCLib 2021-12-08 10:41:09 +01:00
Frank
51f40633bb changed import order? 2021-12-08 10:38:41 +01:00
Frank
a56269a971 make sure feature order is initialized befor first sort 2021-12-08 10:37:42 +01:00
paulevsGitch
dc5769f92b Merge remote-tracking branch 'origin/main' 2021-12-08 11:43:23 +03:00
paulevsGitch
fb3147c6c5 Modded feature sorting 2021-12-08 11:43:15 +03:00
Frank
bbde03c961 Merge branch 'main' of github.com-quiqueck:paulevsGitch/BCLib 2021-12-08 09:38:16 +01:00
Frank
9e115261fb Allow biomes without any entity spawns 2021-12-08 09:37:30 +01:00
paulevsGitch
e09085aa3b Always apply builders 2021-12-08 11:30:18 +03:00
paulevsGitch
ff94bb1a97 Small order fix 2021-12-07 21:19:01 +03:00
paulevsGitch
9ebc7e906f API init 2021-12-07 21:15:40 +03:00
paulevsGitch
cb16ea86b3 Feature sorting 2021-12-07 21:13:15 +03:00
paulevsGitch
ac279c29fc Restored old version (with small fix) 2021-12-07 21:01:06 +03:00
paulevsGitch
178bf6d270 Feature lists 2021-12-07 20:47:33 +03:00
Frank
2191733f37 Merge branch 'main' of github.com-quiqueck:paulevsGitch/BCLib 2021-12-07 18:10:18 +01:00
Frank
38800dd38b Minor changes for BetterEnd 2021-12-07 18:10:08 +01:00
paulevsGitch
b461fe83af Version change 2021-12-07 18:23:53 +03:00
paulevsGitch
1bd7b14785 Biome config fix 2021-12-07 18:23:23 +03:00
paulevsGitch
daf9bd4c9a Cleanup & small fix 2021-12-07 18:20:28 +03:00
paulevsGitch
6d0b9cbf63 Hex map improvements & fixes 2021-12-07 18:16:10 +03:00
Frank
b6875f2c11 Merge branch 'main' of github.com-quiqueck:paulevsGitch/BCLib 2021-12-07 03:13:50 +01:00
Frank
aa2f0f5e8a Additional fixes (paulevs/betternether#449) 2021-12-07 03:13:37 +01:00
Frank
0f66f11628 Code to fix spawner data in structure nbt's 2021-12-07 01:14:25 +01:00
paulevsGitch
2fcfd695f9 Javadocs 2021-12-06 08:15:40 +03:00
paulevsGitch
1f8fd77a46 Biome surface provider 2021-12-06 08:13:50 +03:00
Frank
6adbe5dd04 Merge branch 'main' of github.com-quiqueck:paulevsGitch/BCLib 2021-12-05 11:31:18 +01:00
paulevsGitch
5e7214ff79 Version change 2021-12-05 06:50:44 +03:00
Frank
a724f81091 Fixed MainMixin to manually parse options and start the DataFixer (#55) 2021-12-05 02:11:24 +01:00
Frank
16b5dc3822 Moved WorldPresetMixin to Client Mixins 2021-12-05 02:10:00 +01:00
Frank
49bd5d8f80 Merge branch 'main' of github.com-quiqueck:paulevsGitch/BCLib 2021-12-04 18:41:04 +01:00
Frank
30bc61a43a Minor cleanup 2021-12-04 14:08:54 +01:00
paulevsGitch
6b7996bdf4 Fixed wrong javadoc annotation 2021-12-04 15:44:23 +03:00
paulevsGitch
6907a02141 Merge remote-tracking branch 'origin/main' 2021-12-04 15:42:40 +03:00
paulevsGitch
34e984a8b3 Jitpack possible fix 2021-12-04 15:42:33 +03:00
Frank
1841bad98f Merge branch 'main' of github.com-quiqueck:paulevsGitch/BCLib 2021-12-04 13:36:52 +01:00
Frank
99f55a9b85 More variety for ore placement 2021-12-04 13:36:27 +01:00
paulevsGitch
60251a7b79 Cleanup 2021-12-04 15:32:05 +03:00
paulevsGitch
d983613872 Small changes 2021-12-04 15:30:36 +03:00
paulevsGitch
c82e2900f6 Possible biome surface fix 2021-12-04 15:26:47 +03:00
Frank
3ceb8638d5 Fix for Surface Rules in BCLBiome 2021-12-04 13:15:18 +01:00
Frank
789982a266 Reverted ore chsange in the wrong place 2021-12-04 11:28:24 +01:00
Frank
c0b461d92b readded release build path 2021-12-04 11:25:29 +01:00
Frank
0a160541e2 Fixed build env 2021-12-04 11:24:01 +01:00
Frank
58f1fd8253 Ores are minable by pickaxe 2021-12-04 11:17:17 +01:00
paulevsGitch
0d8130cca7 Fixed javadoc 2021-12-04 12:28:54 +03:00
paulevsGitch
bcee0f2239
Merge pull request #54 from paulevsGitch/1.18
1.18
2021-12-04 12:18:47 +03:00
paulevsGitch
bf1b3917f4 Steep rules & cleanup 2021-12-04 12:15:46 +03:00
paulevsGitch
9609db9f9b Ceiling rules 2021-12-04 12:00:31 +03:00
paulevsGitch
3a06c128ed Surface rule builder fixes 2021-12-04 11:52:58 +03:00
paulevsGitch
8809fa7dbc Tag provider implementation for some blocks 2021-12-04 11:22:19 +03:00
paulevsGitch
7f17e1261c Tag Provider, list to array function, surface builder fix 2021-12-04 11:16:13 +03:00
paulevsGitch
f8eb65d600 Block constructors refactoring and fixes 2021-12-04 10:32:48 +03:00
paulevsGitch
3dacd0727f Block constructors refactoring 2021-12-04 05:46:16 +03:00
paulevsGitch
d6faafd4c0 Removed deprecated code, sapling refactor 2021-12-04 05:22:27 +03:00
paulevsGitch
1af5bf2e2d Javadoc & mixin order fixes 2021-12-03 20:55:19 +03:00
paulevsGitch
1a0cb36739 More rules 2021-12-03 20:54:01 +03:00
paulevsGitch
17ded1bbcc Cleanup, fixes 2021-12-03 20:42:28 +03:00
paulevsGitch
a5e6344cdd Surface rule builder prototype 2021-12-03 20:38:49 +03:00
paulevsGitch
6118dcb2cf Small fix 2021-12-03 20:12:55 +03:00
paulevsGitch
b14cae82ff Surface builder for two blocks 2021-12-03 20:12:18 +03:00
paulevsGitch
ae6c0e9aac Surface builder for two blocks 2021-12-03 20:10:15 +03:00
paulevsGitch
c7ce0b5547 Surface rules API 2021-12-03 18:16:37 +03:00
paulevsGitch
92dae621f1 Surface rule fixes 2021-12-03 17:34:35 +03:00
Frank
699332600b Tets application of surface rules 2021-12-03 15:10:33 +01:00
Frank
d09a3a06df added back surface-Block to BiomeBuilder 2021-12-03 14:59:35 +01:00
Frank
d89b0887c1 Merge branch '1.18' of github.com-quiqueck:paulevsGitch/BCLib into 1.18 2021-12-03 14:44:22 +01:00
Frank
77eba4b33f Minor cleanup for tool breaking behavior 2021-12-03 14:44:14 +01:00
paulevsGitch
113118afbd Small changes 2021-12-03 15:55:02 +03:00
paulevsGitch
d3273f609a Crash fix 2021-12-03 15:45:19 +03:00
paulevsGitch
8e3147f176 Rule source prototype 2021-12-03 15:39:08 +03:00
paulevsGitch
04a4f77e87 Merge remote-tracking branch 'origin/1.18' into 1.18 2021-12-03 14:46:08 +03:00
paulevsGitch
dea05bce0d Biome carvers modifications 2021-12-03 14:46:02 +03:00
Frank
5154513cd4 Use CollectionUtils 2021-12-03 12:34:39 +01:00
Frank
64c3d90458 Merge branch '1.18' of github.com-quiqueck:paulevsGitch/BCLib into 1.18 2021-12-03 12:28:41 +01:00
Frank
6b5348de88 Merge branch '1.18' of github.com-quiqueck:paulevsGitch/BCLib into 1.18 2021-12-03 12:28:37 +01:00
paulevsGitch
14451494ff Biome registry init changes 2021-12-03 14:26:12 +03:00
Frank
e470610294 WIP: No longer using Fabric BiomeModification API for features/structures/spawns 2021-12-03 12:22:00 +01:00
paulevsGitch
db07cd1887 BCL Biome feature adding optimisation 2021-12-03 13:54:07 +03:00
paulevsGitch
8234a1c9dc Biome feature modification fixes 2021-12-03 13:51:36 +03:00
paulevsGitch
eaba9bf698 Collections util 2021-12-03 13:49:42 +03:00
paulevsGitch
39fe678d39 Biome feature adding 2021-12-03 13:44:58 +03:00
Frank
26fa4bb3fd Reverted changes to BiomeModification API 2021-12-03 09:48:55 +01:00
Frank
fb79201b51 Make sure biomes are not modified twice 2021-12-03 03:58:53 +01:00
Frank
298aa47e7c Filter Biomes 2021-12-03 03:16:50 +01:00
Frank
7b64221b55 Different mixin for BiomeModification call 2021-12-03 03:03:10 +01:00
Frank
f5ee249bbb Adding Carvers 2021-12-03 01:54:00 +01:00
Frank
4ac4202555 Fixed ID handling 2021-12-03 01:40:50 +01:00
Frank
c6dc52a60d override for the nether biome generator that is used by BN when older worlds are loaded 2021-12-03 00:31:53 +01:00
Frank
39255e140f New lifecycle hook that is called before the level is loaded 2021-12-03 00:30:55 +01:00
Frank
cd2b4e481e New files on WorldDataAPIdid not get an initial version tag 2021-12-02 23:34:49 +01:00
Frank
81801b3df9 build return-type is actual type of Biome 2021-12-02 22:57:31 +01:00
Frank
750c98c177 Fixed mixin signature 2021-12-02 22:56:55 +01:00
paulevsGitch
97473004a8 Biome Builder structure features 2021-12-02 12:45:35 +03:00
paulevsGitch
1c3696fd02 Prevent random desync 2021-12-02 08:31:42 +03:00
paulevsGitch
31f61f3f37 Biome configuration fix 2021-12-02 05:23:21 +03:00
paulevsGitch
6c2c943b0d Biome generator fix 2021-12-02 04:49:56 +03:00
paulevsGitch
7daf9f614c Hex biome map fixes 2021-12-02 03:34:04 +03:00
paulevsGitch
0bfefa460f Possible hexmap fixes & tests 2021-12-02 01:56:26 +03:00
paulevsGitch
59d2874c1a Custom biome class init 2021-12-02 01:10:55 +03:00
Frank
9f9849d9b0 Make sure we do not crash out 2021-12-01 19:38:57 +01:00
Frank
3801c44aab let Builder add some vanilla features 2021-12-01 18:01:51 +01:00
paulevsGitch
801f9e5a74 Possibility to change biome generator 2021-12-01 15:43:04 +03:00
paulevsGitch
72e29223a1 Small fix, cleanup 2021-12-01 14:52:21 +03:00
paulevsGitch
211d0fc751 Hexagonal biome generator 2021-12-01 14:28:27 +03:00
paulevsGitch
c7c11d0b4c More biome builder functions (generation settings, music) 2021-12-01 13:56:37 +03:00
paulevsGitch
14ab0c878b More biome builder functions (visual effects) 2021-12-01 13:16:59 +03:00
paulevsGitch
7541e39cf9 More biome builder functions (mobs, visual effects) 2021-12-01 12:54:38 +03:00
paulevsGitch
6895d705f8 Moved biome API to all other APIs 2021-12-01 12:35:39 +03:00
paulevsGitch
e1e09c4efa More biome API changes 2021-12-01 12:31:25 +03:00
paulevsGitch
548cedcffe Merge remote-tracking branch 'origin/1.18' into 1.18 2021-12-01 11:15:43 +03:00
paulevsGitch
86dd202ca4 More biome builder functions 2021-12-01 11:15:34 +03:00
Frank
6d0b776649 Merge branch 'oldBiomeGen' into 1.18 2021-12-01 08:54:04 +01:00
Frank
1365339c1e Allow usage of BCLStructureFeature to add Structures 2021-12-01 08:53:14 +01:00
Frank
9a842694dc Merge remote-tracking branch 'origin/oldBiomeGen' into 1.18 2021-12-01 08:33:16 +01:00
Frank
e7b66af02e Added missing TODOs 2021-12-01 08:31:22 +01:00
Frank
161c5ef1f3 Make sure Nether Cities are placed 2021-12-01 07:57:21 +01:00
paulevsGitch
48f4b69a98 BCL Biome cahnges, biome builder (WIP) 2021-12-01 08:37:30 +03:00
paulevsGitch
97ba6b4df1 BCL Biome terrain height (for the End terrain generator) 2021-12-01 07:51:03 +03:00
paulevsGitch
4e1ec1a148 Merge remote-tracking branch 'origin/1.18' into 1.18 2021-12-01 07:41:53 +03:00
paulevsGitch
7a073c6519 Biome API cleanup (removed reduntant functions, style changes, imports cleanup) 2021-12-01 07:41:46 +03:00
Frank
3b672af0f8 Mixin Compat Level 2021-12-01 05:19:31 +01:00
Frank
0b560b6dce Dependency and Version update 2021-12-01 05:08:57 +01:00
Frank
39dda736af Minor improvements 2021-12-01 04:58:13 +01:00
Frank
22bf4384c6 Updated gradle for Java 17 2021-12-01 01:33:33 +01:00
Frank
54f13847b5 First running version of BCLib 2021-12-01 01:33:24 +01:00
Frank
4c1e8273f6 Fixed some more compile issues 2021-12-01 01:12:20 +01:00
Frank
09c67e3e4a Removed StructureToFeatures 2021-12-01 00:15:37 +01:00
Frank
79710dead6 Removed Hydrogen Fix 2021-11-30 23:57:50 +01:00
Frank
85b11f605c Adopting Fabric Biome Modifications 2021-11-30 23:44:27 +01:00
Frank
eb287422aa Adapted BiomeAPI 2021-11-30 23:38:55 +01:00
Frank
99840b8ee2 Fixed BCLFeature 2021-11-30 22:29:58 +01:00
Frank
ddddfa1492 Fixed some mixins 2021-11-30 21:55:35 +01:00
Frank
a8108045d4 Merge branch 'main' into 1.18 2021-11-30 21:42:39 +01:00
Frank
2831882c6d Added back AccessWidener 2021-11-30 21:21:32 +01:00
Frank
53911dfe91 Backportat latest changes from master 2021-11-30 21:15:10 +01:00
paulevsGitch
301701353f Fixed recipe configs 2021-11-30 20:55:05 +03:00
paulevsGitch
8a93be6ba6 Merge branch 'main' of https://github.com/paulevsGitch/BCLib 2021-11-30 20:51:23 +03:00
paulevsGitch
4c576702ed Version change 2021-11-30 20:51:14 +03:00
Frank
af8c3ba6e8 Name change 2021-11-30 17:15:18 +01:00
Frank
c380f1d2dc Removed unneeded test 2021-11-30 16:41:36 +01:00
Frank
0d325f7637 Version and dependency update 2021-11-30 16:27:44 +01:00
Frank
7d04b3c902 Fix issue with immutable list detection 2021-11-30 16:27:22 +01:00
Frank
bfea622998 Revert "Revert "New API to hook into level loading""
This reverts commit bf8368b515.
2021-11-29 17:53:27 +01:00
Frank
bf8368b515 Revert "New API to hook into level loading"
This reverts commit a489655ddd.
2021-11-29 17:47:50 +01:00
paulevsGitch
e4ca217170 More enhancements 2021-11-29 18:50:38 +03:00
paulevsGitch
c734f83c13 BCLFeature enhancements and javadocs 2021-11-29 18:48:04 +03:00
paulevsGitch
2708eb989a Chunk feature changes 2021-11-29 18:27:57 +03:00
Frank
7f95d19bce Removed unneeded line 2021-11-29 14:45:34 +01:00
Frank
1003729208 makeOreFeature does not assuem END_STONE as HostBlock 2021-11-29 14:40:37 +01:00
Frank
c493a30361 Merge branch 'main' of github.com-quiqueck:paulevsGitch/BCLib 2021-11-29 14:31:53 +01:00
Frank
a489655ddd New API to hook into level loading 2021-11-29 14:31:44 +01:00
paulevsGitch
f61845f0c4 Small optimisation 2021-11-29 08:03:25 +03:00
Frank
0e31f9b22e Added DespawnableAnimal 2021-11-28 21:58:38 +01:00
paulevsGitch
cdbeede9f4 Small rule fixes 2021-11-28 19:34:42 +03:00
paulevsGitch
dde1276785 Small fix 2021-11-28 19:29:41 +03:00
paulevsGitch
6f86e33d6c Merge remote-tracking branch 'origin/main' 2021-11-28 17:11:08 +03:00
paulevsGitch
80df11526b Immutable fix 2021-11-28 17:10:59 +03:00
Frank
a50fc71e33 Merge branch 'main' of github.com-quiqueck:paulevsGitch/BCLib 2021-11-28 14:28:01 +01:00
Frank
94055c5454 Corrected Spelling and some Cache IDs 2021-11-28 14:27:45 +01:00
paulevsGitch
32b7ca1608 Entity spawn modification 2021-11-28 15:26:48 +03:00
paulevsGitch
41141ec251 Slab drop fix 2021-11-28 07:09:04 +03:00
paulevsGitch
99f958da37 Block spawn restrictions 2021-11-28 07:06:09 +03:00
paulevsGitch
3c606a9149 Cleanup 2021-11-28 06:39:20 +03:00
paulevsGitch
ffabd75e95 Javadoc fix 2021-11-28 06:18:40 +03:00
paulevsGitch
8439528e8e Custom spawning rule 2021-11-28 06:16:52 +03:00
paulevsGitch
e0443a7a13 Chance spawning rule 2021-11-28 06:12:05 +03:00
paulevsGitch
45216cdab5 Name fix 2021-11-28 06:03:12 +03:00
paulevsGitch
3c5d560981 Height spawn limit 2021-11-28 06:02:46 +03:00
paulevsGitch
6cbd400636 Lambda replacement 2021-11-28 05:55:45 +03:00
paulevsGitch
65d9d7f2ce Small fixes 2021-11-28 05:53:07 +03:00
paulevsGitch
7def63ee01 Spawn API enhancements 2021-11-28 05:45:53 +03:00
Frank
5d5c215f48 Version update 2021-11-27 02:11:32 +01:00
Frank
16484d18b2 Fix for height restrictions 2021-11-27 01:01:19 +01:00
Frank
53080bea06 new SpawnAPI 2021-11-26 16:22:32 +01:00
Frank
8d9a95da7a Be more tolerant against reading issues 2021-11-26 14:29:48 +01:00
paulevsGitch
fc3dc71a44 Feature array length fix 2021-11-22 17:15:33 +03:00
paulevsGitch
42aedf2525
Merge pull request #48 from mindy15963/patch-1
Create ko_kr.json
2021-11-22 12:17:13 +03:00
E. Kim
2969680b13
Create ko_kr.json 2021-11-22 13:01:11 +09:00
paulevsGitch
fd0488dd6a Biome by category adding 2021-11-20 20:32:30 +03:00
paulevsGitch
df214cdb24 Biome include lists 2021-11-20 20:24:00 +03:00
paulevsGitch
c0b7ccca72 Cleanup 2021-11-20 19:01:43 +03:00
paulevsGitch
8ea432bc19
Merge pull request #45 from davidalb97/main
Migrated BetterNether's PR BetterNether/pull/437 into BCLib
2021-11-20 18:57:13 +03:00
paulevsGitch
d8c5e84520 Version change 2021-11-20 13:58:35 +03:00
paulevsGitch
51d484f61e Small changes 2021-11-20 13:57:54 +03:00
paulevsGitch
a2dec40b0a Biome config 2021-11-20 13:41:03 +03:00
paulevsGitch
69d11c0e5a Small cleanup 2021-11-19 17:55:34 +03:00
paulevsGitch
b2ba2976dd Merge remote-tracking branch 'origin/main' 2021-11-19 17:52:54 +03:00
paulevsGitch
0e80d66097 Fix for #46 2021-11-19 17:52:41 +03:00
davidalb97
2206674c0d Migrated BetterNether's PR BetterNether/pull/437 into BCLib 2021-11-18 12:22:37 +00:00
Frank
cf8905ab1a Added ComposterAPI (paulevsGitch/BetterNether#442) 2021-11-15 14:41:46 +01:00
Frank
9183293329 Revert "Sync with current master"
This reverts commit 87858fc6d5.
2021-11-14 11:44:47 +01:00
Frank
a6e538b004 Fixed DimensionType Mixin 2021-11-14 11:38:14 +01:00
Frank
8b314577ef Minor build fixes 2021-11-13 21:06:40 +01:00
Frank
87858fc6d5 Sync with current master 2021-11-13 20:42:27 +01:00
Frank
c6a7a1d4f7 *WIP*: Merge commit 'ce4cb8974faf0a55e7a1a0402f459c7974c7b116' into 1.18 2021-11-13 19:30:01 +01:00
Frank
ce4cb8974f Fixed potential crash in AnvilMenu 2021-11-13 10:50:57 +01:00
paulevsGitch
5ad8752e00 Crafting menu fix 2021-11-13 11:33:04 +03:00
paulevsGitch
cae1d932a1 Biome feature adding API 2021-11-12 17:04:18 +03:00
paulevsGitch
e45f1ac064 Biome source options 2021-11-12 09:22:47 +03:00
paulevsGitch
cc33a9138b Biome modification API 2021-11-12 08:50:41 +03:00
Frank
60574d5b75 Fallback to uncompressed when reading player data (paulevsGitch/BetterNether#436) 2021-11-06 21:26:32 +01:00
Frank
07d8c56e18 Mark Mods that do not contain a client entrypoint as Server-Only for Sync 2021-11-06 20:59:06 +01:00
Frank
2cbfbe8047 Add config to exclude mods from syncing/info 2021-11-06 20:58:41 +01:00
Frank
8233174487 Show Mod info sorted by severity and show client-only mods as OK 2021-11-06 20:04:52 +01:00
Frank
a879a82645 Turn off ModInfo on the server by default 2021-11-06 19:41:40 +01:00
Frank
1b683b5564 Fixed crash on server 2021-11-06 19:16:20 +01:00
paulevsGitch
5247a80549 Biome changer mixin & interface 2021-11-06 15:52:26 +03:00
paulevsGitch
c61856cdba Mod blocks in registry, version change 2021-11-06 15:41:20 +03:00
Frank
473029c31f Fixed JavaDoc error 2021-11-06 11:59:13 +01:00
Frank
d04d75222e A ForcedLevelPatch is always executed against level.dat, (no matter what patchLevel is set for a world) 2021-11-06 11:57:15 +01:00
Frank
f648669c95 Removed errors created for debug purpose 2021-11-06 11:48:19 +01:00
Frank
03e8733ba0 Add UI that presents Fixer Errors to the User(paulevsGitch/BetterNether#436) 2021-11-06 11:41:17 +01:00
Frank
03bef36a45 Updated Version 2021-11-04 02:34:41 +01:00
Frank
143653e2b6 Custom parsing of relevant Mod-Info. Should make it compatible with loader 0.11.x and 0.12.x (#34, #36) 2021-11-04 02:18:33 +01:00
Frank
9a237f52f5 increased fabricloader version (#36, #34) 2021-11-04 00:53:10 +01:00
Frank
dfad74f4a0 Remove BCLib Version Warning screen when user clicks NO 2021-11-03 16:35:52 +01:00
Frank
cca21cd727 Bumped Version and reduced loader dependency (#34) 2021-11-03 16:08:58 +01:00
Frank
383346942f Updated fabric dependencies 2021-11-03 15:45:34 +01:00
Frank
b7c83923ea Using latest fabric API 2021-11-03 15:44:25 +01:00
paulevsGitch
3efa71b08a Null pointer translation fix 2021-11-02 15:25:08 +03:00
paulevsGitch
8eba063b40 Import optimisation, carver adding fix 2021-11-01 14:16:17 +03:00
Frank
2518759f7b Fixed name 2021-10-30 15:00:52 +02:00
Frank
cf31d76ee1 added c:immobile for unmovable blocks like obsidian 2021-10-30 15:00:43 +02:00
paulevsGitch
d33cb707fd Biome def sky color 2021-10-28 17:37:58 +03:00
paulevsGitch
b66c8cd5a6 Registry changes (WIP) 2021-10-26 16:12:10 +03:00
paulevsGitch
449d7cc0d0 No-abstract registry 2021-10-26 15:00:09 +03:00
Frank
0c4ac239b8 Merge branch 'main' of github.com-quiqueck:paulevsGitch/BCLib 2021-10-26 10:20:30 +02:00
Frank
8c535be429 Added support for custom nether-portal frames (common Tag c:nether_pframe (TagAPI.BLOCK_NETHER_PORTAL_FRAME) 2021-10-26 10:20:25 +02:00
paulevsGitch
6455cd2182 Merge remote-tracking branch 'origin/main' 2021-10-25 17:37:45 +03:00
paulevsGitch
102f80c62e Fog rendering fixes 2021-10-25 17:37:36 +03:00
Frank
460f4a8e6c Merge branch 'main' of github.com-quiqueck:paulevsGitch/BCLib 2021-10-25 15:32:46 +02:00
Frank
a5bf1ea3e6 Create Ores with custom properties 2021-10-25 15:32:36 +02:00
Frank
7f7e4bfa4c Better Shears Integration 2021-10-25 15:32:17 +02:00
paulevsGitch
9256faf0ba Merge remote-tracking branch 'origin/main' 2021-10-25 16:20:15 +03:00
paulevsGitch
3888998aff Generator config fix 2021-10-25 16:20:06 +03:00
Frank
1195bcf4c3 Merge branch 'main' of github.com-quiqueck:paulevsGitch/BCLib 2021-10-23 19:49:14 +02:00
Frank
d47321c0f7 Prepared state fixer 2021-10-23 19:49:02 +02:00
paulevsGitch
69ae8ed33e Small change 2021-10-22 21:59:56 +03:00
Frank
f88506f654 Revert "Merge remote-tracking branch 'origin/main'"
This reverts commit ff8b366eb9, reversing
changes made to 52146286fe.
2021-10-22 15:28:37 +02:00
paulevsGitch
9b312bf4de Debug removal 2021-10-22 13:53:37 +03:00
paulevsGitch
ff8b366eb9 Merge remote-tracking branch 'origin/main' 2021-10-22 13:50:14 +03:00
paulevsGitch
52146286fe Thick fog rendering fixes 2021-10-22 13:50:07 +03:00
Frank
e37d03fa77 replaced accesswidener with simple reflection
(cherry picked from commit 18a64c267d)
2021-10-22 12:23:44 +02:00
Frank
da0d122166 Added Function that allows developers to manually fix nbts 2021-10-19 09:58:41 +02:00
Frank
bd4e61f14f Add support for hanging saplings 2021-10-18 22:53:53 +02:00
Frank
3683ebd97a Auto-Add Block/Item Tags for BaseLeavesBlock and FeatureSaplingBlock (paulevsGitch/BetterEnd#303) 2021-10-18 20:09:41 +02:00
Frank
c2452ebcc3 Added common leaves Tag (paulevsGitch/BetterEnd#303) 2021-10-18 19:52:32 +02:00
Frank
073b473840 Preparing common Tags (paulevsGitch/BetterEnd#303) 2021-10-18 19:38:31 +02:00
Frank
a52b18ba9b MultiPartBuilder.create returns an Instance not a globa Object (improves thread safety, fixes paulevsGitch/BetterEnd#316) 2021-10-18 19:26:10 +02:00
Frank
06df39445c removed unneeded import 2021-10-18 12:44:45 +02:00
Frank
c0810fd7ff add dev-configuration to build-system 2021-10-18 12:40:33 +02:00
Frank
2674940c91 Added AnvilReceipts from BE 2021-10-18 12:26:35 +02:00
Frank
57e2099650 Added IPNIgnore for compat with *Inventory Profiles Next* 2021-10-18 09:28:43 +02:00
Frank
18a64c267d replaced accesswidener with simple reflection 2021-10-12 22:04:45 +02:00
Frank
5a1bd5e31b Downgraded loom version 2021-10-12 20:08:10 +02:00
Frank
7d23a162ee Some refactoring 2021-10-12 19:20:36 +02:00
Frank
c8d1b61006 Added mixin 2021-10-12 17:45:59 +02:00
Frank
40851c38cd Changed Structure handling (Untested yet) 2021-10-12 16:27:12 +02:00
Frank
74533e2e66 fixes for 21w40a 2021-10-12 14:53:14 +02:00
Frank
cbed2868ba German translation 2021-10-07 14:22:38 +02:00
Frank
08f35ab52c Fixed compiler and Startup Errors 2021-09-25 13:18:32 +02:00
Frank
e2ab77658b Adapted to soem Fabric API changes 2021-09-25 11:36:26 +02:00
Frank
23bcbe1977 Some simple Biome related changes 2021-09-23 16:19:30 +02:00
Frank
8abcab32ec Fixed some fabric warnings 2021-09-23 15:20:03 +02:00
Frank
791db59c18 Snapshot versions 2021-09-19 16:57:08 +02:00
Frank
66e3bf483b Using Loom 0.9 2021-09-19 16:52:23 +02:00
Frank
c39c1673a9 Some german translations 2021-09-16 10:36:02 +02:00
Frank
7e2ea43817 removed debug line 2021-09-15 08:22:06 +02:00
Frank
7d9b56b6e7 Minor additions to BiomeAPI 2021-08-27 03:52:06 +02:00
Frank
329509d5c0 Removed debug code 2021-08-27 01:01:45 +02:00
Frank
9a356dbf0d Mod Warning Fixes 2021-08-26 21:28:31 +02:00
Frank
d473451295 Ignore Files from Mods that are not known on the client 2021-08-26 21:22:28 +02:00
Frank
0673a271ef ProgressScreen can not close on esc 2021-08-26 10:14:02 +02:00
Frank
1d9d752832 Added wait for Progress Stage 2021-08-25 18:02:55 +02:00
Frank
ae9463124f Latest Fabric-API 2021-08-25 17:36:21 +02:00
Frank
117ab3fa3d Fixed prefix 2021-08-25 17:31:06 +02:00
Frank
d1ef3b5807 Added progress Screen for DataFixer 2021-08-25 17:27:00 +02:00
Frank
11926ac63c Option to disable ModInfo-Screen 2021-08-25 15:12:45 +02:00
Frank
4692831007 More options for ModSyncing and Screen to display missmatching mods 2021-08-25 15:10:51 +02:00
Frank
b959e17c18 Offer Mod Info Screen 2021-08-25 14:11:48 +02:00
Frank
9d7fa9f925 Scrollable GridScreen 2021-08-25 13:47:08 +02:00
Frank
f3bdaaac8e Make sure we do not close the jar filesystem when cheking for mods (otherwise resources might fail) 2021-08-24 16:59:59 +02:00
Frank
617573ca09 BCLib Syncing fixes 2021-08-24 14:49:29 +02:00
Frank
59fcaf6ee9 Reenable BCLIb-Version warning 2021-08-24 14:37:56 +02:00
Frank
16f4451803 Inherited GridColumn width 2021-08-24 14:22:14 +02:00
Frank
939fe9ddca Added AccessWidener 2021-08-23 15:26:36 +02:00
Frank
0816fd032d Merge branch 'feature/ChunkedFileTransfer' 2021-08-23 15:24:15 +02:00
Frank
922e5c9f26 Removed testing files 2021-08-23 15:22:56 +02:00
Frank
2344ef9606 Fixed serverside crash due to Screen 2021-08-23 15:22:17 +02:00
Frank
3321d1c90e Use ProgressScreen for larger Data-Transfers 2021-08-23 15:07:02 +02:00
Frank
469e97b790 ProgressScreen 2021-08-23 15:06:34 +02:00
Frank
898668ae96 Disable mod-Sync by default 2021-08-23 10:09:44 +02:00
Frank
5c6d6a4cb0 Finished Chunk Data Transfere if Paylouad size exeeds maximum 2021-08-23 10:09:38 +02:00
Frank
63830a27d6 First (untested) version of File-Chunker 2021-08-22 15:00:29 +02:00
Frank
5e4f4d5b43 Fixed problems with DataFixer calls and Architectury 2021-08-22 12:00:21 +02:00
Frank
670928a604 Fix problem with non semantic versions 2021-08-22 11:59:43 +02:00
Frank
4a4191c80d Fixed JavaDoc Error 2021-08-21 14:33:55 +02:00
Frank
2b8ef4bcff Has-Debug should be off by default 2021-08-21 14:25:44 +02:00
Frank
4d56796244 Some minor Fixes 2021-08-21 14:25:09 +02:00
Frank
4f8840da68 Added serverside config to add additional Mods to get synced 2021-08-21 13:56:18 +02:00
Frank
ffffeb78ee Fixed issue with wron type 2021-08-21 13:54:06 +02:00
Frank
38c01b8c76 Additional Typesafety 2021-08-21 13:43:22 +02:00
Frank
edb6631768 Supporting StringArray in Configs 2021-08-21 13:43:10 +02:00
Frank
8f9ff14fac Added ConfigUI Annotation 2021-08-21 12:30:47 +02:00
Frank
0adc5024f1 Adding enabled predicate 2021-08-21 09:49:15 +02:00
Frank
b369954c05 Save configs from ModMenu-Screen 2021-08-20 16:50:23 +02:00
Frank
092e0a39e8 Auto generate a simple Config Screen 2021-08-20 14:37:40 +02:00
paulevsGitch
d31425623d Small cleanup 2021-08-20 15:28:38 +03:00
paulevsGitch
9c2b7c9188 Merge remote-tracking branch 'origin/main'
# Conflicts:
#	src/main/java/ru/bclib/api/dataexchange/handler/autosync/AutoFileSyncEntry.java
2021-08-20 15:26:29 +03:00
paulevsGitch
98121a30ef Small fix & cleanup 2021-08-20 15:26:13 +03:00
Frank
601b984430 Merge branch 'main' of github.com-quiqueck:paulevsGitch/BCLib 2021-08-20 14:15:33 +02:00
Frank
fe7e1aa28d Prepare Configs that enable us to derive a ConfigScreen 2021-08-20 14:15:21 +02:00
paulevsGitch
529565911f Fixed javadocs, biome API enhancements 2021-08-20 15:11:36 +03:00
Frank
8d6dc18ce2 Merge branch 'main' of github.com-quiqueck:paulevsGitch/BCLib 2021-08-20 13:24:56 +02:00
Frank
d88462e827 Make auto-sync options consistent with UI 2021-08-20 13:24:47 +02:00
paulevsGitch
5ed75012cd
Merge pull request #32 from glisco03/main
Always use the KubeJS workaround for recipe loading to improve mod compatibility
2021-08-20 13:02:38 +03:00
Frank
6e2a539232 Minor refactoring 2021-08-20 03:16:20 +02:00
Frank
290bed1ffe Added missing doc 2021-08-20 03:06:34 +02:00
Frank
0486b56ec3 Refactored to expose the ModMenu Integration to other Mods 2021-08-20 03:05:36 +02:00
Frank
5808bab08e ModMenu Integration 2021-08-20 01:57:27 +02:00
Frank
fa4e086220 close screen to parent 2021-08-20 01:54:20 +02:00
Frank
48c46e2105 Offer ModMenu if installed 2021-08-20 01:53:55 +02:00
Frank
7eb44ebb82 Make sure the server can load client-side mod's for syncing 2021-08-20 01:52:37 +02:00
Frank
14d3c18945 Small Mod Sync fixes 2021-08-19 20:30:43 +02:00
Frank
dfe25a9599 Sync Screen offers user-options 2021-08-19 20:12:01 +02:00
Frank
d46e375501 WIP: SyncScreen allows users to choose which content type to sync 2021-08-19 16:49:43 +02:00
Frank
698ecefba4 Fixed message 2021-08-19 16:39:37 +02:00
Frank
2d8c92d946 Better GridLayout for Screens 2021-08-19 16:39:30 +02:00
Frank
32e1b2edb4 Make config-register message clearer 2021-08-19 09:05:38 +02:00
Frank
ddaf8a0e01 Do not offer unavailable mod dependencies 2021-08-18 14:32:06 +02:00
Frank
3bb8fec4b2 Refactoring of ModUtil members 2021-08-18 14:29:15 +02:00
Frank
71ad055ea5 Implemented ModSync 2021-08-18 14:23:33 +02:00
Frank
8588191556 Adding ModFile Request 2021-08-18 10:05:11 +02:00
Frank
e9fc77ab0d Prepare to sync Mods 2021-08-18 09:57:52 +02:00
Frank
55f00c664c better naming for client/server only handlers 2021-08-17 12:56:37 +02:00
Frank
29fe59b4b9 Fix confi classes 2021-08-17 12:56:09 +02:00
Frank
123a5e2dc4 Refactored AutoSync 2021-08-17 11:57:40 +02:00
Frank
b398e47056 Make sure users have the option to not use AutoSync 2021-08-17 10:10:15 +02:00
Frank
de5e56cc04 Added API to load all ModMetadata from the 'mods' folder (classpath is not included) 2021-08-17 10:03:14 +02:00
Frank
6837c7d081 Make a non-recursive fileWalker 2021-08-17 09:53:04 +02:00
Frank
742ea56e34 Added Step to handler that allows users to stop the message from beeing sent and prepare some data. 2021-08-17 09:52:48 +02:00
Frank
132623419d moved fileWalker 2021-08-16 10:28:37 +02:00
Frank
03bef0ae88 Reject file sync in a Singleplayer World 2021-08-16 09:37:06 +02:00
Frank
0b3e4198cd Disabled testing code 2021-08-16 09:34:49 +02:00
Frank
fcf2d041cb check file-hashes before content comparison 2021-08-16 09:30:01 +02:00
Frank
31ae7a6d3a Reject folder syncs outside of game-dir 2021-08-16 09:04:53 +02:00
Frank
c7aeef43dd Reminder 2021-08-16 01:05:39 +02:00
Frank
fdbde2e0a6 Make sure we reject files that are not children of a sync-path 2021-08-16 01:01:51 +02:00
Frank
0b9d6093a0 [Ready for Testing] Folder-Syncing 2021-08-15 23:54:42 +02:00
glisco03
7f80cad6f4 Merge remote-tracking branch 'origin/main' 2021-08-15 21:37:19 +02:00
glisco03
23b372252b always load recipes later to improve mod compat 2021-08-15 21:34:22 +02:00
Frank
9cd0ef1f04 make diffContent count 2021-08-15 21:02:30 +02:00
Frank
1f239baeb9 *WIP* Prepared Folder Syncing - Filelist exchange 2021-08-15 15:06:36 +02:00
Frank
5df6de1e3a Implemented content based syncing 2021-08-15 13:55:31 +02:00
Frank Bauer
f80b55aa50 Prepared sync pipeline for content-based config sync 2021-08-15 11:30:39 +02:00
paulevsGitch
895b605523 Better Fabric biome API support 2021-08-15 01:42:51 +03:00
paulevsGitch
67be2ce342 Old biome source patcher 2021-08-14 23:06:32 +03:00
paulevsGitch
9e051d9ab9 Datapack biome source fix 2021-08-14 22:55:25 +03:00
paulevsGitch
28228b35e2 Version change, removed old API functions, javadoc fixes 2021-08-14 16:57:51 +03:00
paulevsGitch
1f0403d1b3 Merge remote-tracking branch 'origin/main' 2021-08-14 16:49:09 +03:00
paulevsGitch
410ff87c88 Small javadoc fixes 2021-08-14 16:48:55 +03:00
Frank
25bcbd6369 Using correct ModID 2021-08-14 15:45:51 +02:00
Frank
09395921ce Accept subclasses in equals 2021-08-14 15:43:48 +02:00
Frank
f28c3e0594 Config reload after write and hash-debug 2021-08-14 15:05:41 +02:00
paulevsGitch
7e36ac4159 Crash fixes 2021-08-14 01:32:25 +03:00
paulevsGitch
97ad8b44aa Small enhancements 2021-08-14 00:36:19 +03:00
paulevsGitch
015d60aee1 Generator options init fix 2021-08-14 00:18:21 +03:00
paulevsGitch
c2015848b0 More fixes 2021-08-13 22:08:18 +03:00
paulevsGitch
0acb947795 Init fixes 2021-08-13 21:59:43 +03:00
paulevsGitch
683427c312 Nether biome source (WIP) 2021-08-13 21:55:40 +03:00
paulevsGitch
34ecbb3f14 End biome source (WIP) 2021-08-13 21:23:12 +03:00
paulevsGitch
0e0944ba51 Dimensional biome API (WIP) 2021-08-13 14:53:19 +03:00
paulevsGitch
a9b8c57567 Temporal GUI disabling 2021-08-13 03:19:48 +03:00
paulevsGitch
7845f5beb3 Custom model bakery fix (#31) 2021-08-13 02:50:23 +03:00
paulevsGitch
83d5a4d2bf Temporal model loading fix (#31) 2021-08-12 03:26:53 +03:00
Frank
49e833e147 Removed unused network hooks 2021-08-11 00:04:37 +02:00
Frank
e06543dac6 More debug messages for file-sync 2021-08-11 00:01:36 +02:00
Frank
a21e7e115b Add config options to control autoSync 2021-08-10 23:39:59 +02:00
Frank
ca721368ea Make sure Mods are not registered twice 2021-08-10 23:39:34 +02:00
Frank
911ca85b03 Make sure server does not offer non-existing config files 2021-08-10 23:15:48 +02:00
paulevsGitch
0f3df9b229
Merge pull request #29 from quiqueck/main
Respect AutoSync setting for Config and add a prePatch run for level.dat
2021-08-10 23:17:01 +03:00
Frank
d479d49550 Merge branch 'main' of github.com:quiqueck/BCLib into main 2021-08-10 22:13:06 +02:00
Frank Bauer
b46f9f90d3 Introduce preChecks to the DataFixer 2021-08-10 21:50:43 +02:00
Frank Bauer
28b3669f39 Respect the auto-sync setting 2021-08-10 21:43:22 +02:00
paulevsGitch
49279480ec Version change 2021-08-10 14:44:04 +03:00
paulevsGitch
56592f3034 Javadoc fixes 2021-08-10 11:46:30 +03:00
paulevsGitch
c48c06d2f8
Merge pull request #28 from quiqueck/main
Start Hello process when player joins (not on enter)
2021-08-09 02:32:20 +03:00
Frank
54e1b486a7 Disable BCLibVersion-missmatch screen (as it is currently non functional) 2021-08-08 17:37:05 +02:00
Frank Bauer
819514a699 Start Hello process when player joins (not on enter) 2021-08-08 17:24:29 +02:00
paulevsGitch
990b024fdb
Merge pull request #27 from quiqueck/feature/data_fixer
Added Fixer for WorldDataAPI
2021-08-07 05:27:15 +03:00
Frank
862f3bb6b9 Fix ReceipBook for players 2021-08-07 04:14:35 +02:00
Frank
bc4ec0660f Make sure id-entries for the WorldDataAPI are fixed as well 2021-08-07 03:33:09 +02:00
Frank
dffda00940 Added API to fix id's on paths that can contain Lists/CompundTags 2021-08-07 02:08:17 +02:00
Frank
b232c764e0 Merge remote-tracking branch 'upstream/main' into feature/data_fixer 2021-08-07 01:52:14 +02:00
Frank
add5b65e85 Simplified Inventory handling 2021-08-07 01:51:54 +02:00
paulevsGitch
b2484cfd96
Merge pull request #26 from quiqueck/feature/networking
Auto File Sync
2021-08-07 01:38:43 +03:00
Frank
ace3156fb2 Additional Log output 2021-08-07 00:18:27 +02:00
Frank
5c11fb5424 Invalidate tokens on fail 2021-08-06 23:49:15 +02:00
Frank
5bff609fb6 Invalidate request token 2021-08-06 23:38:40 +02:00
Frank
4d3f7aa34b Api cleanup 2021-08-06 23:29:41 +02:00
Frank
3438c86de2 Refactor 2021-08-06 23:20:39 +02:00
Frank
6883287c72 Finished first draft of File syncing 2021-08-06 23:08:13 +02:00
Frank
c28a566c78 Fixed server crashes 2021-08-06 22:26:56 +02:00
Frank
d4c9695e5c Merge remote-tracking branch 'upstream/main' into feature/networking 2021-08-06 22:11:33 +02:00
Frank
391ca845cf Adding more verbose message 2021-08-06 22:11:08 +02:00
Frank
d01b7923aa Receive requested file contents on client 2021-08-06 21:27:33 +02:00
Frank Bauer
869dc762fa Send file requests 2021-08-06 19:19:49 +02:00
Frank Bauer
ae344c48ac Merge branch 'feature/networking' of github.com-quiqueck:quiqueck/BCLib into feature/networking 2021-08-06 18:12:21 +02:00
Frank
119e94520c Compare files on client/server 2021-08-06 17:40:46 +02:00
Frank
8397ef7cca Added FileHash Object 2021-08-06 09:33:11 +02:00
Frank
feee3514a9 Unpolute public API 2021-08-06 08:23:23 +02:00
Frank
9b92c6cbf2 call sendOnEnter 2021-08-05 19:09:34 +02:00
Frank
16cbba6e76 Preparing Config-Objects to automatically sync from Server to Client 2021-08-05 19:07:14 +02:00
Frank
589151af81 Call DataFixer on WorldData 2021-08-05 18:43:44 +02:00
paulevsGitch
ba38a32b86 Merge remote-tracking branch 'origin/main' 2021-08-01 17:57:31 +03:00
paulevsGitch
ceea648858 Fixed missing models with optifine 2021-08-01 17:56:09 +03:00
paulevsGitch
9541ba528b
Merge pull request #24 from RDKRACZ/main
Decreased icon file size.
2021-08-01 17:46:12 +03:00
paulevsGitch
427ae65856 Fix optifine compat 2021-08-01 17:45:50 +03:00
K0RR
5e9e30d80d
Add files via upload 2021-08-01 16:34:23 +02:00
Frank Bauer
433aa7a1c7 Merge branch 'main' into feature/networking 2021-08-01 14:24:28 +02:00
paulevsGitch
3de67d42b3 Another small fix & optimisation 2021-08-01 14:39:21 +03:00
paulevsGitch
47655f9a01 Another small fix 2021-08-01 14:17:19 +03:00
paulevsGitch
d497f97663 Small fix 2021-08-01 14:12:30 +03:00
paulevsGitch
b05f5a728f Compat with Canvas emissive shaders, fixes 2021-08-01 14:05:41 +03:00
Frank Bauer
2ae840634a Fixed message 2021-08-01 11:05:11 +02:00
paulevsGitch
bcc3b076c2 Some small alpha emission changes 2021-07-31 16:22:52 +03:00
Frank Bauer
70cfdf0dd8 Display DataExchange Dialog 2021-07-31 14:04:14 +02:00
paulevsGitch
90c8362c95 JSON cache 2021-07-31 14:58:01 +03:00
Frank Bauer
7bfe0b01cd Ability to send data when player first enters the level 2021-07-31 13:51:39 +02:00
paulevsGitch
3a5a264436 Model loading fix 2021-07-31 14:46:20 +03:00
Frank Bauer
4fc9c06204 Prepared BCLib Version warning screen 2021-07-31 11:29:13 +02:00
Frank Bauer
46a5603ff7 fixed import 2021-07-31 10:32:48 +02:00
Frank Bauer
114574bff3 Added class to help with simple GridLayouts 2021-07-31 10:32:23 +02:00
Frank Bauer
c621b0525e Hello message initiated on Server 2021-07-31 10:32:09 +02:00
Frank Bauer
165c6e5b22 Fixed crash when server initializes a new world 2021-07-31 09:19:46 +02:00
paulevsGitch
49e93e4309 Remove debug info 2021-07-31 09:22:50 +03:00
paulevsGitch
24ce3fa4e8 CTM compat fix 2021-07-31 09:22:21 +03:00
paulevsGitch
05b89607a5 Item parallel model loading 2021-07-30 21:13:05 +03:00
paulevsGitch
185da209ce Parallel model loading 2021-07-30 21:11:55 +03:00
paulevsGitch
b5ebabd824 Another terrain block small fix 2021-07-30 20:45:56 +03:00
paulevsGitch
6a1ab89e39 Terrain block small fixes 2021-07-30 20:44:34 +03:00
paulevsGitch
694b5c54c3
Merge pull request #23 from quiqueck/feature/ComplexMatStages
ComplexMaterial
2021-07-30 19:11:51 +03:00
Frank Bauer
a53c503c4e List all mod versions from server and client 2021-07-30 17:30:19 +02:00
Frank Bauer
032b4187bd Replaced string with constant value 2021-07-30 15:02:06 +02:00
Frank Bauer
0e2f876cd4 add equals and hashCode to ComplexMaterialEntry 2021-07-30 14:52:33 +02:00
Frank Bauer
37348ccb0e enable replacement of predefined types 2021-07-30 14:49:14 +02:00
Frank Bauer
2e624956aa Reenable FixerAPI 2021-07-30 13:49:12 +02:00
paulevsGitch
fdcb5ad03a Model loading changes 2021-07-30 14:41:04 +03:00
Frank Bauer
2f1a4e9518 seperated initDefault into three stages. Allows easier cosumization of wood materials 2021-07-30 10:18:31 +02:00
Frank Bauer
d33187d204 added receipeGroupPrefix otherwise everything will have the end-group 2021-07-30 10:17:53 +02:00
Frank Bauer
dca77a58ae separated different initStages 2021-07-29 12:10:55 +02:00
Frank Bauer
6b3957d04a Fixed Shulker Recipe 2021-07-29 11:56:19 +02:00
Frank Bauer
56bbc93460 Reverted wrong additions to WoodenMaterial 2021-07-29 11:29:29 +02:00
paulevsGitch
eb90792aca
Merge pull request #22 from quiqueck/feature/networking
Feature/networking
2021-07-29 12:03:45 +03:00
Frank Bauer
b74f680191 Added HelloServer handler 2021-07-29 10:57:58 +02:00
Frank Bauer
2260d547dc changes to run on non dedicated servers as well 2021-07-29 10:01:02 +02:00
Frank Bauer
7632c4e498 Send first test-message 2021-07-28 23:52:18 +02:00
Frank Bauer
8c0dfadc82 Merge branch 'main' of github.com:paulevsGitch/BCLib into feature/networking 2021-07-28 23:29:10 +02:00
Frank Bauer
30b7c8043a First network test 2021-07-28 23:28:42 +02:00
paulevsGitch
b10e505ed3
Merge pull request #21 from quiqueck/main
Initialize new worlds as fully patched
2021-07-27 08:51:55 +03:00
Frank Bauer
eda626fe10 Doc update 2021-07-26 21:36:34 +02:00
Frank Bauer
eb8c87468f Initialize new worlds as fully patched 2021-07-26 21:31:17 +02:00
paulevsGitch
8f680ac5db
Merge pull request #20 from quiqueck/main
Added Screen to confirm Patches
2021-07-26 22:00:31 +03:00
Frank Bauer
c4d7035ef2 Move method to client Environment 2021-07-26 18:52:22 +02:00
Frank Bauer
d3db623de5 Call DataFixer in Server Context 2021-07-26 18:50:15 +02:00
Frank Bauer
a247b17e7f Added Screen to confirm Patches 2021-07-26 18:36:20 +02:00
paulevsGitch
f69e839a82
Merge pull request #19 from quiqueck/main
Added Patch-Function for *level.dat *
2021-07-26 13:42:03 +03:00
Frank Bauer
c93c271bd4 Added Patch-Function for *level.dat * 2021-07-26 12:27:44 +02:00
paulevsGitch
f853ac75d9 Model transform 2021-07-24 21:30:48 +03:00
paulevsGitch
1ea7221f9f Small fix 2021-07-24 21:08:20 +03:00
paulevsGitch
a6acb67428 Multi material fix 2021-07-24 21:01:46 +03:00
paulevsGitch
d350425049 Small fix 2021-07-24 20:03:11 +03:00
paulevsGitch
4a6d618598 OBJ model offset 2021-07-24 20:02:25 +03:00
paulevsGitch
5efab22561 Culling fix & null pointer fix 2021-07-24 18:52:22 +03:00
paulevsGitch
ca9e32ae53 OBJ model enhancements and builder 2021-07-24 18:20:29 +03:00
paulevsGitch
099ecf68b6 OBJ model prototype 2021-07-24 17:05:03 +03:00
paulevsGitch
c8d9d9b252 Wooden material rename, javadoc fix, recipe entries 2021-07-24 00:59:22 +03:00
paulevsGitch
4df19c2193 Readme update 2021-07-23 22:06:37 +03:00
paulevsGitch
863562ac87 Complex material javadocs 2021-07-23 21:56:10 +03:00
paulevsGitch
0e6fa962de Material ID 2021-07-23 19:24:59 +03:00
paulevsGitch
0c73d69a93 Entites fixes 2021-07-23 18:35:13 +03:00
paulevsGitch
ec61f22682 Small fixes 2021-07-23 17:54:42 +03:00
paulevsGitch
65aae74979 Small null fix 2021-07-23 17:34:55 +03:00
paulevsGitch
806992759a Complex material init changes 2021-07-23 17:26:02 +03:00
paulevsGitch
eb18fa63af Complex material fixes 2021-07-23 15:03:16 +03:00
paulevsGitch
b661aedd60 Recipes, fixes 2021-07-23 14:24:02 +03:00
paulevsGitch
ddbdc0207d Wooden material tags 2021-07-23 14:13:36 +03:00
paulevsGitch
edf9e1d004 Material init 2021-07-23 13:41:54 +03:00
paulevsGitch
0eaaae2f99 Complex materials, wood material (WIP) 2021-07-23 13:40:37 +03:00
paulevsGitch
eb4f70b8a2
Merge pull request #18 from quiqueck/main
Datafixer update, WoodMaterial and BuildSystem improvements
2021-07-23 10:25:59 +03:00
Frank
a998c9fbe7 Merge branch 'subbuild' into main 2021-07-22 23:29:21 +02:00
paulevsGitch
8dbce734d5 Small format fixes, javadocs 2021-07-23 00:07:47 +03:00
Frank
6385480e9e Added first draft of WoodenMaterial (from BetterEnd) 2021-07-22 23:05:51 +02:00
Frank
080bd36714 Added first draft of WoodenMaterial (from BetterEnd) 2021-07-22 23:05:37 +02:00
Frank
bd77ea46b9 Merge branch 'main' into subbuild 2021-07-22 23:01:43 +02:00
Frank
3836e1f81f Merge branch 'main' of github.com:paulevsGitch/BCLib into main 2021-07-22 23:01:34 +02:00
paulevsGitch
7be63c814d Small formatting fixes 2021-07-22 23:57:32 +03:00
paulevsGitch
ceeb36fc2a Translation Helper fixes 2021-07-22 23:55:28 +03:00
paulevsGitch
551bf6865c Post init API enhancement, automatic render registry (WIP) 2021-07-22 23:38:32 +03:00
paulevsGitch
50ccbace6d Post init API 2021-07-22 23:23:14 +03:00
paulevsGitch
4e9fda44f8 Ladder block vanilla class extend 2021-07-22 23:16:58 +03:00
Frank
d259931477 Merge commit 'd179bd2ba895afaaf8393f7567395d67240ec1e7' into subbuild 2021-07-22 15:26:43 +02:00
Frank
5a56064e86 Moved DataFixer call 2021-07-22 15:22:14 +02:00
Frank
89d548caf9 Start fixer before the world is loaded (otherwise no changes to level.dat are possible) 2021-07-22 15:22:10 +02:00
Frank
9e42fe7294 Handle Player and Level data in Fixer 2021-07-22 15:22:07 +02:00
Frank
c64c6eca7b Fixing Entity Inventory 2021-07-22 15:21:57 +02:00
Frank Bauer
d179bd2ba8 Support fir BCLib as subproject to BN/BE 2021-07-22 08:52:46 +02:00
paulevsGitch
37b85b4cee Base plant edit 2021-07-22 07:20:09 +03:00
paulevsGitch
a6419d96e2 Less fast fog density transition, render code in separate class 2021-07-21 18:40:46 +03:00
paulevsGitch
9878854f6b Small fix for fix 2021-07-21 17:38:45 +03:00
paulevsGitch
f981527200 Feature randomization (fix MC bug) 2021-07-21 17:31:24 +03:00
paulevsGitch
a48c350aa2 Tag name changes, workbenches tag 2021-07-21 13:32:02 +03:00
paulevsGitch
51bff6b2ca Small fix 2021-07-21 13:28:27 +03:00
paulevsGitch
5fbb2e03b5 Torus SDF 2021-07-21 12:27:00 +03:00
paulevsGitch
2bfc985403 Description update 2021-07-21 02:09:57 +03:00
paulevsGitch
cdc9d85b53 Shader enhancements, disable when Optifine is installed 2021-07-20 23:55:40 +03:00
paulevsGitch
e5e948ef4f Moved TagHelper inside TagAPI 2021-07-20 04:54:41 +03:00
paulevsGitch
2e12635e66
Merge pull request #16 from quiqueck/main
Adopted WorldDataAPI for new DataFixerAPI
2021-07-20 03:43:30 +03:00
paulevsGitch
5455034da3 Small changes 2021-07-20 03:39:58 +03:00
paulevsGitch
1dc2fea7e2 Translations 2021-07-20 03:33:52 +03:00
paulevsGitch
450b7d4205 Small drop fix 2021-07-20 03:23:17 +03:00
paulevsGitch
1a4a9ef0a1 Anvil fixes 2021-07-20 02:57:43 +03:00
Frank Bauer
65b70f57ad Merge branch 'main' of github.com:paulevsGitch/BCLib 2021-07-20 00:44:49 +02:00
Frank Bauer
cfa240892f Removed original DataFixerAPI 2021-07-20 00:42:01 +02:00
Frank Bauer
dcb66ee5e0 Better Debug order 2021-07-20 00:37:16 +02:00
Frank Bauer
66851baf0f fixed bug where "WorldDataAPI" would always restore an empty Tag. 2021-07-20 00:36:59 +02:00
Frank Bauer
4ad3ff8277 Using WorldDataAPI to keep track of pacth-level 2021-07-20 00:23:49 +02:00
Frank Bauer
f595cdbbed Register BCLib in the WorldDataAPI 2021-07-20 00:22:45 +02:00
paulevsGitch
cba8637122 Anvil model fixes 2021-07-20 01:03:43 +03:00
paulevsGitch
e50ad6b6aa Imports optimised 2021-07-20 00:41:25 +03:00
Frank Bauer
fa1c58b832 Refactor 2021-07-19 23:20:08 +02:00
paulevsGitch
adadee7ef7 Version change 2021-07-20 00:19:45 +03:00
paulevsGitch
db8dc41c8f Getters interfaces to Providers rename 2021-07-20 00:16:42 +03:00
Frank Bauer
5e2961c91d renamed default config dir 2021-07-19 23:11:26 +02:00
paulevsGitch
c6afa74529 Code style fix, interface rename, custom item getter 2021-07-20 00:10:00 +03:00
Frank Bauer
5cc430de6f Fixed regex api use 2021-07-19 23:03:43 +02:00
Frank Bauer
9728dc8dc3 Use version String for DataFixer 2021-07-19 22:38:27 +02:00
paulevsGitch
179ada3296 Code style fix & version update 2021-07-19 21:41:07 +03:00
paulevsGitch
6266b30088
Merge pull request #14 from quiqueck/feature/specialBlocksRegistration
Added method to register special blocks to correct registries
2021-07-19 21:33:49 +03:00
paulevsGitch
c677787f91
Merge pull request #15 from quiqueck/feature/PatchTools
Redesigned `DataFixerAPI`-Management
2021-07-19 21:33:42 +03:00
paulevsGitch
c39eca3bd4
Merge pull request #13 from quiqueck/hashFix
Fixed hash-calculation for `ConfigKey`
2021-07-19 21:33:36 +03:00
Frank Bauer
5d2bb2c66c Call new DataFixer-API 2021-07-19 19:54:37 +02:00
Frank Bauer
51235429db Added alternative DataFixerAPI 2021-07-19 19:54:37 +02:00
Frank Bauer
102c9ec0cc Added a SessionConfig class that can generate config files inside a world folder 2021-07-19 19:54:16 +02:00
Frank Bauer
fee7cbc93a Added possibility to store configs at costum locations 2021-07-19 19:54:16 +02:00
Frank Bauer
8d5f235684 Fixed hash-calculation for ConfigKey 2021-07-19 19:54:16 +02:00
Frank Bauer
d63aa5b92e Added method to register special blocks to correct registries 2021-07-19 19:51:36 +02:00
Frank Bauer
280c6d5849 Fixed hash-calculation for ConfigKey 2021-07-19 19:24:34 +02:00
paulevsGitch
42d9f7f887 Fixed item entity lights 2021-07-19 01:38:13 +03:00
paulevsGitch
f8b88909cb Item shaders upgrade 2021-07-18 19:51:59 +03:00
paulevsGitch
5c6c4677b0 Shader update 2021-07-18 19:27:04 +03:00
paulevsGitch
5afaf5f324 Deprecated mipped shaders 2021-07-18 17:56:57 +03:00
paulevsGitch
21f33f1fef Version change 2021-07-18 17:30:24 +03:00
paulevsGitch
71935a746a Cutout emission 2021-07-18 17:29:23 +03:00
paulevsGitch
201df3746a Emissive textures support 2021-07-18 17:00:46 +03:00
paulevsGitch
940dd39e29 Test shaders 2021-07-18 14:28:57 +03:00
paulevsGitch
f10aa2776f
Merge pull request #11 from quiqueck/main
Proposal to augment default Block properties
2021-07-18 00:27:07 +03:00
Frank Bauer
f7955e60f0 Propsal for property augmentation 2021-07-17 15:12:23 +02:00
Frank Bauer
5b9eb304bc Custom Stylesheet 2021-07-17 10:27:21 +02:00
Frank Bauer
aa59cb9844 Merge branch 'main' of github.com:paulevsGitch/BCLib 2021-07-17 10:19:18 +02:00
paulevsGitch
036a94e171 Underwater plants fix 2021-07-16 15:35:01 +03:00
paulevsGitch
1609b28595 Bonemeal API update and unification, sub-biome fix 2021-07-16 15:04:42 +03:00
Frank Bauer
bc4ff96f0b JavaDoc for TagHelper 2021-07-14 13:49:38 +02:00
paulevsGitch
d8a620c589 Mining tags 2021-07-12 10:03:18 +03:00
paulevsGitch
0a2b6d9977 Mining tags 2021-07-12 10:03:13 +03:00
paulevsGitch
f4a88c277b Add value operation 2021-07-11 15:12:53 +03:00
Aleksey
8fca5aab41 Blockstates StringProperty 2021-07-11 14:32:13 +03:00
paulevsGitch
cbff862594 Fog rendering skip 2021-07-11 01:32:07 +03:00
paulevsGitch
992d755801 Post init interface 2021-07-11 01:25:11 +03:00
paulevsGitch
cb51137c87 Removed face bakery mixin 2021-07-11 00:41:29 +03:00
paulevsGitch
f1ccd563b5 Transformations 2021-07-11 00:04:37 +03:00
paulevsGitch
7d923ba04e Small fixes 2021-07-10 19:54:19 +03:00
paulevsGitch
e41b59d506 Added resource loading for JSON 2021-07-10 19:47:33 +03:00
paulevsGitch
f4df53b171 Color provider mixin 2021-07-10 16:18:05 +03:00
paulevsGitch
5a9365e2bb Fixed structure features and code style 2021-07-10 16:07:44 +03:00
paulevsGitch
d431f2555c
Merge pull request #10 from quiqueck/main
Fix for jitpack
2021-07-09 14:52:02 +03:00
Frank Bauer
370add478f Force jitpack to use Java16 2021-07-09 09:51:28 +02:00
Frank Bauer
644ea6a171 Merge remote-tracking branch 'upstream/main' 2021-07-09 09:14:51 +02:00
paulevsGitch
8d22f7a037
Merge pull request #9 from paulevsGitch/1.16.5
Merge pull request #4 from paulevsGitch/main
2021-07-07 21:07:54 +03:00
paulevsGitch
81eca6fe89
Merge pull request #8 from quiqueck/1.17.1
1.17.1
2021-07-07 20:57:53 +03:00
paulevsGitch
c8dd63136c
Merge pull request #7 from quiqueck/main
Minor fixes
2021-07-07 20:57:43 +03:00
Frank Bauer
1a049d05c4 duplicatesStrategy EXCLUDE will not copy the version number to the built jar 2021-07-07 14:00:37 +02:00
Frank Bauer
4ece50ddb1 duplicatesStrategy EXCLUDE will not copy the version number to the built jar 2021-07-07 14:00:16 +02:00
Frank Bauer
1ebb93d7ab blockStateis null if it can not be placed 2021-07-07 13:36:10 +02:00
Frank Bauer
daeca492ec Dependencies updated for 1.17.1 2021-07-07 13:35:41 +02:00
Frank Bauer
c7b49be379 TagLoader fixes 2021-07-07 13:32:23 +02:00
Frank Bauer
558b1db714 Fixed *Chest* rendering 2021-07-07 13:31:02 +02:00
Frank Bauer
abcf90e0bc Fixed *Sign* rendering 2021-07-07 13:30:42 +02:00
Frank Bauer
827018078f Register tick for *Furnace*-Blocks 2021-07-07 13:30:16 +02:00
Frank Bauer
a53114779a blockStateis null if it can not be placed 2021-07-07 13:29:17 +02:00
Frank Bauer
7dfbe7bfaf HEIGHTMAP_SQUARE has index 17 2021-07-07 13:28:52 +02:00
Frank Bauer
24e16a1850 Merge commit 'befdd2c10a856e7c03292a293a86f86974333b3c' into 1.17.1 2021-07-07 13:27:01 +02:00
paulevsGitch
a4ff0b0721
Merge pull request #4 from paulevsGitch/main
Update 1.16.5 version
2021-06-21 01:29:15 +03:00
989 changed files with 62478 additions and 18565 deletions

76
.github/ISSUE_TEMPLATE/BUG_REPORT.yml vendored Normal file
View file

@ -0,0 +1,76 @@
name: Report a Bug
description: File a bug report
title: "[Bug] "
labels: [ "bug" ]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to report a Bug in BCLib!
- type: textarea
id: what-happened
attributes:
label: What happened?
description: Also tell us, what did you expect to happen?
placeholder: Tell us what you see!
value: "A bug happened!"
validations:
required: true
- type: markdown
attributes:
value: |
## Versions
- type: input
id: bn_version
attributes:
label: BCLib
description: What version of BCLib are you running?
placeholder: 3.x.x
validations:
required: true
- type: input
id: fabric_api_version
attributes:
label: Fabric API
description: What version of Fabric API is installed
placeholder: 0.8x.x
validations:
required: false
- type: input
id: fabric_loader_version
attributes:
label: Fabric Loader
description: What version of Fabric Loader do you use
placeholder: 0.14.x
validations:
required: false
- type: dropdown
id: mc_version
attributes:
label: Minecraft
description: What version of Minecraft is installed?
options:
- 1.20.1
- 1.20.0
- 1.19.4
- 1.19.3 [unsupported]
- 1.19.2
- Older
validations:
required: true
- type: markdown
attributes:
value: |
## Additional Information
- type: textarea
id: logs
attributes:
label: Relevant log output
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
render: shell
- type: textarea
id: other_mods
attributes:
label: Other Mods
description: If you can, please supply a list of installed Mods (besides BetterNether and BCLib). This information may already be included in the log above.
render: shell

18
.github/ISSUE_TEMPLATE/SUGGEST_FROM.yml vendored Normal file
View file

@ -0,0 +1,18 @@
name: Suggest a Feature or Change
description: Have a new Idea, then suggest a Feature here.
title: "[Suggestion] "
labels: ["suggestion"]
body:
- type: markdown
attributes:
value: |
Thanks for taking the time to suggest a new Feature for BCLib. We appreciate your time!
- type: textarea
id: describe
attributes:
label: Description
description: Tell us your idea
placeholder:
value:
validations:
required: true

1
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View file

@ -0,0 +1 @@
blank_issues_enabled: true

5
.gitignore vendored
View file

@ -27,5 +27,10 @@ bin/
# fabric
run/
run-client/
run-server/
output/
*.log
/CHANGES.md
/src/main/generated/.cache/
/modrinth.json

40
BetterX_CodeFormat.xml Normal file
View file

@ -0,0 +1,40 @@
<code_scheme name="BetterX" version="173">
<option name="ENABLE_SECOND_REFORMAT" value="true" />
<JavaCodeStyleSettings>
<option name="IMPORT_LAYOUT_TABLE">
<value>
<package name="org.betterx" withSubpackages="true" static="false" />
<emptyLine />
<package name="com.mojang" withSubpackages="true" static="false" />
<package name="net.minecraft" withSubpackages="true" static="false" />
<emptyLine />
<package name="net.fabricmc" withSubpackages="true" static="false" />
<emptyLine />
<package name="" withSubpackages="true" static="false" />
<emptyLine />
<package name="javax" withSubpackages="true" static="false" />
<package name="java" withSubpackages="true" static="false" />
<package name="org.jetbrains" withSubpackages="true" static="false" />
<emptyLine />
<package name="" withSubpackages="true" static="true" />
</value>
</option>
</JavaCodeStyleSettings>
<codeStyleSettings language="JAVA">
<option name="BLANK_LINES_AROUND_METHOD_IN_INTERFACE" value="0" />
<option name="ALIGN_MULTILINE_CHAINED_METHODS" value="true" />
<option name="ALIGN_MULTILINE_PARAMETERS" value="false" />
<option name="CALL_PARAMETERS_WRAP" value="5" />
<option name="CALL_PARAMETERS_LPAREN_ON_NEXT_LINE" value="true" />
<option name="CALL_PARAMETERS_RPAREN_ON_NEXT_LINE" value="true" />
<option name="METHOD_PARAMETERS_WRAP" value="5" />
<option name="METHOD_PARAMETERS_LPAREN_ON_NEXT_LINE" value="true" />
<option name="METHOD_PARAMETERS_RPAREN_ON_NEXT_LINE" value="true" />
<option name="METHOD_CALL_CHAIN_WRAP" value="5" />
<option name="TERNARY_OPERATION_WRAP" value="5" />
<option name="TERNARY_OPERATION_SIGNS_ON_NEXT_LINE" value="true" />
<option name="ARRAY_INITIALIZER_WRAP" value="5" />
<option name="ARRAY_INITIALIZER_LBRACE_ON_NEXT_LINE" value="true" />
<option name="ARRAY_INITIALIZER_RBRACE_ON_NEXT_LINE" value="true" />
</codeStyleSettings>
</code_scheme>

View file

@ -19,3 +19,7 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
___________________________
Some of our Assets (see LICENSE.ASSETS for a Listing) is licensed under CC BY-NC-SA 4.0
See https://creativecommons.org/licenses/by-nc-sa/4.0/ for Details.

14
LICENSE.ASSETS Normal file
View file

@ -0,0 +1,14 @@
Some of our Assets (see List below) is licensed under CC BY-NC-SA 4.0
See https://creativecommons.org/licenses/by-nc-sa/4.0/ for Details.
Please use the Attribution "Team BetterX".
The following Files are distributed under this License:
* src/main/resources/assets/bclib/lang/de_de.json
* src/main/resources/assets/bclib/textures/*
* src/main/resources/assets/bclib/betterx.png
* src/main/resources/assets/bclib/header.jpg
* src/main/resources/assets/bclib/icon_betterend.png
* src/main/resources/assets/bclib/icon_betternether.png
* src/main/resources/assets/bclib/icon_bright.png
* src/main/resources/assets/bclib/icon_updater.png

169
README.md
View file

@ -1,41 +1,146 @@
[![](https://jitpack.io/v/paulevsGitch/BCLib.svg)](https://jitpack.io/#paulevsGitch/BCLib)
[![](https://jitpack.io/v/quiqueck/BCLib.svg)](https://jitpack.io/#quiqueck/BCLib)
# BCLib
BCLib is a library mod for BetterX team mods, developed for Fabric, MC 1.16.5
## Features:
### API:
* Simple Mod Integration API;
* Structure Features API;
* World Data API;
* Bonemeal API;
* Features API;
* Biome API;
* Tag API.
### Libs:
* Spline library (simple);
* Recipe manager;
* Noise library;
* Math library;
* SDF library.
### Helpers And Utils:
* Custom surface builders;
* Translation helper;
* Weighted list;
* Block helper.
### Rendering:
* Procedural block models (from paterns or from code);
* Block render layer interface.
BCLib is a library mod for BetterX team mods, developed for Fabric, MC 1.19
## Importing:
* Clone repo
* Edit gradle.properties if necessary
* Run command line in folder: gradlew genSources eclipse (or Another-IDE-Name)
* Import project to IDE
You can easily include BCLib into your own mod by adding the following to your `build.gradle`:
```
repositories {
...
maven { url 'https://jitpack.io' }
}
```
```
dependencies {
...
modImplementation "com.github.quiqueck:BCLib:${project.bclib_version}"
}
```
You should also add a dependency to `fabirc.mod.json`. BCLib uses Semantic versioning, so adding the dependcy as follows
should respect that and ensure that your mod is not loaded with an incompatible version of BCLib:
```
"depends": {
...
"bclib": "2.0.x"
},
"breaks": {
"bclib": "<2.0.6"
}
```
In this example `2.0.6` is the BCLIb Version you are building against.
## Features:
### Rendering
* Emissive textures (with _e suffix)
* Can be applied to Solid and Transparent blocks;
* Can be changed/added with resourcepacks;
* Incompatible with Sodium and Canvas (just will be not rendered);
* Incompatible with Iris shaders (Iris without shaders works fine).
* Procedural block and item models (from paterns or from code);
* Block render interfaces.
### API:
* Simple Mod Integration API:
* Get mod inner methods, classes and objects on runtime.
* Structure Features API:
* Sructure Features with automatical registration, Helpers and math stuff.
* World Data API:
* World fixers for comfortable migration between mod versions when content was removed;
* Support for Block name changes and Tile Entities (WIP).
* Bonemeal API:
* Add custom spreadable blocks;
* Add custom plants grow with weight, biomes and other checks;
* Custom underwater plants.
* Features API:
* Features with automatical registration, Helpers and math.
* Biome API:
* Biome wrapper around MC biomes;
* Custom biome data storage;
* Custom fog density.
* Tag API:
* Pre-builded set of tags;
* Dynamical tag registration with code;
* Adding blocks and items into tags at runtime.
### Libs:
* Spline library (simple):
* Helper to create simple splines as set of points;
* Some basic operation with splines;
* Converting splines to SDF.
* Recipe manager:
* Register recipes from code with configs and ingredients check.
* Noise library:
* Voronoi noise and Open Simplex Noise.
* Math library:
* Many basic math functions that are missing in MC.
* SDF library:
* Implementation of Signed Distance Functions;
* Different SDF Operations and Primitives;
* Different materials for SDF Primitives;
* Block post-processing;
* Feature generation using SDF.
### Helpers And Utils:
* Custom surface builders.
* Translation helper:
* Generates translation template.
* Weighted list:
* A list of objects by weight;
* Weighted Tree:
* Fast approach for big weight structures;
* Block helper:
* Some useful functions to operate with blocks;
### Complex Materials
* Utility classes used for mass content generation (wooden blocks, stone blocks, etc.);
* Contains a set of defined blocks, items, recipes and tags;
* Can be modified before mods startup (will add new block type for all instances in all mods);
* All inner blocks and items are Patterned (will have auto-generated models with ability to override them with resource
packs or mod resources).
### Pre-Defined Blocks and Items:
* Most basic blocks from MC;
* Automatic item & block model generation;
### Configs:
* Custom config system based on Json;
* Hierarchical configs;
* Different entry types;
* Only-changes saves.
### Interfaces:
* BlockModelProvider:
* Allows block to return custom model and blockstate.
* ItemModelProvider:
* Allows block to return custom item model.
* CustomColorProvider:
* Make available to add block and item color provider.
* RenderLayerProvider:
* Determine block render layer (Transparent and Translucent).
* PostInitable:
* Allows block to init something after all mods are loaded.
* CustomItemProvider:
* Allows block to change its registered item (example - signs, water lilies).
## Building:
* Clone repo
* Run command line in folder: gradlew build
* Mod .jar will be in ./build/libs

8
bclib-composit.gradle Normal file
View file

@ -0,0 +1,8 @@
plugins {
id 'idea'
id 'eclipse'
id 'fabric-loom'
id 'maven-publish'
}
apply from: "bclib.gradle"

186
bclib.gradle Normal file
View file

@ -0,0 +1,186 @@
buildscript {
dependencies {
classpath 'org.kohsuke:github-api:1.114'
}
repositories {
gradlePluginPortal()
}
}
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
archivesBaseName = project.archives_base_name
version = project.mod_version
group = project.maven_group
repositories {
maven { url "https://maven.dblsaiko.net/" }
maven { url "https://maven.fabricmc.net/" }
maven { url "https://maven.shedaniel.me/" }
maven { url 'https://maven.blamejared.com' }
maven { url 'https://jitpack.io' }
maven { url 'https://maven.terraformersmc.com/releases' }
maven { url 'https://maven.terraformersmc.com' }
}
def local_wunderlib = findProject(':WunderLib') != null
loom {
accessWidenerPath = file("src/main/resources/bclib.accesswidener")
runs {
// This adds a new gradle task that runs the datagen API: "gradlew runDatagenClient"
datagenClient {
inherit client
name "Data Generation"
vmArg "-Dfabric-api.datagen"
vmArg "-Dfabric-api.datagen.output-dir=${file("src/main/generated")}"
vmArg "-Dfabric-api.datagen.strict-validation"
runDir "build/datagen"
}
}
}
sourceSets {
main {
// Add the datagenned files into the jar.
resources {
srcDirs += [
'src/main/generated'
]
}
}
}
dependencies {
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings loom.officialMojangMappings()
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
//make sure we are compatible to the old model API
modImplementation "net.fabricmc.fabric-api:fabric-api-deprecated:${project.fabric_version}"
modCompileOnly "com.terraformersmc:modmenu:${project.modmenu_version}"
modCompileOnly "dev.emi:emi-fabric:${emi_version}:api"
modLocalRuntime "dev.emi:emi-fabric:${emi_version}"
println "Using local WunderLib: ${local_wunderlib}"
if (local_wunderlib) {
implementation project(path: ":WunderLib", configuration: 'dev')
include project(path: ":WunderLib", configuration: 'dev')
} else {
modApi "com.github.quiqueck:WunderLib:${project.wunderlib_version}"
include "com.github.quiqueck:WunderLib:${project.wunderlib_version}"
}
}
processResources {
println "Version: ${project.mod_version}"
inputs.property "version", project.mod_version
filesMatching("fabric.mod.json") {
expand "version": project.mod_version
}
}
// ensure that the encoding is set to UTF-8, no matter what the system default is
// this fixes some edge cases with special characters not displaying correctly
// see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
it.options.release = 17
}
javadoc {
options.tags = ["reason"]
options.stylesheetFile = new File(projectDir, "javadoc.css");
}
task javadocJar(type: Jar, dependsOn: javadoc) {
archiveClassifier = 'javadoc'
from javadoc.destinationDir
}
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
// if it is present.
// If you remove this task, sources will not be generated.
task sourcesJar(type: Jar, dependsOn: classes) {
archiveClassifier = 'sources'
from sourceSets.main.allSource
}
jar {
from "LICENSE"
from "LICENSE.ASSETS"
}
artifacts {
archives sourcesJar
archives javadocJar
}
def env = System.getenv()
import org.kohsuke.github.GHReleaseBuilder
import org.kohsuke.github.GitHub
task release(dependsOn: [remapJar, sourcesJar, javadocJar]) {
onlyIf {
env.GITHUB_TOKEN
}
doLast {
def github = GitHub.connectUsingOAuth(env.GITHUB_TOKEN as String)
def repository = github.getRepository("quiqueck/BCLib")
def releaseBuilder = new GHReleaseBuilder(repository, version as String)
releaseBuilder.name("${archivesBaseName}-${version}")
releaseBuilder.body("A changelog can be found at https://github.com/quiqueck/BCLib/commits")
releaseBuilder.commitish("main")
def ghRelease = releaseBuilder.create()
ghRelease.uploadAsset(file("${project.buildDir}/libs/${archivesBaseName}-${version}.jar"), "application/java-archive");
ghRelease.uploadAsset(file("${project.buildDir}/libs/${archivesBaseName}-${version}-sources.jar"), "application/java-archive");
ghRelease.uploadAsset(file("${project.buildDir}/libs/${archivesBaseName}-${version}-javadoc.jar"), "application/java-archive");
}
}
// configure the maven publication
publishing {
publications {
gpr(MavenPublication) {
artifactId archivesBaseName
artifact(remapJar) {
builtBy remapJar
}
artifact(sourcesJar) {
builtBy remapSourcesJar
}
}
}
// select the repositories you want to publish to
repositories {
maven {
name = "GitHubPackages"
url = uri("https://maven.pkg.github.com/quiqueck/bclib")
credentials {
username = env.GITHUB_USER
password = env.GITHUB_TOKEN
}
}
}
}
configurations {
dev {
canBeResolved = false
canBeConsumed = true
}
}
artifacts {
dev jar
}

View file

@ -1,164 +1,189 @@
buildscript {
dependencies {
classpath 'org.kohsuke:github-api:1.114'
}
}
plugins {
id 'idea'
id 'eclipse'
id 'fabric-loom' version '0.8-SNAPSHOT'
id 'maven-publish'
id 'idea'
id 'eclipse'
id 'fabric-loom' version "${loom_version}"
id 'maven-publish'
id "com.modrinth.minotaur" version "2.+"
id "com.matthewprenger.cursegradle" version "1.4.0"
}
sourceCompatibility = JavaVersion.VERSION_16
targetCompatibility = JavaVersion.VERSION_16
apply from: "bclib.gradle"
archivesBaseName = project.archives_base_name
version = project.mod_version
group = project.maven_group
//from https://lowcarbrob.medium.com/android-pro-tip-generating-your-apps-changelog-from-git-inside-build-gradle-19a07533eec4
String generateChangelog() {
println "Assembeling Changelog ..."
def lastTag = "git describe --tags --abbrev=0".execute().text.trim()
def gitLogCmd = "git log $lastTag..HEAD --oneline --no-merges --pretty=format:\"%s\"".execute().text.trim()
repositories {
maven { url "https://maven.dblsaiko.net/" }
maven { url "https://server.bbkr.space:8081/artifactory/libs-release/" }
maven { url "https://maven.fabricmc.net/" }
maven { url 'https://maven.blamejared.com' }
maven { url "https://maven.shedaniel.me/" }
maven { url 'https://jitpack.io' }
def features = ""
def fixes = ""
def changes = ""
gitLogCmd.eachLine { gitLine ->
def line = gitLine.substring(1, gitLine.length() - 1)
if (line.trim().startsWith("[")) {
def sline = line.split("]", 2)
if (sline.length == 2) {
def type = sline[0].trim().toLowerCase().substring(1)
def comment = sline[1].trim()
//filter issue links
if (comment.contains("(")) {
def cline = comment.split("\\(", 2)
if (cline.length == 2 && cline[1].contains("#")) {
comment = cline[0].trim()
}
}
if (type == "fix" || type == "fixes" || type == "fixed") {
fixes += "- $comment \n"
} else if (type == "feature" || type == "features") {
features += "- $comment \n"
} else if (type == "change" || type == "changes" || type == "changed") {
changes += "- $comment \n"
} else {
println "Unknown Type: $type ($line)"
}
}
}
}
def changelog = ""
if (!features.isEmpty()) {
changelog += "#### Features\n"
changelog += features.trim()
changelog += "\n\n"
}
if (!changes.isEmpty()) {
changelog += "#### Changes\n"
changelog += changes.trim()
changelog += "\n\n"
}
if (!fixes.isEmpty()) {
changelog += "#### Fixes\n"
changelog += fixes.trim()
changelog += "\n\n"
}
println "Changelog since $lastTag:\n$changelog"
return changelog
}
dependencies {
minecraft "com.mojang:minecraft:${project.minecraft_version}"
mappings minecraft.officialMojangMappings()
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
//useApi "vazkii.patchouli:Patchouli:1.16.4-${project.patchouli_version}"
task changelog() {
doLast {
new File(projectDir, "CHANGES.md").text = generateChangelog()
}
}
def useOptional(String dep) {
dependencies.modRuntime (dep) {
exclude group: "net.fabricmc.fabric-api"
exclude group: "net.fabricmc"
if (!dep.contains("me.shedaniel")) {
exclude group: "me.shedaniel"
}
}
dependencies.modCompileOnly (dep) {
exclude group: "net.fabricmc.fabric-api"
exclude group: "net.fabricmc"
if (!dep.contains("me.shedaniel")) {
exclude group: "me.shedaniel"
}
}
modrinth {
def changes = new File(projectDir, "CHANGES.md")
if (changes.exists()) {
changes = changes.getText('UTF-8')
} else {
changes = ""
}
def modrinth_token = new File(projectDir, "../MODRINTH_TOKEN")
if (modrinth_token.exists()) {
modrinth_token = modrinth_token.text
} else {
modrinth_token = ""
}
def slurper = new groovy.json.JsonSlurper()
token = modrinth_token
projectId = project.archives_base_name
versionNumber = project.mod_version
versionType = project.release_channel
uploadFile = remapJar
gameVersions = slurper.parseText(project.modrinth_versions)
loaders = ["fabric"]
changelog = changes
dependencies {
required.project "fabric-api"
optional.project "modmenu"
}
debugMode = false
}
def useApi(String dep) {
dependencies.modApi (dep) {
exclude group: "net.fabricmc.fabric-api"
exclude group: "net.fabricmc"
if (!dep.contains("me.shedaniel")) {
exclude group: "me.shedaniel"
}
}
curseforge {
def slurper = new groovy.json.JsonSlurper()
apiKey = new File(projectDir, "../CURSEFORGE_TOKEN")
if (apiKey.exists()) {
apiKey = apiKey.text
} else {
apiKey = ""
}
def changes = new File(projectDir, "CHANGES.md")
if (changes.exists()) {
changes = changes.getText('UTF-8')
} else {
changes = ""
}
project {
id = '495191'
changelogType = 'markdown'
changelog = changes
releaseType = project.release_channel
def versions = slurper.parseText(project.modrinth_versions);
def latestVersion = ''
for (v in versions) {
addGameVersion v
latestVersion = "[$v]"
}
addGameVersion 'Fabric'
addGameVersion 'Java 17'
relations {
requiredDependency 'fabric-api'
optionalDependency 'modmenu'
}
mainArtifact(remapJar) {
displayName = "$project.archives_base_name-$project.version $latestVersion"
}
afterEvaluate {
mainArtifact(remapJar.outputs)
}
}
options {
debug = false
forgeGradleIntegration = false
}
}
processResources {
inputs.property "version", project.version
duplicatesStrategy = 'EXCLUDE'
from(sourceSets.main.resources.srcDirs) {
include "fabric.mod.json"
expand "version": project.version
}
task nextVersion() {
doLast {
def inputFile = new File('modrinth.json')
def gameVersions = java.net.URLEncoder.encode(project.modrinth_versions, "UTF-8")
new URL("https://api.modrinth.com/v2/project/${project.archives_base_name}/version?&game_versions=${gameVersions}").withInputStream { i -> inputFile.withOutputStream { it << i } }
from(sourceSets.main.resources.srcDirs) {
exclude "fabric.mod.json"
}
}
def json = new groovy.json.JsonSlurper().parseText(inputFile.text)
def version = json[0].version_number
// ensure that the encoding is set to UTF-8, no matter what the system default is
// this fixes some edge cases with special characters not displaying correctly
// see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
//increment patch version
def indexedVersionList = version.split(/\./).toList().withIndex()
indexedVersionList = indexedVersionList.collect { num, idx -> num.toInteger() }
indexedVersionList[2] = indexedVersionList[2].value + 1
def updatedVersion = indexedVersionList.join(".")
javadoc {
options.tags = [ "reason" ]
}
println "\n\n"
println "------------- CURRENT VERSION -------------"
println "Last Published Version: " + version
println " Game Versions: " + json[0].game_versions
println " Status: " + json[0].status
println " Featured: " + json[0].featured
println " Downloaded: " + json[0].downloads
println "\n"
println "-------------- NEXT VERSION ---------------"
println "Next Version: " + updatedVersion
println "\n\n"
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
def propertiesFile = new File("gradle.properties")
def newContents = propertiesFile.text.replaceFirst("mod_version=\\d+.\\d+.\\d+", "mod_version=${updatedVersion}")
propertiesFile.text = newContents
// Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
// if it is present.
// If you remove this task, sources will not be generated.
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
jar {
from "LICENSE"
}
artifacts {
archives sourcesJar
archives javadocJar
}
def env = System.getenv()
import org.kohsuke.github.GHReleaseBuilder
import org.kohsuke.github.GitHub
task release(dependsOn: [remapJar, sourcesJar, javadocJar]) {
onlyIf {
env.GITHUB_TOKEN
}
doLast {
def github = GitHub.connectUsingOAuth(env.GITHUB_TOKEN as String)
def repository = github.getRepository("paulevsGitch/BCLib")
def releaseBuilder = new GHReleaseBuilder(repository, version as String)
releaseBuilder.name("${archivesBaseName}-${version}")
releaseBuilder.body("A changelog can be found at https://github.com/paulevsGitch/BCLib/commits")
releaseBuilder.commitish("main")
def ghRelease = releaseBuilder.create()
ghRelease.uploadAsset(file("${project.buildDir}/libs/${archivesBaseName}-${version}.jar"), "application/java-archive");
ghRelease.uploadAsset(file("${project.buildDir}/libs/${archivesBaseName}-${version}-sources.jar"), "application/java-archive");
ghRelease.uploadAsset(file("${project.buildDir}/libs/${archivesBaseName}-${version}-javadoc.jar"), "application/java-archive");
}
}
// configure the maven publication
publishing {
publications {
gpr(MavenPublication) {
artifactId archivesBaseName
artifact(remapJar) {
builtBy remapJar
}
artifact(sourcesJar) {
builtBy remapSourcesJar
}
}
}
// select the repositories you want to publish to
repositories {
maven {
name = "GitHubPackages"
url = uri("https://maven.pkg.github.com/paulevsgitch/bclib")
credentials {
username = env.GITHUB_USER
password = env.GITHUB_TOKEN
}
}
}
}
def fabricFile = new File("src/main/resources/fabric.mod.json")
newContents = fabricFile.text.replaceFirst('"version": ".+"', "\"version\": \"${updatedVersion}\"")
fabricFile.text = newContents
}
}

View file

@ -1,18 +1,21 @@
# Done to increase the memory available to gradle.
org.gradle.jvmargs=-Xmx2G
org.gradle.jvmargs=-Xmx8G
#Modrinth
modrinth_versions=["1.20", "1.20.1"]
#`release`, `beta` or `alpha`
release_channel=release
#Loom
loom_version=1.0-SNAPSHOT
# Fabric Properties
# check these on https://fabricmc.net/use
minecraft_version= 1.17
yarn_mappings= 6
loader_version= 0.11.6
# check these on https://fabricmc.net/versions.html
minecraft_version=1.20.1
loader_version=0.14.21
fabric_version=0.86.1+1.20.1
# Mod Properties
mod_version = 0.2.0
maven_group = ru.bclib
archives_base_name = bclib
mod_version=3.0.14
maven_group=org.betterx.bclib
archives_base_name=bclib
# Dependencies
# currently not on the main fabric site, check on the maven: https://maven.fabricmc.net/net/fabricmc/fabric-api/fabric-api
patchouli_version = 50-FABRIC
fabric_version = 0.36.0+1.17
modmenu_version=7.0.0
emi_version=1.0.3+1.20
wunderlib_version=1.1.5

Binary file not shown.

View file

@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists

269
gradlew vendored Normal file → Executable file
View file

@ -1,7 +1,7 @@
#!/usr/bin/env sh
#!/bin/sh
#
# Copyright 2015 the original author or authors.
# Copyright © 2015-2021 the original authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@ -17,78 +17,113 @@
#
##############################################################################
##
## Gradle start up script for UN*X
##
#
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
# noncompliant, but you have some other compliant shell such as ksh or
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
# * functions;
# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
# * compound commands having a testable exit status, especially «case»;
# * various built-in commands including «command», «set», and «ulimit».
#
# Important for patching:
#
# (2) This script targets any POSIX shell, so it avoids extensions provided
# by Bash, Ksh, etc; in particular arrays are avoided.
#
# The "traditional" practice of packing multiple parameters into a
# space-separated string is a well documented source of bugs and security
# problems, so this is (mostly) avoided, by progressively accumulating
# options in "$@", and eventually passing that to Java.
#
# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
# see the in-line comments for details.
#
# There are tweaks for specific operating systems such as AIX, CygWin,
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
#
##############################################################################
# Attempt to set APP_HOME
# Resolve links: $0 may be a link
PRG="$0"
# Need this for relative symlinks.
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG=`dirname "$PRG"`"/$link"
fi
app_path=$0
# Need this for daisy-chained symlinks.
while
APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
[ -h "$app_path" ]
do
ls=$( ls -ld "$app_path" )
link=${ls#*' -> '}
case $link in #(
/*) app_path=$link ;; #(
*) app_path=$APP_HOME$link ;;
esac
done
SAVED="`pwd`"
cd "`dirname \"$PRG\"`/" >/dev/null
APP_HOME="`pwd -P`"
cd "$SAVED" >/dev/null
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
APP_NAME="Gradle"
APP_BASE_NAME=`basename "$0"`
APP_BASE_NAME=${0##*/}
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD="maximum"
MAX_FD=maximum
warn () {
echo "$*"
}
} >&2
die () {
echo
echo "$*"
echo
exit 1
}
} >&2
# OS specific support (must be 'true' or 'false').
cygwin=false
msys=false
darwin=false
nonstop=false
case "`uname`" in
CYGWIN* )
cygwin=true
;;
Darwin* )
darwin=true
;;
MINGW* )
msys=true
;;
NONSTOP* )
nonstop=true
;;
case "$( uname )" in #(
CYGWIN* ) cygwin=true ;; #(
Darwin* ) darwin=true ;; #(
MSYS* | MINGW* ) msys=true ;; #(
NONSTOP* ) nonstop=true ;;
esac
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
# Determine the Java command to use to start the JVM.
if [ -n "$JAVA_HOME" ] ; then
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
# IBM's JDK on AIX uses strange locations for the executables
JAVACMD="$JAVA_HOME/jre/sh/java"
JAVACMD=$JAVA_HOME/jre/sh/java
else
JAVACMD="$JAVA_HOME/bin/java"
JAVACMD=$JAVA_HOME/bin/java
fi
if [ ! -x "$JAVACMD" ] ; then
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
@ -97,7 +132,7 @@ Please set the JAVA_HOME variable in your environment to match the
location of your Java installation."
fi
else
JAVACMD="java"
JAVACMD=java
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
@ -105,79 +140,95 @@ location of your Java installation."
fi
# Increase the maximum file descriptors if we can.
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
MAX_FD_LIMIT=`ulimit -H -n`
if [ $? -eq 0 ] ; then
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
MAX_FD="$MAX_FD_LIMIT"
fi
ulimit -n $MAX_FD
if [ $? -ne 0 ] ; then
warn "Could not set maximum file descriptor limit: $MAX_FD"
fi
else
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
fi
fi
# For Darwin, add options to specify how the application appears in the dock
if $darwin; then
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
fi
# For Cygwin or MSYS, switch paths to Windows format before running java
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
JAVACMD=`cygpath --unix "$JAVACMD"`
# We build the pattern for arguments to be converted via cygpath
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
SEP=""
for dir in $ROOTDIRSRAW ; do
ROOTDIRS="$ROOTDIRS$SEP$dir"
SEP="|"
done
OURCYGPATTERN="(^($ROOTDIRS))"
# Add a user-defined pattern to the cygpath arguments
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
fi
# Now convert the arguments - kludge to limit ourselves to /bin/sh
i=0
for arg in "$@" ; do
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
else
eval `echo args$i`="\"$arg\""
fi
i=`expr $i + 1`
done
case $i in
0) set -- ;;
1) set -- "$args0" ;;
2) set -- "$args0" "$args1" ;;
3) set -- "$args0" "$args1" "$args2" ;;
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
case $MAX_FD in #(
max*)
MAX_FD=$( ulimit -H -n ) ||
warn "Could not query maximum file descriptor limit"
esac
case $MAX_FD in #(
'' | soft) :;; #(
*)
ulimit -n "$MAX_FD" ||
warn "Could not set maximum file descriptor limit to $MAX_FD"
esac
fi
# Escape application args
save () {
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
echo " "
}
APP_ARGS=`save "$@"`
# Collect all arguments for the java command, stacking in reverse order:
# * args from the command line
# * the main class name
# * -classpath
# * -D...appname settings
# * --module-path (only if needed)
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
# Collect all arguments for the java command, following the shell quoting and substitution rules
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
# For Cygwin or MSYS, switch paths to Windows format before running java
if "$cygwin" || "$msys" ; then
APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
JAVACMD=$( cygpath --unix "$JAVACMD" )
# Now convert the arguments - kludge to limit ourselves to /bin/sh
for arg do
if
case $arg in #(
-*) false ;; # don't mess with options #(
/?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
[ -e "$t" ] ;; #(
*) false ;;
esac
then
arg=$( cygpath --path --ignore --mixed "$arg" )
fi
# Roll the args list around exactly as many times as the number of
# args, so each arg winds up back in the position where it started, but
# possibly modified.
#
# NB: a `for` loop captures its iteration list before it begins, so
# changing the positional parameters here affects neither the number of
# iterations, nor the values presented in `arg`.
shift # remove old arg
set -- "$@" "$arg" # push replacement arg
done
fi
# Collect all arguments for the java command;
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
# shell script including quotes and variable substitutions, so put them in
# double quotes to make sure that they get re-expanded; and
# * put everything else in single quotes, so that it's not re-expanded.
set -- \
"-Dorg.gradle.appname=$APP_BASE_NAME" \
-classpath "$CLASSPATH" \
org.gradle.wrapper.GradleWrapperMain \
"$@"
# Use "xargs" to parse quoted args.
#
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
#
# In Bash we could simply go:
#
# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
# set -- "${ARGS[@]}" "$@"
#
# but POSIX shell has neither arrays nor command substitution, so instead we
# post-process each arg (as a line of input to sed) to backslash-escape any
# character that might be a shell metacharacter, then use eval to reverse
# that process (while maintaining the separation between arguments), and wrap
# the whole thing up as a single "set" statement.
#
# This will of course break if any of these variables contains a newline or
# an unmatched quote.
#
eval "set -- $(
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
xargs -n1 |
sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
tr '\n' ' '
)" '"$@"'
exec "$JAVACMD" "$@"

22
gradlew.bat vendored
View file

@ -40,7 +40,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome
set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if "%ERRORLEVEL%" == "0" goto init
if "%ERRORLEVEL%" == "0" goto execute
echo.
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
@ -54,7 +54,7 @@ goto fail
set JAVA_HOME=%JAVA_HOME:"=%
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto init
if exist "%JAVA_EXE%" goto execute
echo.
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
@ -64,28 +64,14 @@ echo location of your Java installation.
goto fail
:init
@rem Get command-line arguments, handling Windows variants
if not "%OS%" == "Windows_NT" goto win9xME_args
:win9xME_args
@rem Slurp the command line arguments.
set CMD_LINE_ARGS=
set _SKIP=2
:win9xME_args_slurp
if "x%~1" == "x" goto execute
set CMD_LINE_ARGS=%*
:execute
@rem Setup the command line
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
:end
@rem End local scope for the variables with windows NT shell

903
javadoc.css Normal file
View file

@ -0,0 +1,903 @@
/*
* Javadoc style sheet
*/
@import url("resources/fonts/dejavu.css");
/*
* Styles for individual HTML elements.
*
* These are styles that are specific to individual HTML elements. Changing them affects the style of a particular
* HTML element throughout the page.
*/
body {
background-color: #ffffff;
color: #353833;
font-family: "DejaVu Sans", Arial, Helvetica, sans-serif;
font-size: 14px;
margin: 0;
padding: 0;
height: 100%;
width: 100%;
}
iframe {
margin: 0;
padding: 0;
height: 100%;
width: 100%;
overflow-y: scroll;
border: none;
}
a:link,
a:visited {
text-decoration: none;
color: #4a6782;
}
a[href]:hover,
a[href]:focus {
text-decoration: none;
color: #bb7a2a;
}
a[name] {
color: #353833;
}
pre {
font-family: "DejaVu Sans Mono", monospace;
font-size: 16px;
background-color: #fffadb;
border-radius: 5px;
}
h1 {
font-size: 20px;
}
h2 {
font-size: 18px;
}
h3 {
font-size: 16px;
}
h4 {
font-size: 13px;
}
h5 {
font-size: 12px;
}
h6 {
font-size: 11px;
}
ul {
list-style-type: disc;
}
code,
tt {
font-family: "DejaVu Sans Mono", monospace;
font-size: 14px;
padding-top: 4px;
margin-top: 8px;
line-height: 1.4em;
}
dt code {
font-family: "DejaVu Sans Mono", monospace;
font-size: 14px;
padding-top: 4px;
}
.summary-table dt code {
font-family: "DejaVu Sans Mono", monospace;
font-size: 14px;
vertical-align: top;
padding-top: 4px;
}
sup {
font-size: 8px;
}
button {
font-family: "DejaVu Sans", Arial, Helvetica, sans-serif;
font-size: 14px;
}
/*
* Styles for HTML generated by javadoc.
*
* These are style classes that are used by the standard doclet to generate HTML documentation.
*/
/*
* Styles for document title and copyright.
*/
.clear {
clear: both;
height: 0;
overflow: hidden;
}
.about-language {
float: right;
padding: 0 21px 8px 8px;
font-size: 11px;
margin-top: -9px;
height: 2.9em;
}
.legal-copy {
margin-left: 0.5em;
}
.tab {
background-color: #0066ff;
color: #ffffff;
padding: 8px;
width: 5em;
font-weight: bold;
}
/*
* Styles for navigation bar.
*/
@media screen {
.flex-box {
position: fixed;
display: flex;
flex-direction: column;
height: 100%;
width: 100%;
}
.flex-header {
flex: 0 0 auto;
}
.flex-content {
flex: 1 1 auto;
overflow-y: auto;
}
}
.top-nav {
background-color: #4d7a97;
color: #ffffff;
float: left;
padding: 0;
width: 100%;
clear: right;
min-height: 2.8em;
padding-top: 10px;
overflow: hidden;
font-size: 12px;
}
.sub-nav {
background-color: #dee3e9;
float: left;
width: 100%;
overflow: hidden;
font-size: 12px;
}
.sub-nav div {
clear: left;
float: left;
padding: 0 0 5px 6px;
text-transform: uppercase;
}
.sub-nav .nav-list {
padding-top: 5px;
}
ul.nav-list {
display: block;
margin: 0 25px 0 0;
padding: 0;
}
ul.sub-nav-list {
float: left;
margin: 0 25px 0 0;
padding: 0;
}
ul.nav-list li {
list-style: none;
float: left;
padding: 5px 6px;
text-transform: uppercase;
}
.sub-nav .nav-list-search {
float: right;
margin: 0 0 0 0;
padding: 5px 6px;
clear: none;
}
.nav-list-search label {
position: relative;
right: -16px;
}
ul.sub-nav-list li {
list-style: none;
float: left;
padding-top: 10px;
}
.top-nav a:link,
.top-nav a:active,
.top-nav a:visited {
color: #ffffff;
text-decoration: none;
text-transform: uppercase;
}
.top-nav a:hover {
text-decoration: none;
color: #bb7a2a;
text-transform: uppercase;
}
.nav-bar-cell1-rev {
background-color: #f8981d;
color: #253441;
margin: auto 5px;
}
.skip-nav {
position: absolute;
top: auto;
left: -9999px;
overflow: hidden;
}
/*
* Hide navigation links and search box in print layout
*/
@media print {
ul.nav-list,
div.sub-nav {
display: none;
}
}
/*
* Styles for page header and footer.
*/
.title {
color: #2c4557;
margin: 10px 0;
}
.sub-title {
margin: 5px 0 0 0;
}
.header ul {
margin: 0 0 15px 0;
padding: 0;
}
.header ul li,
.footer ul li {
list-style: none;
font-size: 13px;
}
/*
* Styles for headings.
*/
body.class-declaration-page .summary h2,
body.class-declaration-page .details h2,
body.class-use-page h2,
body.module-declaration-page .block-list h2 {
font-style: italic;
padding: 0;
margin: 15px 0;
}
body.class-declaration-page .summary h3,
body.class-declaration-page .details h3,
body.class-declaration-page .summary .inherited-list h2 {
background-color: #dee3e9;
border: 1px solid #d0d9e0;
margin: 0 0 6px -8px;
padding: 7px 5px;
}
/*
* Styles for page layout containers.
*/
main {
clear: both;
padding: 10px 20px;
position: relative;
}
dl.notes > dt {
font-family: "DejaVu Sans", Arial, Helvetica, sans-serif;
font-size: 12px;
font-weight: bold;
margin: 10px 0 0 0;
color: #4e4e4e;
}
dl.notes > dd {
margin: 5px 0 10px 0;
font-size: 15px;
font-family: "Roboto", "DejaVu Sans", "Helvetica Neue", Arial, Helvetica, sans-serif;
}
dl.name-value > dt {
margin-left: 1px;
font-size: 1.1em;
display: inline;
font-weight: bold;
}
dl.name-value > dd {
margin: 0 0 0 1px;
font-size: 1.1em;
display: inline;
}
/*
* Styles for lists.
*/
li.circle {
list-style: circle;
}
ul.horizontal li {
display: inline;
font-size: 0.9em;
}
div.inheritance {
margin: 0;
padding: 0;
}
div.inheritance div.inheritance {
margin-left: 2em;
}
ul.block-list,
ul.details-list,
ul.member-list,
ul.summary-list {
margin: 10px 0 10px 0;
padding: 0;
}
ul.block-list > li,
ul.details-list > li,
ul.member-list > li,
ul.summary-list > li {
list-style: none;
margin-bottom: 15px;
line-height: 1.4;
}
.summary-table dl,
.summary-table dl dt,
.summary-table dl dd {
margin-top: 0;
margin-bottom: 1px;
}
/*
* Styles for tables.
*/
.summary-table {
width: 100%;
border-spacing: 0;
border-left: 1px solid #eee;
border-right: 1px solid #eee;
border-bottom: 1px solid #eee;
}
.summary-table {
padding: 0;
}
.caption {
position: relative;
text-align: left;
background-repeat: no-repeat;
color: #253441;
font-weight: bold;
clear: none;
overflow: hidden;
padding: 0px;
padding-top: 10px;
padding-left: 1px;
margin: 0px;
white-space: pre;
}
.caption a:link,
.caption a:visited {
color: #1f389c;
}
.caption a:hover,
.caption a:active {
color: #ffffff;
}
.caption span {
white-space: nowrap;
padding-top: 5px;
padding-left: 12px;
padding-right: 12px;
padding-bottom: 7px;
display: inline-block;
float: left;
background-color: #f8981d;
border: none;
height: 16px;
}
div.table-tabs > button {
border: none;
cursor: pointer;
padding: 5px 12px 7px 12px;
font-weight: bold;
margin-right: 3px;
}
div.table-tabs > button.active-table-tab {
background: #f8981d;
color: #253441;
}
div.table-tabs > button.table-tab {
background: #4d7a97;
color: #ffffff;
}
.two-column-summary {
display: grid;
grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
}
.three-column-summary {
display: grid;
grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, auto);
}
.four-column-summary {
display: grid;
grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax(10%, max-content) minmax(10%, auto);
}
@media screen and (max-width: 600px) {
.two-column-summary {
display: grid;
grid-template-columns: 1fr;
}
}
@media screen and (max-width: 800px) {
.three-column-summary {
display: grid;
grid-template-columns: minmax(10%, max-content) minmax(25%, auto);
}
.three-column-summary .col-last {
grid-column-end: span 2;
}
}
@media screen and (max-width: 1000px) {
.four-column-summary {
display: grid;
grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
}
}
.summary-table > div {
text-align: left;
padding: 8px 3px 3px 7px;
}
.col-first,
.col-second,
.col-last,
.col-constructor-name,
.col-deprecated-item-name {
vertical-align: top;
padding-right: 0;
padding-top: 8px;
padding-bottom: 3px;
}
.table-header {
background: #dee3e9;
font-weight: bold;
}
.col-first,
.col-first {
font-size: 13px;
}
.col-second,
.col-second,
.col-last,
.col-constructor-name,
.col-deprecated-item-name,
.col-last {
font-size: 13px;
}
.col-first,
.col-second,
.col-constructor-name {
vertical-align: top;
overflow: auto;
}
.col-last {
white-space: normal;
}
.col-first a:link,
.col-first a:visited,
.col-second a:link,
.col-second a:visited,
.col-first a:link,
.col-first a:visited,
.col-second a:link,
.col-second a:visited,
.col-constructor-name a:link,
.col-constructor-name a:visited,
.col-deprecated-item-name a:link,
.col-deprecated-item-name a:visited,
.constant-values-container a:link,
.constant-values-container a:visited,
.all-classes-container a:link,
.all-classes-container a:visited,
.all-packages-container a:link,
.all-packages-container a:visited {
font-weight: bold;
}
.table-sub-heading-color {
background-color: #eeeeff;
}
.even-row-color,
.even-row-color .table-header {
background-color: #ffffff;
}
.odd-row-color,
.odd-row-color .table-header {
background-color: #eeeeef;
}
/*
* Styles for contents.
*/
.deprecated-content {
margin: 0;
padding: 10px 0;
}
div.block {
font-size: 15px;
font-family: "Roboto", "DejaVu Sans", "Helvetica Neue", Arial, Helvetica, sans-serif;
}
.col-last div {
padding-top: 0;
}
.col-last a {
padding-bottom: 3px;
}
.module-signature,
.package-signature,
.type-signature,
.member-signature {
font-family: "DejaVu Sans Mono", monospace;
font-size: 14px;
margin: 14px 0;
white-space: pre-wrap;
}
.module-signature,
.package-signature,
.type-signature {
margin-top: 0;
}
.member-signature .type-parameters-long,
.member-signature .parameters,
.member-signature .exceptions {
display: inline-block;
vertical-align: top;
white-space: pre;
}
.member-signature .type-parameters {
white-space: normal;
}
/*
* Styles for formatting effect.
*/
.source-line-no {
color: green;
padding: 0 30px 0 0;
}
h1.hidden {
visibility: hidden;
overflow: hidden;
font-size: 10px;
}
.block {
display: block;
margin: 0 10px 5px 0;
color: #474747;
}
.deprecated-label,
.descfrm-type-label,
.implementation-label,
.member-name-label,
.member-name-link,
.module-label-in-package,
.module-label-in-type,
.override-specify-label,
.package-label-in-type,
.package-hierarchy-label,
.type-name-label,
.type-name-link,
.search-tag-link {
font-weight: bold;
}
.deprecation-comment,
.help-footnote,
.interface-name {
font-style: italic;
}
.deprecation-block {
font-size: 14px;
font-family: "DejaVu Serif", Georgia, "Times New Roman", Times, serif;
border-style: solid;
border-width: thin;
border-radius: 10px;
padding: 10px;
margin-bottom: 10px;
margin-right: 10px;
display: inline-block;
}
div.block div.deprecation-comment,
div.block div.block span.emphasized-phrase,
div.block div.block span.interface-name {
font-style: normal;
}
/*
* Styles specific to HTML5 elements.
*/
main,
nav,
header,
footer,
section {
display: block;
}
/*
* Styles for javadoc search.
*/
.ui-autocomplete-category {
font-weight: bold;
font-size: 15px;
padding: 7px 0 7px 3px;
background-color: #4d7a97;
color: #ffffff;
}
.result-item {
font-size: 13px;
}
.ui-autocomplete {
max-height: 85%;
max-width: 65%;
overflow-y: scroll;
overflow-x: scroll;
white-space: nowrap;
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
}
ul.ui-autocomplete {
position: fixed;
z-index: 999999;
}
ul.ui-autocomplete li {
float: left;
clear: both;
width: 100%;
}
.result-highlight {
font-weight: bold;
}
#search {
background-image: url("resources/glass.png");
background-size: 13px;
background-repeat: no-repeat;
background-position: 2px 3px;
padding-left: 20px;
position: relative;
right: -18px;
width: 400px;
}
#reset {
background-color: rgb(255, 255, 255);
background-image: url("resources/x.png");
background-position: center;
background-repeat: no-repeat;
background-size: 12px;
border: 0 none;
width: 16px;
height: 16px;
position: relative;
left: -4px;
top: -4px;
font-size: 0px;
}
.watermark {
color: #545454;
}
.search-tag-desc-result {
font-style: italic;
font-size: 11px;
}
.search-tag-holder-result {
font-style: italic;
font-size: 12px;
}
.search-tag-result:target {
background-color: yellow;
}
.module-graph span {
display: none;
position: absolute;
}
.module-graph:hover span {
display: block;
margin: -100px 0 0 100px;
z-index: 1;
}
.inherited-list {
margin: 10px 0 10px 0;
}
section.description {
line-height: 1.4;
}
.summary section[class$="-summary"],
.details section[class$="-details"],
.class-uses .detail,
.serialized-class-details {
padding: 0px 20px 5px 10px;
border: 1px solid #ededed;
background-color: #f8f8f8;
}
.inherited-list,
section[class$="-details"] .detail {
padding: 0 0 5px 8px;
background-color: #ffffff;
border: none;
}
.vertical-separator {
padding: 0 5px;
}
ul.help-section-list {
margin: 0;
}
/*
* Indicator icon for external links.
*/
main a[href*="://"]::after
{
content: "";
display: inline-block;
background-image: url('data:image/svg+xml; utf8, \
<svg xmlns="http://www.w3.org/2000/svg" width="768" height="768">\
<path d="M584 664H104V184h216V80H0v688h688V448H584zM384 0l132 \
132-240 240 120 120 240-240 132 132V0z" fill="%234a6782"/>\
</svg>');
background-size: 100% 100%;
width: 7px;
height: 7px;
margin-left: 2px;
margin-bottom: 4px;
}
main a[href*="://"]:hover::after,
main a[href*="://"]:focus::after
{
background-image: url('data:image/svg+xml; utf8, \
<svg xmlns="http://www.w3.org/2000/svg" width="768" height="768">\
<path d="M584 664H104V184h216V80H0v688h688V448H584zM384 0l132 \
132-240 240 120 120 240-240 132 132V0z" fill="%23bb7a2a"/>\
</svg>');
}
/*
* Styles for user-provided tables.
*
* borderless:
* No borders, vertical margins, styled caption.
* This style is provided for use with existing doc comments.
* In general, borderless tables should not be used for layout purposes.
*
* plain:
* Plain borders around table and cells, vertical margins, styled caption.
* Best for small tables or for complex tables for tables with cells that span
* rows and columns, when the "striped" style does not work well.
*
* striped:
* Borders around the table and vertical borders between cells, striped rows,
* vertical margins, styled caption.
* Best for tables that have a header row, and a body containing a series of simple rows.
*/
table.borderless,
table.plain,
table.striped {
margin-top: 10px;
margin-bottom: 10px;
}
table.borderless > caption,
table.plain > caption,
table.striped > caption {
font-weight: bold;
font-size: smaller;
}
table.borderless th,
table.borderless td,
table.plain th,
table.plain td,
table.striped th,
table.striped td {
padding: 2px 5px;
}
table.borderless,
table.borderless > thead > tr > th,
table.borderless > tbody > tr > th,
table.borderless > tr > th,
table.borderless > thead > tr > td,
table.borderless > tbody > tr > td,
table.borderless > tr > td {
border: none;
}
table.borderless > thead > tr,
table.borderless > tbody > tr,
table.borderless > tr {
background-color: transparent;
}
table.plain {
border-collapse: collapse;
border: 1px solid black;
}
table.plain > thead > tr,
table.plain > tbody tr,
table.plain > tr {
background-color: transparent;
}
table.plain > thead > tr > th,
table.plain > tbody > tr > th,
table.plain > tr > th,
table.plain > thead > tr > td,
table.plain > tbody > tr > td,
table.plain > tr > td {
border: 1px solid black;
}
table.striped {
border-collapse: collapse;
border: 1px solid black;
}
table.striped > thead {
background-color: #e3e3e3;
}
table.striped > thead > tr > th,
table.striped > thead > tr > td {
border: 1px solid black;
}
table.striped > tbody > tr:nth-child(even) {
background-color: #eee;
}
table.striped > tbody > tr:nth-child(odd) {
background-color: #fff;
}
table.striped > tbody > tr > th,
table.striped > tbody > tr > td {
border-left: 1px solid black;
border-right: 1px solid black;
}
table.striped > tbody > tr > th {
font-weight: normal;
}
/**
* Tweak font sizes and paddings for small screens.
*/
@media screen and (max-width: 1050px) {
#search {
width: 300px;
}
}
@media screen and (max-width: 800px) {
#search {
width: 200px;
}
.top-nav,
.bottom-nav {
font-size: 11px;
padding-top: 6px;
}
.sub-nav {
font-size: 11px;
}
.about-language {
padding-right: 16px;
}
ul.nav-list li,
.sub-nav .nav-list-search {
padding: 6px;
}
ul.sub-nav-list li {
padding-top: 5px;
}
main {
padding: 10px;
}
.summary section[class$="-summary"],
.details section[class$="-details"],
.class-uses .detail,
.serialized-class-details {
padding: 0 8px 5px 8px;
}
body {
-webkit-text-size-adjust: none;
}
}
@media screen and (max-width: 500px) {
#search {
width: 150px;
}
.top-nav,
.bottom-nav {
font-size: 10px;
}
.sub-nav {
font-size: 10px;
}
.about-language {
font-size: 10px;
padding-right: 12px;
}
}

6
jitpack.yml Normal file
View file

@ -0,0 +1,6 @@
# From https://github.com/jitpack/jitpack.io/issues/4506#issuecomment-864562270
before_install:
- source "$HOME/.sdkman/bin/sdkman-init.sh"
- sdk update
- sdk install java 17.0.1-tem
- sdk use java 17.0.1-tem

View file

@ -7,3 +7,40 @@ pluginManagement {
gradlePluginPortal()
}
}
// #### Custom Settings ####
// Change the next line to disable local lib loading
def allowLocalLibUse = true
//When true, the local lib is also used in commandline builds
def allowLocalLibInConsoleMode = false
//The path were to look for the local BCLib
def WunderLibPath = '../WunderLib'
// #### Logic ####
def isIDE = properties.containsKey('android.injected.invoked.from.ide')
|| (System.getenv("XPC_SERVICE_NAME") ?: "").contains("intellij")
|| (System.getenv("XPC_SERVICE_NAME") ?: "").contains(".idea")
|| System.getenv("IDEA_INITIAL_DIRECTORY") != null
println "IntelliJ: ${isIDE}"
def WunderLibFolder = new File(WunderLibPath)
if (allowLocalLibUse && (isIDE || allowLocalLibInConsoleMode) && WunderLibFolder.exists()) {
println "Using local WunderLib from '${WunderLibFolder}' in IntelliJ"
println "If you do not want to load the local version of WunderLib"
println "either rename the Folder containing WunderLib to something"
println "else, or set 'allowLocalLibUse' in settings.gradle"
println "to false."
println ""
println "If you receive version-errors when launching minecraft"
println "in IntelliJ, make sure you have set up gradle instead"
println "of IntelliJ to compile and run."
include ':WunderLib'
project(":WunderLib").projectDir = WunderLibFolder
project(':WunderLib').buildFileName = './wunderlib-composit.gradle'
}

View file

@ -0,0 +1,33 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_tag_c_iron_ingots": {
"conditions": {
"items": [
{
"tag": "c:iron_ingots"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "bclib:tag_cauldron"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_tag_c_iron_ingots",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"bclib:tag_cauldron"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,44 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_tag_c_iron_ingots": {
"conditions": {
"items": [
{
"tag": "c:iron_ingots"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_tag_minecraft_planks": {
"conditions": {
"items": [
{
"tag": "minecraft:planks"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "bclib:tag_shield"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_tag_c_iron_ingots",
"has_tag_minecraft_planks",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"bclib:tag_shield"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,46 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_shulker_shell": {
"conditions": {
"items": [
{
"items": [
"minecraft:shulker_shell"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_tag_c_chest": {
"conditions": {
"items": [
{
"tag": "c:chest"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "bclib:tag_shulker_box"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_tag_c_chest",
"has_shulker_shell",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"bclib:tag_shulker_box"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,44 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_tag_c_iron_ingots": {
"conditions": {
"items": [
{
"tag": "c:iron_ingots"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_tag_minecraft_planks": {
"conditions": {
"items": [
{
"tag": "minecraft:planks"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "bclib:tag_smith_table"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_tag_c_iron_ingots",
"has_tag_minecraft_planks",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"bclib:tag_smith_table"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,46 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_stone": {
"conditions": {
"items": [
{
"items": [
"minecraft:stone"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_tag_c_iron_ingots": {
"conditions": {
"items": [
{
"tag": "c:iron_ingots"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "bclib:tag_stonecutter"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_stone",
"has_tag_c_iron_ingots",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"bclib:tag_stonecutter"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,33 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_tag_c_iron_ingots": {
"conditions": {
"items": [
{
"tag": "c:iron_ingots"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "bclib:tag_bucket"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_tag_c_iron_ingots",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"bclib:tag_bucket"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,44 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_tag_c_chest": {
"conditions": {
"items": [
{
"tag": "c:chest"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_tag_c_iron_ingots": {
"conditions": {
"items": [
{
"tag": "c:iron_ingots"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "bclib:tag_hopper"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_tag_c_chest",
"has_tag_c_iron_ingots",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"bclib:tag_hopper"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,70 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_cobblestone": {
"conditions": {
"items": [
{
"items": [
"minecraft:cobblestone"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_redstone": {
"conditions": {
"items": [
{
"items": [
"minecraft:redstone"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_tag_c_iron_ingots": {
"conditions": {
"items": [
{
"tag": "c:iron_ingots"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_tag_minecraft_planks": {
"conditions": {
"items": [
{
"tag": "minecraft:planks"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "bclib:tag_piston"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_cobblestone",
"has_tag_c_iron_ingots",
"has_redstone",
"has_tag_minecraft_planks",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"bclib:tag_piston"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,46 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_redstone": {
"conditions": {
"items": [
{
"items": [
"minecraft:redstone"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_tag_c_iron_ingots": {
"conditions": {
"items": [
{
"tag": "c:iron_ingots"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "bclib:tag_compass"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_tag_c_iron_ingots",
"has_redstone",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"bclib:tag_compass"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,33 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_tag_c_iron_ingots": {
"conditions": {
"items": [
{
"tag": "c:iron_ingots"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "bclib:tag_minecart"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_tag_c_iron_ingots",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"bclib:tag_minecart"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,46 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_stick": {
"conditions": {
"items": [
{
"items": [
"minecraft:stick"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_tag_c_iron_ingots": {
"conditions": {
"items": [
{
"tag": "c:iron_ingots"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "bclib:tag_rail"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_tag_c_iron_ingots",
"has_stick",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"bclib:tag_rail"
]
},
"sends_telemetry_event": false
}

View file

@ -0,0 +1,17 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"key": {
"I": {
"tag": "c:iron_ingots"
}
},
"pattern": [
"I I",
" I "
],
"result": {
"item": "minecraft:bucket"
},
"show_notification": true
}

View file

@ -0,0 +1,18 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"key": {
"I": {
"tag": "c:iron_ingots"
}
},
"pattern": [
"I I",
"I I",
"III"
],
"result": {
"item": "minecraft:cauldron"
},
"show_notification": true
}

View file

@ -0,0 +1,21 @@
{
"type": "minecraft:crafting_shaped",
"category": "equipment",
"key": {
"D": {
"item": "minecraft:redstone"
},
"I": {
"tag": "c:iron_ingots"
}
},
"pattern": [
" I ",
"IDI",
" I "
],
"result": {
"item": "minecraft:compass"
},
"show_notification": true
}

View file

@ -0,0 +1,21 @@
{
"type": "minecraft:crafting_shaped",
"category": "redstone",
"key": {
"C": {
"tag": "c:chest"
},
"I": {
"tag": "c:iron_ingots"
}
},
"pattern": [
"I I",
"ICI",
" I "
],
"result": {
"item": "minecraft:hopper"
},
"show_notification": true
}

View file

@ -0,0 +1,17 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"key": {
"I": {
"tag": "c:iron_ingots"
}
},
"pattern": [
"I I",
"III"
],
"result": {
"item": "minecraft:minecart"
},
"show_notification": true
}

View file

@ -0,0 +1,27 @@
{
"type": "minecraft:crafting_shaped",
"category": "redstone",
"key": {
"C": {
"item": "minecraft:cobblestone"
},
"D": {
"item": "minecraft:redstone"
},
"I": {
"tag": "c:iron_ingots"
},
"W": {
"tag": "minecraft:planks"
}
},
"pattern": [
"WWW",
"CIC",
"CDC"
],
"result": {
"item": "minecraft:piston"
},
"show_notification": true
}

View file

@ -0,0 +1,22 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"key": {
"I": {
"tag": "c:iron_ingots"
},
"S": {
"item": "minecraft:stick"
}
},
"pattern": [
"I I",
"ISI",
"I I"
],
"result": {
"count": 16,
"item": "minecraft:rail"
},
"show_notification": true
}

View file

@ -0,0 +1,21 @@
{
"type": "minecraft:crafting_shaped",
"category": "equipment",
"key": {
"I": {
"tag": "c:iron_ingots"
},
"W": {
"tag": "minecraft:planks"
}
},
"pattern": [
"WIW",
"WWW",
" W "
],
"result": {
"item": "minecraft:shield"
},
"show_notification": true
}

View file

@ -0,0 +1,21 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"key": {
"C": {
"tag": "c:chest"
},
"S": {
"item": "minecraft:shulker_shell"
}
},
"pattern": [
"S",
"C",
"S"
],
"result": {
"item": "minecraft:shulker_box"
},
"show_notification": true
}

View file

@ -0,0 +1,21 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"key": {
"#": {
"tag": "minecraft:planks"
},
"I": {
"tag": "c:iron_ingots"
}
},
"pattern": [
"II",
"##",
"##"
],
"result": {
"item": "minecraft:smithing_table"
},
"show_notification": true
}

View file

@ -0,0 +1,20 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"key": {
"I": {
"tag": "c:iron_ingots"
},
"S": {
"item": "minecraft:stone"
}
},
"pattern": [
" I ",
"SSS"
],
"result": {
"item": "minecraft:stonecutter"
},
"show_notification": true
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"minecraft:bookshelf"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"minecraft:chest"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"#minecraft:dragon_immune"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"minecraft:end_stone"
]
}

View file

@ -0,0 +1,9 @@
{
"replace": false,
"values": [
"#c:terrain",
"#minecraft:dirt",
"#minecraft:logs",
"#minecraft:planks"
]
}

View file

@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"minecraft:crying_obsidian",
"minecraft:obsidian"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"#minecraft:mineable/pickaxe"
]
}

View file

@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"minecraft:mycelium",
"#c:nether_mycelium"
]
}

View file

@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"minecraft:nether_gold_ore",
"minecraft:nether_quartz_ore"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"#minecraft:base_stone_nether"
]
}

View file

@ -0,0 +1,16 @@
{
"replace": false,
"values": [
"minecraft:blackstone",
"minecraft:bone_block",
"minecraft:glowstone",
"minecraft:gravel",
"minecraft:magma_block",
"minecraft:red_sand",
"#c:nether_mycelium",
"#c:nether_ores",
"#c:netherrack",
"#c:soul_ground",
"#minecraft:nylium"
]
}

View file

@ -0,0 +1,10 @@
{
"replace": false,
"values": [
"minecraft:crimson_nylium",
"minecraft:nether_gold_ore",
"minecraft:nether_quartz_ore",
"minecraft:netherrack",
"minecraft:warped_nylium"
]
}

View file

@ -0,0 +1,56 @@
{
"replace": false,
"values": [
"minecraft:allium",
"minecraft:attached_melon_stem",
"minecraft:attached_pumpkin_stem",
"minecraft:azalea",
"minecraft:azure_bluet",
"minecraft:bamboo",
"minecraft:beetroots",
"minecraft:big_dripleaf",
"minecraft:big_dripleaf_stem",
"minecraft:blue_orchid",
"minecraft:cactus",
"minecraft:carrots",
"minecraft:cave_vines",
"minecraft:cave_vines_plant",
"minecraft:cocoa",
"minecraft:cornflower",
"minecraft:dandelion",
"minecraft:fern",
"minecraft:flowering_azalea",
"minecraft:grass",
"minecraft:large_fern",
"minecraft:lilac",
"minecraft:lily_of_the_valley",
"minecraft:lily_pad",
"minecraft:mangrove_leaves",
"minecraft:melon_stem",
"minecraft:orange_tulip",
"minecraft:oxeye_daisy",
"minecraft:peony",
"minecraft:pink_petals",
"minecraft:pink_tulip",
"minecraft:pitcher_crop",
"minecraft:pitcher_plant",
"minecraft:poppy",
"minecraft:potatoes",
"minecraft:pumpkin_stem",
"minecraft:red_tulip",
"minecraft:rose_bush",
"minecraft:small_dripleaf",
"minecraft:spore_blossom",
"minecraft:sugar_cane",
"minecraft:sunflower",
"minecraft:sweet_berry_bush",
"minecraft:tall_grass",
"minecraft:torchflower",
"minecraft:torchflower_crop",
"minecraft:vine",
"minecraft:wheat",
"minecraft:white_tulip",
"minecraft:wither_rose",
"#c:saplings"
]
}

View file

@ -0,0 +1,14 @@
{
"replace": false,
"values": [
"minecraft:acacia_sapling",
"minecraft:bamboo_sapling",
"minecraft:birch_sapling",
"minecraft:cherry_sapling",
"minecraft:dark_oak_sapling",
"minecraft:jungle_sapling",
"minecraft:mangrove_propagule",
"minecraft:oak_sapling",
"minecraft:spruce_sapling"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"minecraft:sculk"
]
}

View file

@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"minecraft:soul_sand",
"minecraft:soul_soil"
]
}

View file

@ -0,0 +1,18 @@
{
"replace": false,
"values": [
"minecraft:bone_block",
"minecraft:glowstone",
"minecraft:gravel",
"minecraft:magma_block",
"minecraft:red_sand",
"minecraft:sand",
"minecraft:sculk",
"#c:end_stones",
"#c:mycelium",
"#c:nether_terrain",
"#minecraft:base_stone_overworld",
"#minecraft:dripstone_replaceable_blocks",
"#minecraft:nylium"
]
}

View file

@ -0,0 +1,9 @@
{
"replace": false,
"values": [
"minecraft:kelp",
"minecraft:kelp_plant",
"minecraft:seagrass",
"minecraft:tall_seagrass"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"minecraft:composter"
]
}

View file

@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"#c:barrel",
"#c:wooden_barrels"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"minecraft:chest"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"minecraft:furnace"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"minecraft:iron_ingot"
]
}

View file

@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"minecraft:soul_sand",
"minecraft:soul_soil"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"minecraft:water_bucket"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"minecraft:end_barrens"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"minecraft:the_end"
]
}

View file

@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"minecraft:end_highlands",
"minecraft:end_midlands"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"minecraft:end_midlands"
]
}

View file

@ -0,0 +1,10 @@
{
"replace": false,
"values": [
"minecraft:small_end_islands",
{
"id": "nullscape:void_barrens",
"required": false
}
]
}

View file

@ -0,0 +1,9 @@
{
"replace": false,
"values": [
"#c:wooden_barrels",
"#c:wooden_chests",
"#c:wooden_composter",
"#c:workbench"
]
}

View file

@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"#c:nether_stones",
"#c:netherrack"
]
}

View file

@ -0,0 +1,10 @@
{
"type": "bclib:biome",
"biome": "minecraft:basalt_deltas",
"edgeSize": 0,
"fogDensity": 1.0,
"genChance": 1.0,
"intended_for": "OTHER_NETHER",
"terrainHeight": 0.1,
"vertical": false
}

View file

@ -0,0 +1,10 @@
{
"type": "bclib:biome",
"biome": "minecraft:crimson_forest",
"edgeSize": 0,
"fogDensity": 1.0,
"genChance": 1.0,
"intended_for": "OTHER_NETHER",
"terrainHeight": 0.1,
"vertical": false
}

View file

@ -0,0 +1,10 @@
{
"type": "bclib:biome",
"biome": "minecraft:end_barrens",
"edgeSize": 0,
"fogDensity": 1.0,
"genChance": 1.0,
"intended_for": "OTHER_END_BARRENS",
"terrainHeight": 0.1,
"vertical": false
}

View file

@ -0,0 +1,11 @@
{
"type": "bclib:biome",
"biome": "minecraft:end_highlands",
"edge": "minecraft:end_midlands",
"edgeSize": 8,
"fogDensity": 1.0,
"genChance": 0.5,
"intended_for": "OTHER_END_LAND",
"terrainHeight": 0.1,
"vertical": false
}

View file

@ -0,0 +1,11 @@
{
"type": "bclib:biome",
"parent": "minecraft:end_highlands",
"biome": "minecraft:end_midlands",
"edgeSize": 0,
"fogDensity": 1.0,
"genChance": 0.5,
"intended_for": "OTHER_END_LAND",
"terrainHeight": 0.1,
"vertical": false
}

View file

@ -0,0 +1,10 @@
{
"type": "bclib:biome",
"biome": "minecraft:nether_wastes",
"edgeSize": 0,
"fogDensity": 1.0,
"genChance": 1.0,
"intended_for": "OTHER_NETHER",
"terrainHeight": 0.1,
"vertical": false
}

View file

@ -0,0 +1,10 @@
{
"type": "bclib:biome",
"biome": "minecraft:small_end_islands",
"edgeSize": 0,
"fogDensity": 1.0,
"genChance": 1.0,
"intended_for": "OTHER_END_VOID",
"terrainHeight": 0.1,
"vertical": false
}

View file

@ -0,0 +1,10 @@
{
"type": "bclib:biome",
"biome": "minecraft:soul_sand_valley",
"edgeSize": 0,
"fogDensity": 1.0,
"genChance": 1.0,
"intended_for": "OTHER_NETHER",
"terrainHeight": 0.1,
"vertical": false
}

View file

@ -0,0 +1,10 @@
{
"type": "bclib:biome",
"biome": "minecraft:the_end",
"edgeSize": 0,
"fogDensity": 1.0,
"genChance": 1.0,
"intended_for": "OTHER_END_CENTER",
"terrainHeight": 0.1,
"vertical": false
}

View file

@ -0,0 +1,10 @@
{
"type": "bclib:biome",
"biome": "minecraft:the_void",
"edgeSize": 0,
"fogDensity": 1.0,
"genChance": 1.0,
"intended_for": "NONE",
"terrainHeight": 0.1,
"vertical": false
}

View file

@ -0,0 +1,10 @@
{
"type": "bclib:biome",
"biome": "minecraft:warped_forest",
"edgeSize": 0,
"fogDensity": 1.0,
"genChance": 1.0,
"intended_for": "OTHER_NETHER",
"terrainHeight": 0.1,
"vertical": false
}

View file

@ -0,0 +1,7 @@
{
"replace": false,
"values": [
"minecraft:crimson_nylium",
"minecraft:warped_nylium"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"minecraft:end_stone"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"minecraft:netherrack"
]
}

View file

@ -0,0 +1,6 @@
{
"replace": false,
"values": [
"minecraft:obsidian"
]
}

View file

@ -0,0 +1,12 @@
package org.anti_ad.mc.ipn.api;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
// Included from "Inventory Profiles Next" (https://github.com/blackd/Inventory-Profiles)
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
public @interface IPNIgnore {
}

View file

@ -0,0 +1,189 @@
package org.betterx.bclib;
import org.betterx.bclib.api.v2.dataexchange.DataExchangeAPI;
import org.betterx.bclib.api.v2.dataexchange.handler.autosync.*;
import org.betterx.bclib.api.v2.levelgen.LevelGenEvents;
import org.betterx.bclib.api.v2.levelgen.biomes.BCLBiomeRegistry;
import org.betterx.bclib.api.v2.levelgen.structures.BCLStructurePoolElementTypes;
import org.betterx.bclib.api.v2.levelgen.structures.TemplatePiece;
import org.betterx.bclib.api.v2.levelgen.surface.rules.Conditions;
import org.betterx.bclib.api.v2.poi.PoiManager;
import org.betterx.bclib.api.v3.levelgen.features.blockpredicates.BlockPredicates;
import org.betterx.bclib.api.v3.levelgen.features.placement.PlacementModifiers;
import org.betterx.bclib.api.v3.tag.BCLBlockTags;
import org.betterx.bclib.blocks.signs.BaseHangingSignBlock;
import org.betterx.bclib.blocks.signs.BaseSignBlock;
import org.betterx.bclib.commands.CommandRegistry;
import org.betterx.bclib.commands.arguments.BCLibArguments;
import org.betterx.bclib.complexmaterials.BCLWoodTypeWrapper;
import org.betterx.bclib.config.Configs;
import org.betterx.bclib.config.PathConfig;
import org.betterx.bclib.networking.VersionChecker;
import org.betterx.bclib.recipes.AlloyingRecipe;
import org.betterx.bclib.recipes.AnvilRecipe;
import org.betterx.bclib.recipes.CraftingRecipes;
import org.betterx.bclib.registry.BaseBlockEntities;
import org.betterx.bclib.registry.BaseRegistry;
import org.betterx.bclib.registry.BlockRegistry;
import org.betterx.datagen.bclib.tests.TestStructure;
import org.betterx.worlds.together.WorldsTogether;
import org.betterx.worlds.together.util.Logger;
import org.betterx.worlds.together.world.WorldConfig;
import net.minecraft.core.Registry;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.core.registries.Registries;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.material.MapColor;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.itemgroup.v1.FabricItemGroup;
import net.fabricmc.loader.api.FabricLoader;
import java.util.List;
public class BCLib implements ModInitializer {
public static final String MOD_ID = "bclib";
public static final Logger LOGGER = new Logger(MOD_ID);
public static final boolean RUNS_NULLSCAPE = FabricLoader.getInstance()
.getModContainer("nullscape")
.isPresent();
public static final boolean ADD_TEST_DATA = false;
private void onDatagen() {
}
@Override
public void onInitialize() {
WorldsTogether.onInitialize();
BCLibArguments.register();
LevelGenEvents.register();
BlockPredicates.ensureStaticInitialization();
BCLBiomeRegistry.register();
BaseRegistry.register();
BaseBlockEntities.register();
CraftingRecipes.init();
BCLStructurePoolElementTypes.ensureStaticallyLoaded();
WorldConfig.registerModCache(MOD_ID);
DataExchangeAPI.registerMod(MOD_ID);
AnvilRecipe.register();
AlloyingRecipe.register();
Conditions.registerAll();
CommandRegistry.register();
BCLBlockTags.ensureStaticallyLoaded();
PoiManager.registerAll();
if (isDevEnvironment()) {
TestStructure.registerBase();
}
if (ADD_TEST_DATA) {
testObjects();
}
DataExchangeAPI.registerDescriptors(List.of(
HelloClient.DESCRIPTOR,
HelloServer.DESCRIPTOR,
RequestFiles.DESCRIPTOR,
SendFiles.DESCRIPTOR,
Chunker.DESCRIPTOR
)
);
BCLibPatch.register();
TemplatePiece.ensureStaticInitialization();
PlacementModifiers.ensureStaticInitialization();
Configs.save();
WorldsTogether.FORCE_SERVER_TO_BETTERX_PRESET = Configs.SERVER_CONFIG.forceBetterXPreset();
VersionChecker.registerMod(MOD_ID);
if (isDatagen()) {
onDatagen();
}
}
public static boolean isDevEnvironment() {
return FabricLoader.getInstance().isDevelopmentEnvironment();
}
public static boolean isDatagen() {
return System.getProperty("fabric-api.datagen") != null;
}
public static boolean isClient() {
return FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT;
}
public static ResourceLocation makeID(String path) {
return new ResourceLocation(MOD_ID, path);
}
public static BCLWoodTypeWrapper TEST_WOOD;
public static BaseSignBlock TEST_SIGN = null;
public static BaseHangingSignBlock TEST_HANGING_SIGN = null;
private static void testObjects() {
var bockReg = new BlockRegistry(new PathConfig(MOD_ID, "test"));
bockReg.register(
makeID("test_sign"),
TEST_SIGN
);
bockReg.registerBlockOnly(
makeID("test_wall_sign"),
TEST_SIGN.getWallSignBlock()
);
bockReg.register(
makeID("test_hanging_sign"),
TEST_HANGING_SIGN
);
bockReg.registerBlockOnly(
makeID("test_wall_hanging_sign"),
TEST_HANGING_SIGN.getWallSignBlock()
);
}
static {
if (ADD_TEST_DATA) {
TEST_WOOD = BCLWoodTypeWrapper.create(makeID("test_wood")).setColor(MapColor.COLOR_MAGENTA).build();
TEST_SIGN = new BaseSignBlock.Wood(TEST_WOOD);
TEST_HANGING_SIGN = new BaseHangingSignBlock.Wood(TEST_WOOD);
final ResourceKey<CreativeModeTab> TAB_TEST_KEY = ResourceKey.create(
Registries.CREATIVE_MODE_TAB,
makeID("test_tab")
);
CreativeModeTab.Builder builder = FabricItemGroup
.builder();
builder.title(Component.translatable("itemGroup.bclib.test"));
builder.icon(() -> new ItemStack(Items.BARRIER));
builder.displayItems((itemDisplayParameters, output) -> {
var list = List.of(TEST_SIGN.asItem(), TEST_HANGING_SIGN.asItem())
.stream().map(b -> new ItemStack(b, 1)).toList();
output.acceptAll(list);
});
final CreativeModeTab TAB_TEST = builder.build();
;
Registry.register(
BuiltInRegistries.CREATIVE_MODE_TAB,
TAB_TEST_KEY,
TAB_TEST
);
}
}
}

View file

@ -0,0 +1,27 @@
package org.betterx.bclib;
import org.betterx.bclib.api.v2.datafixer.DataFixerAPI;
import org.betterx.bclib.api.v2.datafixer.Patch;
import java.util.Map;
public final class BCLibPatch {
public static void register() {
DataFixerAPI.registerPatch(SignPatch::new);
}
}
class SignPatch extends Patch {
public SignPatch() {
super(BCLib.MOD_ID, "3.0.11");
}
@Override
public Map<String, String> getIDReplacements() {
return Map.ofEntries(
Map.entry("bclib:sign", "minecraft:sign")
);
}
}

View file

@ -0,0 +1,23 @@
package org.betterx.bclib.api.v2;
import org.betterx.bclib.mixin.common.ComposterBlockAccessor;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.block.Block;
public class ComposterAPI {
public static Block allowCompost(float chance, Block block) {
if (block != null) {
allowCompost(chance, block.asItem());
}
return block;
}
public static Item allowCompost(float chance, Item item) {
if (item != null && item != Items.AIR) {
ComposterBlockAccessor.callAdd(chance, item);
}
return item;
}
}

View file

@ -0,0 +1,35 @@
package org.betterx.bclib.api.v2;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.state.BlockState;
import java.util.LinkedList;
import java.util.List;
import java.util.Optional;
public class DiggerItemSpeed {
public static final List<SpeedModifier> modifiers = new LinkedList<>();
@FunctionalInterface
public interface SpeedModifier {
Optional<Float> calculateSpeed(ItemStack stack, BlockState state, float initialSpeed, float currentSpeed);
}
public static void addModifier(SpeedModifier mod) {
modifiers.add(mod);
}
public static Optional<Float> getModifiedSpeed(ItemStack stack, BlockState state, float initialSpeed) {
float currentSpeed = initialSpeed;
Optional<Float> speed = Optional.empty();
for (SpeedModifier mod : modifiers) {
Optional<Float> res = mod.calculateSpeed(stack, state, initialSpeed, currentSpeed);
if (res.isPresent()) {
currentSpeed = res.get();
speed = res;
}
}
return speed;
}
}

View file

@ -0,0 +1,146 @@
package org.betterx.bclib.api.v2;
import org.betterx.bclib.api.v2.datafixer.DataFixerAPI;
import net.minecraft.core.Registry;
import net.minecraft.core.registries.Registries;
import net.minecraft.resources.ResourceKey;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.progress.ChunkProgressListener;
import net.minecraft.world.level.CustomSpawner;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.storage.LevelStorageSource;
import net.minecraft.world.level.storage.ServerLevelData;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Executor;
/**
* provides some lifetime hooks for a Minecraft instance
*/
public class LifeCycleAPI {
private final static List<LevelLoadBiomesCall> onLoadLevelBiomes = new ArrayList<>(2);
private final static List<LevelLoadCall> onLoadLevel = new ArrayList<>(2);
private final static List<BeforeLevelLoadCall> beforeLoadLevel = new ArrayList<>(2);
/**
* Register a callback that is called before a level is loaded or created,
* but after the {@link org.betterx.worlds.together.world.WorldConfig} was initialized and patches from
* the {@link DataFixerAPI} were applied.
*
* @param call The callback Method
*/
public static void beforeLevelLoad(BeforeLevelLoadCall call) {
beforeLoadLevel.add(call);
}
/**
* Register a callback that is called when a new {@code ServerLevel is instantiated}.
* This callback will receive the world seed as well as it's biome registry.
*
* @param call The calbback Method
*/
public static void onLevelLoad(LevelLoadBiomesCall call) {
onLoadLevelBiomes.add(call);
}
/**
* Register a callback that is called when a new {@code ServerLevel is instantiated}.
* This callbacl will receiv all parameters that were passed to the ServerLevel's constructor
*
* @param call The calbback Method
*/
public static void onLevelLoad(LevelLoadCall call) {
onLoadLevel.add(call);
}
/**
* For internal use, You should not call this method!
*/
public static void _runBeforeLevelLoad() {
beforeLoadLevel.forEach(c -> c.beforeLoad());
}
/**
* For internal use, You should not call this method!
*
* @param minecraftServer
* @param executor
* @param levelStorageAccess
* @param serverLevelData
* @param resourceKey
* @param chunkProgressListener
* @param bl
* @param l
* @param list
* @param bl2
*/
public static void _runLevelLoad(
ServerLevel world,
MinecraftServer minecraftServer,
Executor executor,
LevelStorageSource.LevelStorageAccess levelStorageAccess,
ServerLevelData serverLevelData,
ResourceKey<Level> resourceKey,
ChunkProgressListener chunkProgressListener,
boolean bl,
long l,
List<CustomSpawner> list,
boolean bl2
) {
onLoadLevel.forEach(c -> c.onLoad(
world,
minecraftServer,
executor,
levelStorageAccess,
serverLevelData,
resourceKey,
chunkProgressListener,
bl,
l,
list,
bl2
));
final long seed = world.getSeed();
final Registry<Biome> biomeRegistry = world.registryAccess().registryOrThrow(Registries.BIOME);
onLoadLevelBiomes.forEach(c -> c.onLoad(world, seed, biomeRegistry));
}
/**
* A callback function that is used for each new ServerLevel instance
*/
public interface BeforeLevelLoadCall {
void beforeLoad();
}
/**
* A callback function that is used for each new ServerLevel instance
*/
public interface LevelLoadBiomesCall {
void onLoad(ServerLevel world, long seed, Registry<Biome> registry);
}
/**
* A callback function that is used for each new ServerLevel instance
*/
public interface LevelLoadCall {
void onLoad(
ServerLevel world,
MinecraftServer minecraftServer,
Executor executor,
LevelStorageSource.LevelStorageAccess levelStorageAccess,
ServerLevelData serverLevelData,
ResourceKey<Level> resourceKey,
ChunkProgressListener chunkProgressListener,
boolean bl,
long l,
List<CustomSpawner> list,
boolean bl2
);
}
}

View file

@ -0,0 +1,49 @@
package org.betterx.bclib.api.v2;
import org.betterx.bclib.integration.ModIntegration;
import net.fabricmc.loader.api.FabricLoader;
import com.google.common.collect.Lists;
import java.util.List;
public class ModIntegrationAPI {
private static final List<ModIntegration> INTEGRATIONS = Lists.newArrayList();
private static final boolean HAS_CANVAS = FabricLoader.getInstance().isModLoaded("canvas");
/**
* Registers mod integration
*
* @param integration
* @return
*/
public static ModIntegration register(ModIntegration integration) {
INTEGRATIONS.add(integration);
return integration;
}
/**
* Get all registered mod integrations.
*
* @return {@link List} of {@link ModIntegration}.
*/
public static List<ModIntegration> getIntegrations() {
return INTEGRATIONS;
}
/**
* Initialize all integrations, only for internal usage.
*/
public static void registerAll() {
INTEGRATIONS.forEach(integration -> {
if (integration.modIsInstalled()) {
integration.init();
}
});
}
public static boolean hasCanvas() {
return HAS_CANVAS;
}
}

View file

@ -0,0 +1,267 @@
package org.betterx.bclib.api.v2;
import org.betterx.bclib.BCLib;
import org.betterx.bclib.api.v2.levelgen.biomes.InternalBiomeAPI;
import org.betterx.bclib.behaviours.interfaces.*;
import org.betterx.bclib.blocks.BaseBarrelBlock;
import org.betterx.bclib.blocks.BaseChestBlock;
import org.betterx.bclib.blocks.BaseFurnaceBlock;
import org.betterx.bclib.client.render.BCLRenderLayer;
import org.betterx.bclib.client.render.BaseChestBlockEntityRenderer;
import org.betterx.bclib.config.Configs;
import org.betterx.bclib.interfaces.Fuel;
import org.betterx.bclib.interfaces.PostInitable;
import org.betterx.bclib.interfaces.RenderLayerProvider;
import org.betterx.bclib.interfaces.TagProvider;
import org.betterx.bclib.interfaces.tools.*;
import org.betterx.bclib.items.tool.*;
import org.betterx.bclib.networking.VersionChecker;
import org.betterx.bclib.registry.BaseBlockEntities;
import org.betterx.worlds.together.tag.v3.*;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.core.dispenser.ShearsDispenseItemBehavior;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.BlockTags;
import net.minecraft.tags.ItemTags;
import net.minecraft.tags.TagKey;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.DispenserBlock;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
import net.fabricmc.fabric.api.registry.FuelRegistry;
import com.google.common.collect.Lists;
import java.util.List;
import java.util.function.Consumer;
public class PostInitAPI {
private static List<Consumer<Boolean>> postInitFunctions = Lists.newArrayList();
private static List<TagKey<Block>> blockTags = Lists.newArrayList();
private static List<TagKey<Item>> itemTags = Lists.newArrayList();
/**
* Register a new function which will be called after all mods are initiated. Will be called on both client and server.
*
* @param function {@link Consumer} with {@code boolean} parameter ({@code true} for client, {@code false} for server).
*/
public static void register(Consumer<Boolean> function) {
postInitFunctions.add(function);
}
/**
* Called in proper BCLib entry points, for internal usage only.
*
* @param isClient {@code boolean}, {@code true} for client, {@code false} for server.
*/
public static void postInit(boolean isClient) {
BuiltInRegistries.BLOCK.forEach(block -> {
processBlockCommon(block);
if (isClient) {
processBlockClient(block);
}
});
BuiltInRegistries.ITEM.forEach(item -> {
processItemCommon(item);
});
if (postInitFunctions != null) {
postInitFunctions.forEach(function -> function.accept(isClient));
postInitFunctions = null;
}
blockTags = null;
itemTags = null;
InternalBiomeAPI.loadFabricAPIBiomes();
Configs.BIOMES_CONFIG.saveChanges();
VersionChecker.startCheck(isClient);
}
@Environment(EnvType.CLIENT)
private static void processBlockClient(Block block) {
if (block instanceof RenderLayerProvider) {
BCLRenderLayer layer = ((RenderLayerProvider) block).getRenderLayer();
if (layer == BCLRenderLayer.CUTOUT) BlockRenderLayerMap.INSTANCE.putBlock(block, RenderType.cutout());
else if (layer == BCLRenderLayer.TRANSLUCENT)
BlockRenderLayerMap.INSTANCE.putBlock(block, RenderType.translucent());
}
if (block instanceof BaseChestBlock) {
BaseChestBlockEntityRenderer.registerRenderLayer(block);
}
}
private static void processItemCommon(Item item) {
if (item instanceof TagProvider provider) {
try {
provider.addTags(null, itemTags);
} catch (NullPointerException ex) {
BCLib.LOGGER.error(item + " probably tried to access blockTags.", ex);
}
itemTags.forEach(tag -> TagManager.ITEMS.add(tag, item));
itemTags.clear();
}
if (item instanceof BaseShovelItem) {
TagManager.ITEMS.add(item, ToolTags.FABRIC_SHOVELS, ItemTags.SHOVELS);
} else if (item instanceof BaseSwordItem) {
TagManager.ITEMS.add(item, ToolTags.FABRIC_SWORDS, ItemTags.SWORDS);
} else if (item instanceof BasePickaxeItem) {
TagManager.ITEMS.add(item, ToolTags.FABRIC_PICKAXES, ItemTags.PICKAXES);
} else if (item instanceof BaseAxeItem) {
TagManager.ITEMS.add(item, ToolTags.FABRIC_AXES, ItemTags.AXES);
} else if (item instanceof BaseHoeItem) {
TagManager.ITEMS.add(item, ToolTags.FABRIC_HOES, ItemTags.HOES);
} else if (item instanceof BaseShearsItem) {
TagManager.ITEMS.add(item, ToolTags.FABRIC_SHEARS, CommonItemTags.SHEARS);
DispenserBlock.registerBehavior(item.asItem(), new ShearsDispenseItemBehavior());
}
}
private static void processBlockCommon(Block block) {
//TODO: Some of this only needs to run on DataGen, add a special PostDataGenAPI for that
final Item item = block.asItem();
if (block instanceof PostInitable) {
((PostInitable) block).postInit();
}
if (block instanceof TagProvider) {
((TagProvider) block).addTags(blockTags, itemTags);
blockTags.forEach(tag -> TagManager.BLOCKS.add(tag, block));
if (item != null && item != Items.AIR)
itemTags.forEach(tag -> TagManager.ITEMS.add(tag, item));
blockTags.clear();
itemTags.clear();
}
if (block instanceof BaseChestBlock) {
BaseBlockEntities.CHEST.registerBlock(block);
} else if (block instanceof BaseBarrelBlock) {
BaseBlockEntities.BARREL.registerBlock(block);
} else if (block instanceof BaseFurnaceBlock) {
BaseBlockEntities.FURNACE.registerBlock(block);
}
if (!(block instanceof PreventMineableAdd)) {
if (block instanceof AddMineableShears) {
TagManager.BLOCKS.add(block, MineableTags.SHEARS);
}
if (block instanceof AddMineableAxe) {
if (!TagManager.BLOCKS.contains(BlockTags.WOODEN_DOORS, block)
&& !TagManager.BLOCKS.contains(BlockTags.WOODEN_BUTTONS, block)
&& !TagManager.BLOCKS.contains(BlockTags.WOODEN_SLABS, block)
&& !TagManager.BLOCKS.contains(BlockTags.WOODEN_FENCES, block)
&& !TagManager.BLOCKS.contains(BlockTags.WOODEN_STAIRS, block)
&& !TagManager.BLOCKS.contains(BlockTags.WOODEN_PRESSURE_PLATES, block)
&& !TagManager.BLOCKS.contains(BlockTags.WOODEN_TRAPDOORS, block)
&& !TagManager.BLOCKS.contains(CommonBlockTags.WOODEN_BARREL, block)
&& !TagManager.BLOCKS.contains(CommonBlockTags.WOODEN_CHEST, block)
&& !TagManager.BLOCKS.contains(CommonBlockTags.WOODEN_COMPOSTER, block)
&& !TagManager.BLOCKS.contains(CommonBlockTags.WORKBENCHES, block)
&& !TagManager.BLOCKS.contains(BlockTags.SIGNS, block)
&& !TagManager.BLOCKS.contains(BlockTags.PLANKS, block)
&& !TagManager.BLOCKS.contains(BlockTags.LOGS, block)
&& !TagManager.BLOCKS.contains(BlockTags.FENCE_GATES, block)
&& !TagManager.BLOCKS.contains(BlockTags.ALL_HANGING_SIGNS, block)
&& !TagManager.BLOCKS.contains(CommonBlockTags.WORKBENCHES, block)
&& !TagManager.BLOCKS.contains(CommonBlockTags.BOOKSHELVES, block)
) {
TagManager.BLOCKS.add(block, MineableTags.AXE);
}
}
if (block instanceof AddMineablePickaxe) {
TagManager.BLOCKS.add(block, MineableTags.PICKAXE);
}
if (block instanceof AddMineableShovel) {
TagManager.BLOCKS.add(block, MineableTags.SHOVEL);
}
if (block instanceof AddMineableHoe) {
TagManager.BLOCKS.add(block, MineableTags.HOE);
}
if (block instanceof AddMineableSword) {
TagManager.BLOCKS.add(block, MineableTags.SWORD);
}
if (block instanceof AddMineableHammer) {
TagManager.BLOCKS.add(block, MineableTags.HAMMER);
}
}
if (block instanceof BehaviourCompostable c) {
if (item != null && item != Items.AIR) {
TagManager.ITEMS.add(block, CommonItemTags.COMPOSTABLE);
ComposterAPI.allowCompost(c.compostingChance(), item);
} else if (BCLib.isDatagen() && Configs.MAIN_CONFIG.verboseLogging()) {
BCLib.LOGGER.warning("Block " + block + " has compostable behaviour but no item!");
}
}
if (block instanceof BehaviourWaterPlantLike) {
TagManager.BLOCKS.add(block, CommonBlockTags.WATER_PLANT);
}
if (block instanceof BehaviourPlant || block instanceof BehaviourShearablePlant) {
TagManager.BLOCKS.add(block, CommonBlockTags.PLANT);
}
if (block instanceof BehaviourSeedLike) {
TagManager.BLOCKS.add(block, CommonBlockTags.SEEDS);
if (item != null && item != Items.AIR) {
TagManager.ITEMS.add(block, CommonItemTags.SEEDS);
}
}
if (block instanceof BehaviourSaplingLike) {
TagManager.BLOCKS.add(block, CommonBlockTags.SAPLINGS, BlockTags.SAPLINGS);
if (item != null && item != Items.AIR) {
TagManager.ITEMS.add(block, CommonItemTags.SAPLINGS, ItemTags.SAPLINGS);
}
}
if (block instanceof BehaviourClimable c) {
TagManager.BLOCKS.add(block, BlockTags.CLIMBABLE);
}
if (block instanceof BehaviourLeaves) {
TagManager.BLOCKS.add(block, BlockTags.LEAVES, CommonBlockTags.LEAVES);
if (item != null && item != Items.AIR)
TagManager.ITEMS.add(item, ItemTags.LEAVES, CommonItemTags.LEAVES);
}
if (block instanceof BehaviourImmobile) {
TagManager.BLOCKS.add(block, CommonBlockTags.IMMOBILE);
}
if (block instanceof BehaviourObsidian) {
TagManager.BLOCKS.add(block, CommonBlockTags.IS_OBSIDIAN);
}
if (block instanceof BehaviourPortalFrame) {
TagManager.BLOCKS.add(block, CommonBlockTags.NETHER_PORTAL_FRAME);
}
if (block instanceof BehaviourOre) {
TagManager.BLOCKS.add(block, CommonBlockTags.ORES);
}
if (block instanceof Fuel fl) {
FuelRegistry.INSTANCE.add(block, fl.getFuelTime());
}
if (BCLib.isDatagen()) {
final ResourceLocation location = BuiltInRegistries.BLOCK.getKey(block);
if (!location.getNamespace().equals("minecraft")) {
if (!(block instanceof HasMinableBehaviour) && block.defaultBlockState()
.requiresCorrectToolForDrops()) {
BCLib.LOGGER.error("Block " + block + "(" + block.getClass() + ")" + " has no mineable behaviour!");
}
}
}
}
}

View file

@ -0,0 +1,22 @@
package org.betterx.bclib.api.v2;
import org.betterx.bclib.mixin.common.ShovelItemAccessor;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
import java.util.Map;
public class ShovelAPI {
/**
* Will add left-click behaviour to shovel: when it is targeting cetrain {@link Block} it will be converting to new
* {@link BlockState} on usage. Example: grass converting to path.
*
* @param target {@link Block} that will be converted.
* @param convert {@link BlockState} to convert block into.
*/
public static void addShovelBehaviour(Block target, BlockState convert) {
Map<Block, BlockState> map = ShovelItemAccessor.bclib_getFlattenables();
map.put(target, convert);
}
}

View file

@ -0,0 +1,43 @@
package org.betterx.bclib.api.v2.advancement;
import net.minecraft.advancements.DisplayInfo;
import net.minecraft.advancements.FrameType;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemStack;
import org.jetbrains.annotations.Nullable;
class Display {
ItemStack icon;
Component title;
net.minecraft.network.chat.Component description;
@Nullable ResourceLocation background;
FrameType frame;
boolean showToast;
boolean announceChat;
boolean hidden;
Display() {
}
Display reset() {
this.icon = null;
this.title = null;
this.description = null;
frame = FrameType.TASK;
background = null;
showToast = true;
announceChat = true;
hidden = false;
return this;
}
DisplayInfo build() {
return new DisplayInfo(
icon, title, description,
background, frame, showToast, announceChat, hidden
);
}
}

View file

@ -0,0 +1,509 @@
package org.betterx.bclib.api.v2.advancement;
import org.betterx.bclib.BCLib;
import org.betterx.bclib.api.v2.levelgen.structures.BCLStructure;
import org.betterx.bclib.complexmaterials.WoodenComplexMaterial;
import org.betterx.bclib.complexmaterials.set.wood.WoodSlots;
import org.betterx.bclib.items.complex.EquipmentSet;
import org.betterx.bclib.items.complex.EquipmentSlot;
import net.minecraft.advancements.*;
import net.minecraft.advancements.critereon.*;
import net.minecraft.client.Minecraft;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.data.recipes.RecipeBuilder;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.TagKey;
import net.minecraft.world.Container;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Items;
import net.minecraft.world.item.crafting.Recipe;
import net.minecraft.world.level.ItemLike;
import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.levelgen.structure.Structure;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import java.util.*;
import java.util.function.Consumer;
import java.util.stream.Collectors;
public class AdvancementManager {
static class OrderedBuilder extends Advancement.Builder {
OrderedBuilder() {
super(false);
}
}
private static final Map<ResourceLocation, Advancement.Builder> ADVANCEMENTS = new LinkedHashMap<>();
public static void register(ResourceLocation id, Advancement.Builder builder) {
ADVANCEMENTS.put(id, builder);
}
public static void registerAllDataGen(List<String> namespaces, Consumer<Advancement> consumer) {
final Advancement ROOT_RECIPE = Advancement.Builder.advancement()
.addCriterion(
"impossible",
new ImpossibleTrigger.TriggerInstance()
)
.build(RecipeBuilder.ROOT_RECIPE_ADVANCEMENT);
final Map<ResourceLocation, Advancement> BUILT = new HashMap<>();
for (var entry : ADVANCEMENTS.entrySet()) {
final ResourceLocation loc = entry.getKey();
if (namespaces == null || namespaces.contains(loc.getNamespace())) {
final Advancement.Builder builder = entry.getValue();
if (builder.canBuild(locToAdd -> {
if (locToAdd.equals(RecipeBuilder.ROOT_RECIPE_ADVANCEMENT)) return ROOT_RECIPE;
return BUILT.get(locToAdd);
})) {
final Advancement adv = builder.build(loc);
BUILT.put(loc, adv);
consumer.accept(adv);
} else {
BCLib.LOGGER.error("Unable to build Advancement " + loc);
}
}
}
}
public static class RewardsBuilder {
private final Builder calle;
private final AdvancementRewards.Builder builder = new AdvancementRewards.Builder();
private RewardsBuilder(Builder calle) {
this.calle = calle;
}
public RewardsBuilder addExperience(int i) {
builder.addExperience(i);
return this;
}
public RewardsBuilder addLootTable(ResourceLocation resourceLocation) {
builder.addLootTable(resourceLocation);
return this;
}
public RewardsBuilder addRecipe(ResourceLocation resourceLocation) {
builder.addRecipe(resourceLocation);
return this;
}
public RewardsBuilder runs(ResourceLocation resourceLocation) {
builder.runs(resourceLocation);
return this;
}
public Builder endReward() {
calle.rewards(builder.build());
return calle;
}
}
public enum AdvancementType {
REGULAR,
RECIPE_DECORATIONS,
RECIPE_TOOL
}
public static class Builder {
private static final ThreadLocal<DisplayBuilder> DISPLAY_BUILDER = ThreadLocal.withInitial(DisplayBuilder::new);
private static final ResourceLocation RECIPES_ROOT = RecipeBuilder.ROOT_RECIPE_ADVANCEMENT;
private final Advancement.Builder builder = new OrderedBuilder();
private final ResourceLocation id;
private final AdvancementType type;
private boolean canBuild = true;
private Builder(ResourceLocation id, AdvancementType type) {
ResourceLocation ID;
if (type == AdvancementType.RECIPE_DECORATIONS) {
ID = new ResourceLocation(id.getNamespace(), "recipes/decorations/" + id.getPath());
builder.parent(RECIPES_ROOT);
} else if (type == AdvancementType.RECIPE_TOOL) {
ID = new ResourceLocation(id.getNamespace(), "recipes/tools/" + id.getPath());
builder.parent(RECIPES_ROOT);
} else {
ID = id;
}
this.id = ID;
this.type = type;
}
public static Builder createEmptyCopy(Builder builder) {
return new Builder(builder.id, builder.type);
}
public static Builder create(ResourceLocation id) {
return new Builder(id, AdvancementType.REGULAR);
}
public static Builder create(ResourceLocation id, AdvancementType type) {
return new Builder(id, type);
}
public static Builder create(Item icon) {
return create(icon, AdvancementType.REGULAR);
}
public static Builder create(ItemStack icon) {
return create(icon, AdvancementType.REGULAR);
}
public static Builder create(ItemLike icon, AdvancementType type) {
return create(new ItemStack(icon), type);
}
public static Builder create(ItemStack icon, AdvancementType type) {
return create(icon, type, (displayBuilder) -> {
});
}
public static Builder create(Item icon, AdvancementType type, Consumer<DisplayBuilder> displayAdapter) {
return create(new ItemStack(icon), type, displayAdapter);
}
public static Builder create(
ItemStack icon,
AdvancementType type,
Consumer<DisplayBuilder> displayAdapter
) {
var id = BuiltInRegistries.ITEM.getKey(icon.getItem());
boolean canBuild = true;
if (id == null || icon.is(Items.AIR)) {
canBuild = false;
id = BuiltInRegistries.ITEM.getDefaultKey();
}
String baseName = "advancements." + id.getNamespace() + "." + id.getPath() + ".";
Builder b = new Builder(id, type);
var displayBuilder = b.startDisplay(
icon,
Component.translatable(baseName + "title"),
Component.translatable(baseName + "description")
);
if (displayAdapter != null) displayAdapter.accept(displayBuilder);
b = displayBuilder.endDisplay();
b.canBuild = canBuild;
return b;
}
public static <C extends Container, T extends Recipe<C>> Builder createRecipe(
T recipe,
AdvancementType type
) {
Item item = recipe.getResultItem(Minecraft.getInstance().level.registryAccess()).getItem();
return create(item, type, displayBuilder -> displayBuilder.hideToast().hideFromChat())
//.awardRecipe(item)
.addRecipeUnlockCriterion("has_the_recipe", recipe)
.startReward()
.addRecipe(recipe.getId())
.endReward()
.requirements(RequirementsStrategy.OR);
}
public Builder parent(Advancement advancement) {
builder.parent(advancement);
return this;
}
public Builder parent(ResourceLocation resourceLocation) {
builder.parent(resourceLocation);
return this;
}
public DisplayBuilder startDisplay(ItemLike icon) {
String baseName = "advancements." + id.getNamespace() + "." + id.getPath() + ".";
return startDisplay(
icon,
Component.translatable(baseName + "title"),
Component.translatable(baseName + "description")
);
}
public DisplayBuilder startDisplay(
ItemLike icon,
Component title,
Component description
) {
return startDisplay(new ItemStack(icon), title, description);
}
public DisplayBuilder startDisplay(
ItemStack icon,
Component title,
Component description
) {
if (icon == null) {
canBuild = false;
} else {
var id = BuiltInRegistries.ITEM.getKey(icon.getItem());
if (id == null) {
canBuild = false;
}
}
DisplayBuilder dp = DISPLAY_BUILDER.get().reset(this);
return dp.icon(icon).title(title).description(description);
}
Builder display(DisplayInfo displayInfo) {
builder.display(displayInfo);
return this;
}
public Builder awardRecipe(ItemLike... items) {
RewardsBuilder rewardBuilder = startReward();
for (ItemLike item : items) {
ResourceLocation id = BuiltInRegistries.ITEM.getKey(item.asItem());
if (id == null) continue;
rewardBuilder.addRecipe(id);
}
return rewardBuilder.endReward();
}
public RewardsBuilder startReward() {
return new RewardsBuilder(this);
}
public Builder rewards(AdvancementRewards advancementRewards) {
builder.rewards(advancementRewards);
return this;
}
public Builder rewardXP(int xp) {
return rewards(AdvancementRewards.Builder.experience(500).build());
}
public Builder addCriterion(String string, CriterionTriggerInstance criterionTriggerInstance) {
builder.addCriterion(string, new Criterion(criterionTriggerInstance));
return this;
}
public Builder addCriterion(String string, Criterion criterion) {
builder.addCriterion(string, criterion);
return this;
}
public Builder addAtStructureCriterion(String name, BCLStructure<?> structure) {
return addAtStructureCriterion(name, structure.structureKey);
}
public Builder addAtStructureCriterion(String name, ResourceKey<Structure> structure) {
return addCriterion(
name,
PlayerTrigger
.TriggerInstance
.located(
LocationPredicate.inStructure(structure)
)
);
}
public <C extends Container, T extends Recipe<C>> Builder addRecipeUnlockCriterion(String name, T recipe) {
return addCriterion(
name,
RecipeUnlockedTrigger.unlocked(recipe.getId())
);
}
public Builder addInventoryChangedCriterion(String name, ItemLike... items) {
return addCriterion(
name,
InventoryChangeTrigger.TriggerInstance.hasItems(items)
);
}
public Builder addInventoryChangedAnyCriterion(String name, ItemLike... items) {
InventoryChangeTrigger.TriggerInstance trigger =
InventoryChangeTrigger.TriggerInstance.hasItems(new ItemPredicate(
null,
Arrays.stream(items).map(i -> i.asItem()).collect(Collectors.toSet()),
MinMaxBounds.Ints.ANY,
MinMaxBounds.Ints.ANY,
EnchantmentPredicate.NONE,
EnchantmentPredicate.NONE,
null,
NbtPredicate.ANY
));
return addCriterion(name, trigger);
}
public Builder addInventoryChangedCriterion(String name, TagKey<Item> tag) {
return addCriterion(
name,
InventoryChangeTrigger.TriggerInstance.hasItems(new ItemPredicate(
tag,
null,
MinMaxBounds.Ints.ANY,
MinMaxBounds.Ints.ANY,
EnchantmentPredicate.NONE,
EnchantmentPredicate.NONE,
null,
NbtPredicate.ANY
))
);
}
//
public Builder addEquipmentSetSlotCriterion(EquipmentSet set, EquipmentSlot slot) {
return addInventoryChangedCriterion(
set.baseName + "_" + slot,
set.getSlot(slot)
);
}
public Builder addArmorSetCriterion(EquipmentSet set) {
return addEquipmentSetSlotCriterion(set, EquipmentSet.HELMET_SLOT)
.addEquipmentSetSlotCriterion(set, EquipmentSet.CHESTPLATE_SLOT)
.addEquipmentSetSlotCriterion(set, EquipmentSet.LEGGINGS_SLOT)
.addEquipmentSetSlotCriterion(set, EquipmentSet.BOOTS_SLOT);
}
public Builder addToolSetCriterion(EquipmentSet set) {
return addEquipmentSetSlotCriterion(set, EquipmentSet.PICKAXE_SLOT)
.addEquipmentSetSlotCriterion(set, EquipmentSet.AXE_SLOT)
.addEquipmentSetSlotCriterion(set, EquipmentSet.SHOVEL_SLOT)
.addEquipmentSetSlotCriterion(set, EquipmentSet.SWORD_SLOT)
.addEquipmentSetSlotCriterion(set, EquipmentSet.HOE_SLOT);
}
public Builder addWoodCriterion(WoodenComplexMaterial mat) {
return addInventoryChangedAnyCriterion(
"got_" + mat.getBaseName(),
mat.getBlock(WoodSlots.LOG),
mat.getBlock(WoodSlots.BARK),
mat.getBlock(WoodSlots.PLANKS)
);
}
public Builder addVisitBiomesCriterion(List<ResourceKey<Biome>> list) {
for (ResourceKey<Biome> resourceKey : list) {
addCriterion(
resourceKey.location().toString(),
PlayerTrigger.TriggerInstance.located(LocationPredicate.inBiome(resourceKey))
);
}
return this;
}
public Builder requirements(RequirementsStrategy requirementsStrategy) {
builder.requirements(requirementsStrategy);
return this;
}
public Builder requirements(String[][] strings) {
builder.requirements(strings);
return this;
}
public Builder printDebugJson() {
Gson gson = new GsonBuilder().setPrettyPrinting().create();
BCLib.LOGGER.info(gson.toJson(builder.serializeToJson()));
return this;
}
public ResourceLocation build() {
AdvancementManager.register(id, this.builder);
return this.id;
}
}
public static class DisplayBuilder {
Builder base;
final Display display = new Display();
DisplayBuilder reset(Builder base) {
this.base = base;
this.display.reset();
return this;
}
public DisplayBuilder background(ResourceLocation value) {
display.background = value;
return this;
}
public DisplayBuilder icon(ItemLike value) {
display.icon = new ItemStack(value);
return this;
}
public DisplayBuilder icon(ItemStack value) {
display.icon = value;
return this;
}
public DisplayBuilder title(Component value) {
display.title = value;
return this;
}
public DisplayBuilder description(Component value) {
display.description = value;
return this;
}
public DisplayBuilder showToast() {
display.showToast = true;
return this;
}
public DisplayBuilder hideToast() {
display.showToast = false;
return this;
}
public DisplayBuilder hidden() {
display.hidden = true;
return this;
}
public DisplayBuilder visible() {
display.hidden = false;
return this;
}
public DisplayBuilder announceToChat() {
display.announceChat = true;
return this;
}
public DisplayBuilder hideFromChat() {
display.announceChat = false;
return this;
}
public DisplayBuilder frame(FrameType type) {
display.frame = type;
return this;
}
public DisplayBuilder challenge() {
return frame(FrameType.CHALLENGE);
}
public DisplayBuilder task() {
return frame(FrameType.TASK);
}
public DisplayBuilder goal() {
return frame(FrameType.GOAL);
}
public Builder endDisplay() {
base.display(display.build());
return base;
}
}
}

View file

@ -0,0 +1,113 @@
package org.betterx.bclib.api.v2.dataexchange;
import net.minecraft.client.Minecraft;
import net.minecraft.client.multiplayer.ClientPacketListener;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.server.network.ServerGamePacketListenerImpl;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.networking.v1.PacketSender;
import java.nio.charset.StandardCharsets;
import java.util.Objects;
import org.jetbrains.annotations.NotNull;
public abstract class BaseDataHandler {
private final boolean originatesOnServer;
@NotNull
private final ResourceLocation identifier;
protected BaseDataHandler(ResourceLocation identifier, boolean originatesOnServer) {
this.originatesOnServer = originatesOnServer;
this.identifier = identifier;
}
final public boolean getOriginatesOnServer() {
return originatesOnServer;
}
final public ResourceLocation getIdentifier() {
return identifier;
}
@Environment(EnvType.CLIENT)
abstract void receiveFromServer(
Minecraft client,
ClientPacketListener handler,
FriendlyByteBuf buf,
PacketSender responseSender
);
private ServerPlayer lastMessageSender;
void receiveFromClient(
MinecraftServer server,
ServerPlayer player,
ServerGamePacketListenerImpl handler,
FriendlyByteBuf buf,
PacketSender responseSender
) {
lastMessageSender = player;
}
final protected boolean reply(BaseDataHandler message, MinecraftServer server) {
if (lastMessageSender == null) return false;
message.sendToClient(server, lastMessageSender);
return true;
}
abstract void sendToClient(MinecraftServer server);
abstract void sendToClient(MinecraftServer server, ServerPlayer player);
@Environment(EnvType.CLIENT)
abstract void sendToServer(Minecraft client);
protected boolean isBlocking() {
return false;
}
@Override
public String toString() {
return "BasDataHandler{" + "originatesOnServer=" + originatesOnServer + ", identifier=" + identifier + '}';
}
/**
* Write a String to a buffer (Convenience Method)
*
* @param buf The buffer to write to
* @param s The String you want to write
*/
public static void writeString(FriendlyByteBuf buf, String s) {
buf.writeByteArray(s.getBytes(StandardCharsets.UTF_8));
}
/**
* Read a string from a buffer (Convenience Method)
*
* @param buf Thea buffer to read from
* @return The received String
*/
public static String readString(FriendlyByteBuf buf) {
byte[] data = buf.readByteArray();
return new String(data, StandardCharsets.UTF_8);
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof BaseDataHandler)) return false;
BaseDataHandler that = (BaseDataHandler) o;
return originatesOnServer == that.originatesOnServer && identifier.equals(that.identifier);
}
@Override
public int hashCode() {
return Objects.hash(originatesOnServer, identifier);
}
}

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