From 8aa595f083b5c3e43246119fca5f4263f81e851b Mon Sep 17 00:00:00 2001 From: Raven Szewczyk Date: Sat, 25 May 2024 14:42:41 +0100 Subject: Migrate kubatech source code --- .../java/kubatech/test/EIGTests.java | 342 ----- .../java/kubatech/test/kubatechTestMod.java | 101 -- kubatech/src/main/java/kubatech/ClientProxy.java | 75 - kubatech/src/main/java/kubatech/CommonProxy.java | 87 -- .../src/main/java/kubatech/FMLEventHandler.java | 42 - kubatech/src/main/java/kubatech/Tags.java | 31 - .../main/java/kubatech/api/DynamicInventory.java | 469 ------ .../main/java/kubatech/api/LoaderReference.java | 23 - kubatech/src/main/java/kubatech/api/Variables.java | 63 - .../src/main/java/kubatech/api/enums/ItemList.java | 226 --- .../main/java/kubatech/api/helpers/GTHelper.java | 99 -- .../kubatech/api/helpers/ReflectionHelper.java | 205 --- .../main/java/kubatech/api/helpers/UUIDFinder.java | 43 - .../implementations/KubaTechGTMultiBlockBase.java | 341 ----- .../src/main/java/kubatech/api/tea/TeaNetwork.java | 93 -- .../tileentity/CustomTileEntityPacketHandler.java | 28 - .../main/java/kubatech/api/utils/ItemUtils.java | 26 - .../src/main/java/kubatech/api/utils/ModUtils.java | 38 - .../main/java/kubatech/api/utils/StringUtils.java | 52 - .../java/kubatech/client/effect/CropRenderer.java | 92 -- .../kubatech/client/effect/EntityRenderer.java | 210 --- .../client/effect/MegaApiaryBeesRenderer.java | 127 -- .../main/java/kubatech/commands/CommandBees.java | 149 -- .../main/java/kubatech/commands/CommandConfig.java | 103 -- .../java/kubatech/commands/CommandHandler.java | 156 -- .../main/java/kubatech/commands/CommandHelp.java | 86 -- .../main/java/kubatech/commands/CommandTea.java | 142 -- kubatech/src/main/java/kubatech/config/Config.java | 102 -- kubatech/src/main/java/kubatech/kubatech.java | 210 --- .../main/java/kubatech/loaders/BlockLoader.java | 51 - .../main/java/kubatech/loaders/DEFCRecipes.java | 329 ----- .../src/main/java/kubatech/loaders/ItemLoader.java | 149 -- .../src/main/java/kubatech/loaders/MTLoader.java | 44 - .../java/kubatech/loaders/MobHandlerLoader.java | 306 ---- .../main/java/kubatech/loaders/RecipeLoader.java | 363 ----- .../src/main/java/kubatech/loaders/TCLoader.java | 151 -- .../loaders/block/defc/DEFCCasingBlock.java | 63 - .../loaders/block/defc/DEFCCasingItemBlock.java | 36 - .../loaders/block/kubablock/BlockProxy.java | 111 -- .../block/kubablock/IProxyTileEntityProvider.java | 29 - .../loaders/block/kubablock/KubaBlock.java | 198 --- .../loaders/block/kubablock/KubaItemBlock.java | 73 - .../block/kubablock/blocks/TeaAcceptor.java | 64 - .../loaders/block/kubablock/blocks/TeaStorage.java | 66 - .../java/kubatech/loaders/item/IItemProxyGUI.java | 31 - .../main/java/kubatech/loaders/item/ItemProxy.java | 122 -- .../main/java/kubatech/loaders/item/KubaItems.java | 144 -- .../main/java/kubatech/loaders/item/items/Tea.java | 72 - .../kubatech/loaders/item/items/TeaCollection.java | 209 --- .../kubatech/loaders/item/items/TeaIngredient.java | 41 - .../kubatech/loaders/item/items/TeaUltimate.java | 216 --- kubatech/src/main/java/kubatech/mixin/Mixin.java | 50 - .../src/main/java/kubatech/mixin/MixinPlugin.java | 114 -- .../java/kubatech/mixin/MixinsVariablesHelper.java | 6 - .../src/main/java/kubatech/mixin/TargetedMod.java | 43 - .../mixins/minecraft/LanguageRegistryMixin.java | 27 - .../mixin/mixins/minecraft/LocaleMixin.java | 47 - .../mixins/minecraft/StringTranslateMixin.java | 33 - .../mixin/mixins/minecraft/WorldMixin.java | 23 - kubatech/src/main/java/kubatech/nei/IMCForNEI.java | 45 - .../src/main/java/kubatech/nei/NEI_Config.java | 69 - .../kubatech/network/CustomTileEntityPacket.java | 155 -- .../java/kubatech/network/LoadConfigPacket.java | 52 - .../main/java/kubatech/savedata/PlayerData.java | 49 - .../java/kubatech/savedata/PlayerDataManager.java | 116 -- kubatech/src/main/java/kubatech/standalone.java | 16 - .../java/kubatech/tileentity/TeaAcceptorTile.java | 223 --- .../java/kubatech/tileentity/TeaStorageTile.java | 83 -- .../GT_MetaTileEntity_DEFusionCrafter.java | 281 ---- .../GT_MetaTileEntity_ExtremeEntityCrusher.java | 822 ----------- ...MetaTileEntity_ExtremeIndustrialGreenhouse.java | 1547 -------------------- .../GT_MetaTileEntity_MegaIndustrialApiary.java | 1179 --------------- .../main/resources/assets/kubatech/lang/de_DE.lang | 2 - .../main/resources/assets/kubatech/lang/en_US.lang | 132 -- .../main/resources/assets/kubatech/lang/zh_CN.lang | 92 -- .../assets/kubatech/textures/blocks/blank.png | Bin 599 -> 0 bytes .../kubatech/textures/blocks/casing/defc_0.png | Bin 512 -> 0 bytes .../kubatech/textures/blocks/casing/defc_1.png | Bin 372 -> 0 bytes .../kubatech/textures/blocks/casing/defc_2.png | Bin 647 -> 0 bytes .../kubatech/textures/blocks/casing/defc_3.png | Bin 469 -> 0 bytes .../kubatech/textures/blocks/casing/defc_4.png | Bin 694 -> 0 bytes .../kubatech/textures/blocks/casing/defc_5.png | Bin 473 -> 0 bytes .../kubatech/textures/blocks/tea_acceptor.png | Bin 6837 -> 0 bytes .../kubatech/textures/blocks/tea_storage.png | Bin 935 -> 0 bytes .../assets/kubatech/textures/gui/green_tea.png | Bin 6557 -> 0 bytes .../assets/kubatech/textures/gui/logo.jpg | Bin 71447 -> 0 bytes .../kubatech/textures/gui/logo_13x15_dark.png | Bin 10194 -> 0 bytes .../kubatech/textures/gui/slot/fusion_crafter.png | Bin 2885 -> 0 bytes .../kubatech/textures/gui/slot/gray_spawner.png | Bin 3761 -> 0 bytes .../kubatech/textures/gui/slot/gray_sword.png | Bin 645 -> 0 bytes .../assets/kubatech/textures/items/beeeeee.png | Bin 689 -> 0 bytes .../kubatech/textures/items/defc_schematic_t1.png | Bin 2414 -> 0 bytes .../kubatech/textures/items/defc_schematic_t2.png | Bin 2657 -> 0 bytes .../kubatech/textures/items/defc_schematic_t3.png | Bin 2316 -> 0 bytes .../kubatech/textures/items/defc_schematic_t4.png | Bin 1961 -> 0 bytes .../kubatech/textures/items/research_note.png | Bin 9260 -> 0 bytes .../textures/items/research_note.png.mcmeta | 5 - .../kubatech/textures/items/tea/black_tea.png | Bin 7523 -> 0 bytes .../textures/items/tea/black_tea.png.mcmeta | 5 - .../kubatech/textures/items/tea/butterfly_tea.png | Bin 7476 -> 0 bytes .../textures/items/tea/butterfly_tea.png.mcmeta | 5 - .../kubatech/textures/items/tea/earl_gray_tea.png | Bin 7207 -> 0 bytes .../textures/items/tea/earl_gray_tea.png.mcmeta | 5 - .../kubatech/textures/items/tea/green_tea.png | Bin 8192 -> 0 bytes .../textures/items/tea/green_tea.png.mcmeta | 5 - .../kubatech/textures/items/tea/lemon_tea.png | Bin 7296 -> 0 bytes .../textures/items/tea/lemon_tea.png.mcmeta | 5 - .../kubatech/textures/items/tea/milk_tea.png | Bin 7276 -> 0 bytes .../textures/items/tea/milk_tea.png.mcmeta | 5 - .../kubatech/textures/items/tea/oolong_tea.png | Bin 7570 -> 0 bytes .../textures/items/tea/oolong_tea.png.mcmeta | 5 - .../kubatech/textures/items/tea/peppermint_tea.png | Bin 7987 -> 0 bytes .../textures/items/tea/peppermint_tea.png.mcmeta | 5 - .../kubatech/textures/items/tea/pu-erh_tea.png | Bin 7138 -> 0 bytes .../textures/items/tea/pu-erh_tea.png.mcmeta | 5 - .../assets/kubatech/textures/items/tea/red_tea.png | Bin 8237 -> 0 bytes .../kubatech/textures/items/tea/red_tea.png.mcmeta | 5 - .../kubatech/textures/items/tea/ultimate_tea.png | Bin 9523 -> 0 bytes .../textures/items/tea/ultimate_tea.png.mcmeta | 5 - .../kubatech/textures/items/tea/white_tea.png | Bin 7112 -> 0 bytes .../textures/items/tea/white_tea.png.mcmeta | 5 - .../kubatech/textures/items/tea/yellow_tea.png | Bin 7830 -> 0 bytes .../textures/items/tea/yellow_tea.png.mcmeta | 5 - .../items/teaingredient/black_tea_leaf.png | Bin 6821 -> 0 bytes .../items/teaingredient/bruised_tea_leaf.png | Bin 6911 -> 0 bytes .../items/teaingredient/fermented_tea_leaf.png | Bin 6924 -> 0 bytes .../items/teaingredient/green_tea_leaf.png | Bin 6910 -> 0 bytes .../items/teaingredient/oolong_tea_leaf.png | Bin 6773 -> 0 bytes .../items/teaingredient/oxidized_tea_leaf.png | Bin 6905 -> 0 bytes .../teaingredient/partially_oxidized_tea_leaf.png | Bin 6938 -> 0 bytes .../items/teaingredient/pu-erh_tea_leaf.png | Bin 6971 -> 0 bytes .../items/teaingredient/rolled_tea_leaf.png | Bin 6994 -> 0 bytes .../items/teaingredient/steamed_tea_leaf.png | Bin 6888 -> 0 bytes .../items/teaingredient/tea_leaf_dehydrated.png | Bin 6688 -> 0 bytes .../items/teaingredient/white_tea_leaf.png | Bin 6536 -> 0 bytes .../items/teaingredient/yellow_tea_leaf.png | Bin 6725 -> 0 bytes kubatech/src/main/resources/mixins.kubatech.json | 12 - 137 files changed, 11917 deletions(-) delete mode 100644 kubatech/src/functionalTest/java/kubatech/test/EIGTests.java delete mode 100644 kubatech/src/functionalTest/java/kubatech/test/kubatechTestMod.java delete mode 100644 kubatech/src/main/java/kubatech/ClientProxy.java delete mode 100644 kubatech/src/main/java/kubatech/CommonProxy.java delete mode 100644 kubatech/src/main/java/kubatech/FMLEventHandler.java delete mode 100644 kubatech/src/main/java/kubatech/Tags.java delete mode 100644 kubatech/src/main/java/kubatech/api/DynamicInventory.java delete mode 100644 kubatech/src/main/java/kubatech/api/LoaderReference.java delete mode 100644 kubatech/src/main/java/kubatech/api/Variables.java delete mode 100644 kubatech/src/main/java/kubatech/api/enums/ItemList.java delete mode 100644 kubatech/src/main/java/kubatech/api/helpers/GTHelper.java delete mode 100644 kubatech/src/main/java/kubatech/api/helpers/ReflectionHelper.java delete mode 100644 kubatech/src/main/java/kubatech/api/helpers/UUIDFinder.java delete mode 100644 kubatech/src/main/java/kubatech/api/implementations/KubaTechGTMultiBlockBase.java delete mode 100644 kubatech/src/main/java/kubatech/api/tea/TeaNetwork.java delete mode 100644 kubatech/src/main/java/kubatech/api/tileentity/CustomTileEntityPacketHandler.java delete mode 100644 kubatech/src/main/java/kubatech/api/utils/ItemUtils.java delete mode 100644 kubatech/src/main/java/kubatech/api/utils/ModUtils.java delete mode 100644 kubatech/src/main/java/kubatech/api/utils/StringUtils.java delete mode 100644 kubatech/src/main/java/kubatech/client/effect/CropRenderer.java delete mode 100644 kubatech/src/main/java/kubatech/client/effect/EntityRenderer.java delete mode 100644 kubatech/src/main/java/kubatech/client/effect/MegaApiaryBeesRenderer.java delete mode 100644 kubatech/src/main/java/kubatech/commands/CommandBees.java delete mode 100644 kubatech/src/main/java/kubatech/commands/CommandConfig.java delete mode 100644 kubatech/src/main/java/kubatech/commands/CommandHandler.java delete mode 100644 kubatech/src/main/java/kubatech/commands/CommandHelp.java delete mode 100644 kubatech/src/main/java/kubatech/commands/CommandTea.java delete mode 100644 kubatech/src/main/java/kubatech/config/Config.java delete mode 100644 kubatech/src/main/java/kubatech/kubatech.java delete mode 100644 kubatech/src/main/java/kubatech/loaders/BlockLoader.java delete mode 100644 kubatech/src/main/java/kubatech/loaders/DEFCRecipes.java delete mode 100644 kubatech/src/main/java/kubatech/loaders/ItemLoader.java delete mode 100644 kubatech/src/main/java/kubatech/loaders/MTLoader.java delete mode 100644 kubatech/src/main/java/kubatech/loaders/MobHandlerLoader.java delete mode 100644 kubatech/src/main/java/kubatech/loaders/RecipeLoader.java delete mode 100644 kubatech/src/main/java/kubatech/loaders/TCLoader.java delete mode 100644 kubatech/src/main/java/kubatech/loaders/block/defc/DEFCCasingBlock.java delete mode 100644 kubatech/src/main/java/kubatech/loaders/block/defc/DEFCCasingItemBlock.java delete mode 100644 kubatech/src/main/java/kubatech/loaders/block/kubablock/BlockProxy.java delete mode 100644 kubatech/src/main/java/kubatech/loaders/block/kubablock/IProxyTileEntityProvider.java delete mode 100644 kubatech/src/main/java/kubatech/loaders/block/kubablock/KubaBlock.java delete mode 100644 kubatech/src/main/java/kubatech/loaders/block/kubablock/KubaItemBlock.java delete mode 100644 kubatech/src/main/java/kubatech/loaders/block/kubablock/blocks/TeaAcceptor.java delete mode 100644 kubatech/src/main/java/kubatech/loaders/block/kubablock/blocks/TeaStorage.java delete mode 100644 kubatech/src/main/java/kubatech/loaders/item/IItemProxyGUI.java delete mode 100644 kubatech/src/main/java/kubatech/loaders/item/ItemProxy.java delete mode 100644 kubatech/src/main/java/kubatech/loaders/item/KubaItems.java delete mode 100644 kubatech/src/main/java/kubatech/loaders/item/items/Tea.java delete mode 100644 kubatech/src/main/java/kubatech/loaders/item/items/TeaCollection.java delete mode 100644 kubatech/src/main/java/kubatech/loaders/item/items/TeaIngredient.java delete mode 100644 kubatech/src/main/java/kubatech/loaders/item/items/TeaUltimate.java delete mode 100644 kubatech/src/main/java/kubatech/mixin/Mixin.java delete mode 100644 kubatech/src/main/java/kubatech/mixin/MixinPlugin.java delete mode 100644 kubatech/src/main/java/kubatech/mixin/MixinsVariablesHelper.java delete mode 100644 kubatech/src/main/java/kubatech/mixin/TargetedMod.java delete mode 100644 kubatech/src/main/java/kubatech/mixin/mixins/minecraft/LanguageRegistryMixin.java delete mode 100644 kubatech/src/main/java/kubatech/mixin/mixins/minecraft/LocaleMixin.java delete mode 100644 kubatech/src/main/java/kubatech/mixin/mixins/minecraft/StringTranslateMixin.java delete mode 100644 kubatech/src/main/java/kubatech/mixin/mixins/minecraft/WorldMixin.java delete mode 100644 kubatech/src/main/java/kubatech/nei/IMCForNEI.java delete mode 100644 kubatech/src/main/java/kubatech/nei/NEI_Config.java delete mode 100644 kubatech/src/main/java/kubatech/network/CustomTileEntityPacket.java delete mode 100644 kubatech/src/main/java/kubatech/network/LoadConfigPacket.java delete mode 100644 kubatech/src/main/java/kubatech/savedata/PlayerData.java delete mode 100644 kubatech/src/main/java/kubatech/savedata/PlayerDataManager.java delete mode 100644 kubatech/src/main/java/kubatech/standalone.java delete mode 100644 kubatech/src/main/java/kubatech/tileentity/TeaAcceptorTile.java delete mode 100644 kubatech/src/main/java/kubatech/tileentity/TeaStorageTile.java delete mode 100644 kubatech/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_DEFusionCrafter.java delete mode 100644 kubatech/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeEntityCrusher.java delete mode 100644 kubatech/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeIndustrialGreenhouse.java delete mode 100644 kubatech/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_MegaIndustrialApiary.java delete mode 100644 kubatech/src/main/resources/assets/kubatech/lang/de_DE.lang delete mode 100644 kubatech/src/main/resources/assets/kubatech/lang/en_US.lang delete mode 100644 kubatech/src/main/resources/assets/kubatech/lang/zh_CN.lang delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/blocks/blank.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/blocks/casing/defc_0.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/blocks/casing/defc_1.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/blocks/casing/defc_2.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/blocks/casing/defc_3.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/blocks/casing/defc_4.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/blocks/casing/defc_5.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/blocks/tea_acceptor.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/blocks/tea_storage.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/gui/green_tea.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/gui/logo.jpg delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/gui/logo_13x15_dark.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/gui/slot/fusion_crafter.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/gui/slot/gray_spawner.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/gui/slot/gray_sword.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/beeeeee.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/defc_schematic_t1.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/defc_schematic_t2.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/defc_schematic_t3.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/defc_schematic_t4.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/research_note.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/research_note.png.mcmeta delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/black_tea.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/black_tea.png.mcmeta delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/butterfly_tea.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/butterfly_tea.png.mcmeta delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/earl_gray_tea.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/earl_gray_tea.png.mcmeta delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/green_tea.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/green_tea.png.mcmeta delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/lemon_tea.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/lemon_tea.png.mcmeta delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/milk_tea.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/milk_tea.png.mcmeta delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/oolong_tea.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/oolong_tea.png.mcmeta delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/peppermint_tea.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/peppermint_tea.png.mcmeta delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/pu-erh_tea.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/pu-erh_tea.png.mcmeta delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/red_tea.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/red_tea.png.mcmeta delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/ultimate_tea.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/ultimate_tea.png.mcmeta delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/white_tea.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/white_tea.png.mcmeta delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/yellow_tea.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/tea/yellow_tea.png.mcmeta delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/teaingredient/black_tea_leaf.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/teaingredient/bruised_tea_leaf.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/teaingredient/fermented_tea_leaf.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/teaingredient/green_tea_leaf.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/teaingredient/oolong_tea_leaf.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/teaingredient/oxidized_tea_leaf.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/teaingredient/partially_oxidized_tea_leaf.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/teaingredient/pu-erh_tea_leaf.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/teaingredient/rolled_tea_leaf.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/teaingredient/steamed_tea_leaf.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/teaingredient/tea_leaf_dehydrated.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/teaingredient/white_tea_leaf.png delete mode 100644 kubatech/src/main/resources/assets/kubatech/textures/items/teaingredient/yellow_tea_leaf.png delete mode 100644 kubatech/src/main/resources/mixins.kubatech.json (limited to 'kubatech') diff --git a/kubatech/src/functionalTest/java/kubatech/test/EIGTests.java b/kubatech/src/functionalTest/java/kubatech/test/EIGTests.java deleted file mode 100644 index 1bb88814a4..0000000000 --- a/kubatech/src/functionalTest/java/kubatech/test/EIGTests.java +++ /dev/null @@ -1,342 +0,0 @@ -/* - * spotless:off - * KubaTech - Gregtech Addon - * Copyright (C) 2022 - 2024 kuba6000 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library. If not, see . - * spotless:on - */ - -package kubatech.test; - -import static gregtech.api.util.GT_RecipeBuilder.MINUTES; -import static gregtech.api.util.GT_RecipeBuilder.SECONDS; -import static kubatech.tileentity.gregtech.multiblock.GT_MetaTileEntity_ExtremeIndustrialGreenhouse.EIG_BALANCE_IC2_ACCELERATOR_TIER; -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.fail; - -import java.io.File; -import java.util.Arrays; -import java.util.Comparator; -import java.util.Map; - -import net.minecraft.block.Block; -import net.minecraft.init.Blocks; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.ChatComponentText; -import net.minecraft.world.MinecraftException; -import net.minecraft.world.World; -import net.minecraft.world.WorldProvider; -import net.minecraft.world.WorldProviderSurface; -import net.minecraft.world.WorldServer; -import net.minecraft.world.WorldSettings; -import net.minecraft.world.WorldType; -import net.minecraft.world.chunk.storage.IChunkLoader; -import net.minecraft.world.storage.IPlayerFileData; -import net.minecraft.world.storage.ISaveHandler; -import net.minecraft.world.storage.WorldInfo; -import net.minecraftforge.common.DimensionManager; - -import org.junit.jupiter.api.Test; - -import com.gtnewhorizon.gtnhlib.util.map.ItemStackMap; - -import gregtech.api.GregTech_API; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.common.blocks.GT_Item_Machines; -import ic2.api.crops.CropCard; -import ic2.api.crops.Crops; -import ic2.core.Ic2Items; -import ic2.core.crop.TileEntityCrop; -import kubatech.tileentity.gregtech.multiblock.GT_MetaTileEntity_ExtremeIndustrialGreenhouse; - -public class EIGTests { - - private static final int EIG_CONTROLLER_METADATA = 12_792; - private static final int NUMBER_OF_CROPS_PER_TEST = 90; - private static final int NUMBER_OF_TESTS_TO_DO = 30; - - static World myWorld; - - public EIGTests() { - if (!DimensionManager.isDimensionRegistered(256)) { - DimensionManager.registerProviderType(256, WorldProviderSurface.class, false); - DimensionManager.registerDimension(256, 256); - } - if (myWorld == null) { - myWorld = new WorldServer(MinecraftServer.getServer(), new ISaveHandler() { - - @Override - public WorldInfo loadWorldInfo() { - return null; - } - - @Override - public void checkSessionLock() throws MinecraftException { - - } - - @Override - public IChunkLoader getChunkLoader(WorldProvider p_75763_1_) { - return null; - } - - @Override - public void saveWorldInfoWithPlayer(WorldInfo p_75755_1_, NBTTagCompound p_75755_2_) { - - } - - @Override - public void saveWorldInfo(WorldInfo p_75761_1_) { - - } - - @Override - public IPlayerFileData getSaveHandler() { - return null; - } - - @Override - public void flush() { - - } - - @Override - public File getWorldDirectory() { - return null; - } - - @Override - public File getMapFileFromName(String p_75758_1_) { - return null; - } - - @Override - public String getWorldDirectoryName() { - return "dummy"; - } - }, - "DummyTestWorld", - 256, - new WorldSettings(256, WorldSettings.GameType.SURVIVAL, false, false, WorldType.DEFAULT), - MinecraftServer.getServer().theProfiler) { - - @Override - public File getChunkSaveLocation() { - return new File("ignoreme"); - } - - @Override - public int getBlockLightValue(int p_72957_1_, int p_72957_2_, int p_72957_3_) { - return 4; - } - }; - } - } - - private static int leftOverTicksFromRealRun = 0; - - ItemStackMap getRealDrops(TileEntityCrop cropTile, CropCard cc, int growth, int gain, int resistance) { - cropTile.setCrop(cc); - cropTile.setGrowth((byte) growth); - cropTile.setGain((byte) gain); - cropTile.setResistance((byte) resistance); - cropTile.tick(); - - ItemStackMap expected = new ItemStackMap<>(); - - // run for 30 minutes - for (int k = 0; k < NUMBER_OF_CROPS_PER_TEST; k++) { - cropTile.ticker = 1; - cropTile.setSize((byte) cc.maxSize()); - cropTile.setSize(cc.getSizeAfterHarvest(cropTile)); - cropTile.growthPoints = 0; - int lastHarvestedAt = 0; - int i; - for (i = 0; i < (30 * MINUTES) * (1 << EIG_BALANCE_IC2_ACCELERATOR_TIER);) { - i += TileEntityCrop.tickRate; - cropTile.tick(); - if (!cc.canGrow(cropTile)) { - lastHarvestedAt = i; - ItemStack[] stacks = cropTile.harvest_automated(false); - for (ItemStack stack : stacks) { - expected.merge(stack, stack.stackSize, Integer::sum); - } - } - } - leftOverTicksFromRealRun += i - lastHarvestedAt; - } - - return expected; - } - - ItemStackMap getEIGDrops(GT_MetaTileEntity_ExtremeIndustrialGreenhouse EIG, ItemStack stack) { - ItemStackMap generated = new ItemStackMap<>(); - int imax = (30 * MINUTES) / (5 * SECONDS); - double ticks_to_ignore_per_operation = Math - .ceil((double) leftOverTicksFromRealRun / (NUMBER_OF_CROPS_PER_TEST * imax)); - for (int j = 0; j < NUMBER_OF_CROPS_PER_TEST; j++) { - GT_MetaTileEntity_ExtremeIndustrialGreenhouse.GreenHouseSlot slot = new GT_MetaTileEntity_ExtremeIndustrialGreenhouse.GreenHouseSlot( - EIG, - stack.copy(), - true, - false); - if (slot.isValid) { - for (int i = 0; i < imax; i++) { - int ticks_to_ignore = (int) Math.min(ticks_to_ignore_per_operation, leftOverTicksFromRealRun); - leftOverTicksFromRealRun -= ticks_to_ignore; - for (ItemStack ic2Drop : slot.getIC2Drops( - EIG, - (5 * SECONDS * (1 << EIG_BALANCE_IC2_ACCELERATOR_TIER)) - (double) ticks_to_ignore)) { - generated.merge(ic2Drop, ic2Drop.stackSize, Integer::sum); - } - } - } - } - - return generated; - } - - @Test - void EIGDrops() { - - myWorld.setBlock(10, 80, 0, Blocks.farmland, 0, 0); - myWorld.setBlock(10, 81, 0, Block.getBlockFromItem(Ic2Items.crop.getItem()), 0, 0); - CropCard cc = Crops.instance.getCropCard("gregtech", "Indigo"); - TileEntityCrop cropTile = (TileEntityCrop) myWorld.getTileEntity(10, 81, 0); - ItemStack ccStack = cropTile.generateSeeds(cc, (byte) 10, (byte) 10, (byte) 10, (byte) 1); - for (int i = 0; i < TileEntityCrop.tickRate; i++) { - cropTile.waterStorage = 200; - cropTile.updateEntity(); - } - - GT_Item_Machines itemMachines = (GT_Item_Machines) Item.getItemFromBlock(GregTech_API.sBlockMachines); - itemMachines.placeBlockAt( - new ItemStack(itemMachines, 1, EIG_CONTROLLER_METADATA), - null, - myWorld, - 0, - 81, - 0, - 2, - 0, - 0, - 0, - EIG_CONTROLLER_METADATA); - IGregTechTileEntity te = (IGregTechTileEntity) myWorld.getTileEntity(0, 81, 0); - GT_MetaTileEntity_ExtremeIndustrialGreenhouse EIG = (GT_MetaTileEntity_ExtremeIndustrialGreenhouse) te - .getMetaTileEntity(); - - int[] abc = new int[] { 0, -2, 3 }; - int[] xyz = new int[] { 0, 0, 0 }; - EIG.getExtendedFacing() - .getWorldOffset(abc, xyz); - xyz[0] += te.getXCoord(); - xyz[1] += te.getYCoord(); - xyz[2] += te.getZCoord(); - - myWorld.setBlock(xyz[0], xyz[1] - 2, xyz[2], GregTech_API.sBlockCasings4, 1, 0); - myWorld.setBlock(xyz[0], xyz[1] - 1, xyz[2], Blocks.farmland, 0, 0); - - ItemStack stackToTest = null; - - for (int n = 0; n < 5; n++) { - - int[] x = new int[NUMBER_OF_TESTS_TO_DO]; - int[] y = new int[NUMBER_OF_TESTS_TO_DO]; - - // MinecraftServer.getServer() - // .addChatMessage(new ChatComponentText("[EIGTest results]")); - - for (int i = 0; i < NUMBER_OF_TESTS_TO_DO; i++) { - leftOverTicksFromRealRun = 0; - ItemStackMap expected = getRealDrops(cropTile, cc, 10, 10, 10); - ItemStackMap generated = getEIGDrops(EIG, ccStack); - - // MinecraftServer.getServer() - // .addChatMessage(new ChatComponentText("[TEST" + i + "]Real crop drops:")); - // for (Map.Entry entry : expected.entrySet()) { - // MinecraftServer.getServer() - // .addChatMessage(new ChatComponentText("- " + entry.getKey().getDisplayName() + " x" + - // entry.getValue())); - // } - - // MinecraftServer.getServer() - // .addChatMessage(new ChatComponentText("[TEST" + i + "]EIG crop drops:")); - // for (Map.Entry entry : generated.entrySet()) { - // MinecraftServer.getServer() - // .addChatMessage(new ChatComponentText("- " + entry.getKey().getDisplayName() + " x" + - // entry.getValue())); - // } - - // we are only comparing one item from drops - if (stackToTest == null) { - stackToTest = expected.entrySet() - .stream() - .max(Comparator.comparingInt(Map.Entry::getValue)) - .get() - .getKey(); - } - - int expectedValue = expected.getOrDefault(stackToTest, 0); - int generatedValue = generated.getOrDefault(stackToTest, 0); - - x[i] = expectedValue; - y[i] = generatedValue; - } - - double real_average = Arrays.stream(x) - .average() - .getAsDouble(); - double eig_average = Arrays.stream(y) - .average() - .getAsDouble(); - - double real_variance = 0d; - double a = 0d; - for (int i : x) { - a += (i - real_average) * (i - real_average); - } - a /= NUMBER_OF_TESTS_TO_DO; - real_variance = a; - - double eig_variance = 0d; - a = 0d; - for (int i : y) { - a += (i - eig_average) * (i - eig_average); - } - a /= NUMBER_OF_TESTS_TO_DO; - eig_variance = a; - - double u = (real_average - eig_average) - / Math.sqrt((real_variance / NUMBER_OF_TESTS_TO_DO) + (eig_variance / NUMBER_OF_TESTS_TO_DO)); - MinecraftServer.getServer() - .addChatMessage( - new ChatComponentText( - "real average = " + Math - .round(real_average) + " eig average = " + Math.round(eig_average) + " u = " + u)); - double test_critical_value = 1.959964d; - boolean passed = Math.abs(u) < test_critical_value; - boolean instafail = Math.abs(u) > test_critical_value * 2; - if (passed) return; - assertFalse(instafail); - } - fail(); - - } - -} diff --git a/kubatech/src/functionalTest/java/kubatech/test/kubatechTestMod.java b/kubatech/src/functionalTest/java/kubatech/test/kubatechTestMod.java deleted file mode 100644 index bc68d3f203..0000000000 --- a/kubatech/src/functionalTest/java/kubatech/test/kubatechTestMod.java +++ /dev/null @@ -1,101 +0,0 @@ -package kubatech.test; - -import java.io.File; -import java.io.PrintWriter; -import java.nio.file.FileSystems; -import java.nio.file.Path; - -import net.minecraft.server.MinecraftServer; -import net.minecraft.util.ChatComponentText; - -import org.apache.commons.io.output.CloseShieldOutputStream; -import org.junit.platform.engine.discovery.DiscoverySelectors; -import org.junit.platform.launcher.Launcher; -import org.junit.platform.launcher.LauncherDiscoveryRequest; -import org.junit.platform.launcher.LauncherSession; -import org.junit.platform.launcher.TestPlan; -import org.junit.platform.launcher.core.LauncherDiscoveryRequestBuilder; -import org.junit.platform.launcher.core.LauncherFactory; -import org.junit.platform.launcher.listeners.SummaryGeneratingListener; -import org.junit.platform.launcher.listeners.TestExecutionSummary; -import org.junit.platform.reporting.legacy.xml.LegacyXmlReportGeneratingListener; - -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.Mod; -import cpw.mods.fml.common.Mod.EventHandler; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.event.FMLServerStartedEvent; -import gregtech.GT_Mod; - -@Mod( - modid = "kubatech-tests", - name = "KubaTech Dev Tests", - version = "1.0", - dependencies = "required-after:kubatech;required-after:gregtech;after:berriespp;") -public class kubatechTestMod { - - @EventHandler - public void preInit(FMLPreInitializationEvent ev) { - // Disable GT5u messing with vanilla recipes for unit tests - GT_Mod.gregtechproxy.mNerfedWoodPlank = false; - GT_Mod.gregtechproxy.mNerfedVanillaTools = false; - } - - @EventHandler - public void onServerStarted(FMLServerStartedEvent startedEv) { - MinecraftServer.getServer() - .addChatMessage(new ChatComponentText("Running KT unit tests...")); - runTests(); - MinecraftServer.getServer() - .addChatMessage(new ChatComponentText("Running KT unit tests finished")); - } - - public void runTests() { - // https://junit.org/junit5/docs/current/user-guide/#launcher-api - System.setProperty("junit.platform.reporting.open.xml.enabled", "false"); - final Path testsXmlOutDir = FileSystems.getDefault() - .getPath("./junit-out/") - .toAbsolutePath(); - final File testsXmlOutDirFile = testsXmlOutDir.toFile(); - testsXmlOutDirFile.mkdirs(); - { - File[] fileList = testsXmlOutDirFile.listFiles(); - if (fileList != null) { - for (File child : fileList) { - if (child.isFile() && child.getName() - .endsWith(".xml")) { - child.delete(); - } - } - } - } - final LauncherDiscoveryRequest discovery = LauncherDiscoveryRequestBuilder.request() - .selectors(DiscoverySelectors.selectPackage("kubatech.test")) - .build(); - final SummaryGeneratingListener summaryGenerator = new SummaryGeneratingListener(); - final TestExecutionSummary summary; - try (PrintWriter stderrWriter = new PrintWriter(new CloseShieldOutputStream(System.err), true)) { - final LegacyXmlReportGeneratingListener xmlGenerator = new LegacyXmlReportGeneratingListener( - testsXmlOutDir, - stderrWriter); - try (LauncherSession session = LauncherFactory.openSession()) { - final Launcher launcher = session.getLauncher(); - final TestPlan plan = launcher.discover(discovery); - launcher.registerTestExecutionListeners(summaryGenerator, xmlGenerator); - launcher.execute(plan); - } - summary = summaryGenerator.getSummary(); - - summary.printFailuresTo(stderrWriter, 32); - summary.printTo(stderrWriter); - stderrWriter.flush(); - } - // Throw an exception if running via `runServer` - if (summary.getTotalFailureCount() > 0 && FMLCommonHandler.instance() - .getSide() - .isServer()) { - throw new RuntimeException("Some of the unit tests failed to execute, check the log for details"); - } - } - -} diff --git a/kubatech/src/main/java/kubatech/ClientProxy.java b/kubatech/src/main/java/kubatech/ClientProxy.java deleted file mode 100644 index d9b1f5cf17..0000000000 --- a/kubatech/src/main/java/kubatech/ClientProxy.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * spotless:off - * KubaTech - Gregtech Addon - * Copyright (C) 2022 - 2024 kuba6000 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library. If not, see . - * spotless:on - */ - -package kubatech; - -import cpw.mods.fml.common.event.FMLInitializationEvent; -import cpw.mods.fml.common.event.FMLLoadCompleteEvent; -import cpw.mods.fml.common.event.FMLPostInitializationEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.event.FMLServerAboutToStartEvent; -import cpw.mods.fml.common.event.FMLServerStartedEvent; -import cpw.mods.fml.common.event.FMLServerStartingEvent; -import cpw.mods.fml.common.event.FMLServerStoppedEvent; -import cpw.mods.fml.common.event.FMLServerStoppingEvent; -import kubatech.api.utils.ModUtils; -import kubatech.nei.IMCForNEI; - -@SuppressWarnings("unused") -public class ClientProxy extends CommonProxy { - - public void preInit(FMLPreInitializationEvent event) { - ModUtils.isClientSided = true; - super.preInit(event); - } - - public void init(FMLInitializationEvent event) { - super.init(event); - IMCForNEI.IMCSender(); - } - - public void postInit(FMLPostInitializationEvent event) { - super.postInit(event); - } - - public void serverAboutToStart(FMLServerAboutToStartEvent event) { - super.serverAboutToStart(event); - } - - public void serverStarting(FMLServerStartingEvent event) { - super.serverStarting(event); - } - - public void serverStarted(FMLServerStartedEvent event) { - super.serverStarted(event); - } - - public void serverStopping(FMLServerStoppingEvent event) { - super.serverStopping(event); - } - - public void serverStopped(FMLServerStoppedEvent event) { - super.serverStopped(event); - } - - public void loadComplete(FMLLoadCompleteEvent event) { - super.loadComplete(event); - } -} diff --git a/kubatech/src/main/java/kubatech/CommonProxy.java b/kubatech/src/main/java/kubatech/CommonProxy.java deleted file mode 100644 index 39d6b224d5..0000000000 --- a/kubatech/src/main/java/kubatech/CommonProxy.java +++ /dev/null @@ -1,87 +0,0 @@ -/* - * spotless:off - * KubaTech - Gregtech Addon - * Copyright (C) 2022 - 2024 kuba6000 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library. If not, see . - * spotless:on - */ - -package kubatech; - -import static kubatech.loaders.BlockLoader.registerBlocks; -import static kubatech.loaders.ItemLoader.registerItems; - -import net.minecraftforge.common.MinecraftForge; - -import cpw.mods.fml.common.FMLCommonHandler; -import cpw.mods.fml.common.event.FMLInitializationEvent; -import cpw.mods.fml.common.event.FMLLoadCompleteEvent; -import cpw.mods.fml.common.event.FMLPostInitializationEvent; -import cpw.mods.fml.common.event.FMLPreInitializationEvent; -import cpw.mods.fml.common.event.FMLServerAboutToStartEvent; -import cpw.mods.fml.common.event.FMLServerStartedEvent; -import cpw.mods.fml.common.event.FMLServerStartingEvent; -import cpw.mods.fml.common.event.FMLServerStoppedEvent; -import cpw.mods.fml.common.event.FMLServerStoppingEvent; -import kubatech.api.LoaderReference; -import kubatech.commands.CommandHandler; -import kubatech.config.Config; -import kubatech.loaders.MTLoader; -import kubatech.loaders.MobHandlerLoader; -import kubatech.loaders.RecipeLoader; -import kubatech.loaders.TCLoader; -import kubatech.savedata.PlayerDataManager; - -public class CommonProxy { - - public void preInit(FMLPreInitializationEvent event) { - kubatech.info("Initializing ! Version: " + Tags.VERSION); - - Config.init(event.getModConfigurationDirectory()); - Config.synchronizeConfiguration(); - FMLCommonHandler.instance() - .bus() - .register(new FMLEventHandler()); - MinecraftForge.EVENT_BUS.register(new PlayerDataManager()); - registerItems(); - registerBlocks(); - MobHandlerLoader.init(); - } - - public void init(FMLInitializationEvent event) { - if (LoaderReference.MineTweaker) MTLoader.init(); - } - - public void postInit(FMLPostInitializationEvent event) { - RecipeLoader.addRecipes(); - if (LoaderReference.Thaumcraft) TCLoader.init(); - } - - public void serverAboutToStart(FMLServerAboutToStartEvent event) {} - - public void serverStarting(FMLServerStartingEvent event) { - RecipeLoader.addRecipesLate(); - CommandHandler cmd = new CommandHandler(); - event.registerServerCommand(cmd); - } - - public void serverStarted(FMLServerStartedEvent event) {} - - public void serverStopping(FMLServerStoppingEvent event) {} - - public void serverStopped(FMLServerStoppedEvent event) {} - - public void loadComplete(FMLLoadCompleteEvent event) {} -} diff --git a/kubatech/src/main/java/kubatech/FMLEventHandler.java b/kubatech/src/main/java/kubatech/FMLEventHandler.java deleted file mode 100644 index 02e9bb19a7..0000000000 --- a/kubatech/src/main/java/kubatech/FMLEventHandler.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * spotless:off - * KubaTech - Gregtech Addon - * Copyright (C) 2022 - 2024 kuba6000 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library. If not, see . - * spotless:on - */ - -package kubatech; - -import net.minecraft.entity.player.EntityPlayerMP; - -import cpw.mods.fml.common.eventhandler.SubscribeEvent; -import cpw.mods.fml.common.gameevent.PlayerEvent; -import kubatech.api.helpers.UUIDFinder; -import kubatech.network.LoadConfigPacket; -import kubatech.savedata.PlayerDataManager; - -public class FMLEventHandler { - - // Gets fired only server-sided - @SubscribeEvent - public void onPlayerLoggedIn(PlayerEvent.PlayerLoggedInEvent event) { - if (!(event.player instanceof EntityPlayerMP)) return; - UUIDFinder.updateMapping(event.player.getCommandSenderName(), event.player.getPersistentID()); - PlayerDataManager.initializePlayer((EntityPlayerMP) event.player); - kubatech.info("Sending config to " + event.player.getDisplayName()); - kubatech.NETWORK.sendTo(LoadConfigPacket.instance, (EntityPlayerMP) event.player); - } -} diff --git a/kubatech/src/main/java/kubatech/Tags.java b/kubatech/src/main/java/kubatech/Tags.java deleted file mode 100644 index 0be971ae91..0000000000 --- a/kubatech/src/main/java/kubatech/Tags.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * spotless:off - * KubaTech - Gregtech Addon - * Copyright (C) 2022 - 2024 kuba6000 - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 3 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this library. If not, see . - * spotless:on - */ - -package kubatech; - -// Use this class for Strings only. Do not import any classes here. It will lead to issues with Mixins if in use! - -public class Tags { - - // GRADLETOKEN_* will be replaced by your configuration values at build time - public static final String MODID = "kubatech"; - public static final String MODNAME = "KubaTech"; - public static final String VERSION = "GRADLETOKEN_VERSION"; -} diff --git a/kubatech/src/main/java/kubatech/api/DynamicInventory.java b/kubatech/src/main/java/kubatech/api/DynamicInventory.java deleted file mode 100644 index ef89c3a341..0000000000 --- a/kubatech/src/main/java/kubatech/api/DynamicInventory.java +++ /dev/null @@ -1,469 +0,0 @@ -package kubatech.api; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.function.Supplier; - -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; - -import org.lwjgl.opengl.GL11; - -import com.gtnewhorizons.modularui.api.GlStateManager; -import com.gtnewhorizons.modularui.api.ModularUITextures; -import com.gtnewhorizons.modularui.api.drawable.IDrawable; -import com.gtnewhorizons.modularui.api.drawable.ItemDrawable; -import com.gtnewhorizons.modularui.api.drawable.Text; -import com.gtnewhorizons.modularui.api.drawable.UITexture; -import com.gtnewhorizons.modularui.api.math.Alignment; -import com.gtnewhorizons.modularui.api.math.Color; -import com.gtnewhorizons.modularui.api.screen.ModularWindow; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; -import com.gtnewhorizons.modularui.api.widget.Widget; -import com.gtnewhorizons.modularui.common.internal.Theme; -import com.gtnewhorizons.modularui.common.internal.wrapper.ModularGui; -import com.gtnewhorizons.modularui.common.widget.ButtonWidget; -import com.gtnewhorizons.modularui.common.widget.ChangeableWidget; -import com.gtnewhorizons.modularui.common.widget.DynamicPositionedRow; -import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget; -import com.gtnewhorizons.modularui.common.widget.Scrollable; -import com.kuba6000.mobsinfo.api.utils.ItemID; - -import kubatech.api.helpers.GTHelper; -import kubatech.api.utils.ModUtils; - -public class DynamicInventory { - - int width, height; - Supplier slotsGetter; - private int slots = 0; - private int usedSlots = 0; - List inventory; - TInventoryGetter inventoryGetter; - TInventoryInjector inventoryInjector = null; - TInventoryExtractor inventoryExtractor = null; - TInventoryReplacerOrMerger inventoryReplacer = null; - Supplier isEnabledGetter = null; - boolean isEnabled = true; - - public DynamicInventory(int width, int height, Supplier slotsGetter, List inventory, - TInventoryGetter inventoryGetter) { - this.width = width; - this.height = height; - this.slotsGetter = slotsGetter; - this.inventory = inventory; - this.inventoryGetter = inventoryGetter; - } - - public DynamicInventory allowInventoryInjection(TInventoryInjector inventoryInjector) { - this.inventoryInjector = inventoryInjector; - return this; - } - - public DynamicInventory allowInventoryExtraction(TInventoryExtractor inventoryExtractor) { - this.inventoryExtractor = inventoryExtractor; - return this; - } - - public DynamicInventory allowInventoryReplace(TInventoryReplacerOrMerger inventoryReplacer) { - this.inventoryReplacer = inventoryReplacer; - return this; - } - - public DynamicInventory setEnabled(Supplier isEnabled) { - this.isEnabledGetter = isEnabled; - return this; - } - - public UITexture getItemSlot() { - return ModularUITextures.ITEM_SLOT; - } - - @SuppressWarnings("UnstableApiUsage") - public Widget asWidget(ModularWindow.Builder builder, UIBuildContext buildContext) { - ChangeableWidget container = new ChangeableWidget(() -> createWidget(buildContext.getPlayer())); - - // TODO: Only reset the widget when there are more slot stacks, otherwise just refresh them somehow - - container.attachSyncer(new FakeSyncWidget.IntegerSyncer(() -> { - if (slots != slotsGetter.get()) { - slots = slotsGetter.get(); - container.notifyChangeNoSync(); - } - return slots; - }, i -> { - if (slots != i) { - slots = i; - container.notifyChangeNoSync(); - } - }), builder) - .attachSyncer(new FakeSyncWidget.IntegerSyncer(() -> { - if (usedSlots != inventory.size()) { - usedSlots = inventory.size(); - container.notifyChangeNoSync(); - } - return usedSlots; - }, i -> { - if (usedSlots != i) { - usedSlots = i; - container.notifyChangeNoSync(); - } - }), builder) - .attachSyncer(new FakeSyncWidget.ListSyncer<>(() -> { - HashMap itemMap = new HashMap<>(); - HashMap stackMap = new HashMap<>(); - HashMap> realSlotMap = new HashMap<>(); - for (int i = 0, mStorageSize = inventory.size(); i < mStorageSize; i++) { - ItemStack stack = inventoryGetter.get(inventory.get(i)); - ItemID id = ItemID.createNoCopy(stack, false); - itemMap.merge(id, 1, Integer::sum); - stackMap.putIfAbsent(id, stack); - realSlotMap.computeIfAbsent(id, unused -> new ArrayList<>()) - .add(i); - } - List newDrawables = new ArrayList<>(); - for (Map.Entry entry : itemMap.entrySet()) { - newDrawables.add( - new GTHelper.StackableItemSlot( - entry.getValue(), - stackMap.get(entry.getKey()), - realSlotMap.get(entry.getKey()))); - } - if (!Objects.equals(newDrawables, drawables)) { - drawables = newDrawables; - container.notifyChangeNoSync(); - } - return drawables; - }, l -> { - drawables.clear(); - drawables.addAll(l); - container.notifyChangeNoSync(); - }, (buffer, i) -> { - try { - i.write(buffer); - } catch (IOException e) { - throw new RuntimeException(e); - } - }, buffer -> { - try { - return GTHelper.StackableItemSlot.read(buffer); - } catch (IOException e) { - throw new RuntimeException(e); - } - }), builder); - if (isEnabledGetter != null) { - container.attachSyncer(new FakeSyncWidget.BooleanSyncer(isEnabledGetter, i -> isEnabled = i), builder); - } - return container; - } - - List drawables = new ArrayList<>(); - - private Widget createWidget(EntityPlayer player) { - Scrollable dynamicInventoryWidget = new Scrollable().setVerticalScroll(); - - ArrayList buttons = new ArrayList<>(); - - if (!ModUtils.isClientThreaded()) { - HashMap itemMap = new HashMap<>(); - HashMap stackMap = new HashMap<>(); - HashMap> realSlotMap = new HashMap<>(); - for (int i = 0, inventorySize = inventory.size(); i < inventorySize; i++) { - ItemStack stack = inventoryGetter.get(inventory.get(i)); - ItemID id = ItemID.createNoCopy(stack, false); - itemMap.merge(id, 1, Integer::sum); - stackMap.putIfAbsent(id, stack); - realSlotMap.computeIfAbsent(id, unused -> new ArrayList<>()) - .add(i); - } - drawables = new ArrayList<>(); - for (Map.Entry entry : itemMap.entrySet()) { - drawables.add( - new GTHelper.StackableItemSlot( - entry.getValue(), - stackMap.get(entry.getKey()), - realSlotMap.get(entry.getKey()))); - } - } - - for (int ID = 0; ID < drawables.size(); ID++) { - final int finalID = ID; - buttons.add(new ButtonWidget() { - - @Override - public void drawBackground(float partialTicks) { - super.drawBackground(partialTicks); - if (!isEnabled) { - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_BLEND); - GlStateManager.colorMask(true, true, true, false); - ModularGui.drawSolidRect(1, 1, 16, 16, Color.withAlpha(Color.BLACK.normal, 0x80)); - GlStateManager.colorMask(true, true, true, true); - GL11.glDisable(GL11.GL_BLEND); - } - // Copied from SlotWidget#draw - else if (isHovering() && !getContext().getCursor() - .hasDraggable()) { - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_BLEND); - GlStateManager.colorMask(true, true, true, false); - ModularGui.drawSolidRect(1, 1, 16, 16, Theme.INSTANCE.getSlotHighlight()); - GlStateManager.colorMask(true, true, true, true); - GL11.glDisable(GL11.GL_BLEND); - } - } - }.setPlayClickSound(false) - .setOnClick((clickData, widget) -> { - if (!(player instanceof EntityPlayerMP)) return; - if (!isEnabledGetter.get()) return; - - if (clickData.mouseButton == 2) { - // special button handler goes here - if (drawables.size() <= finalID) return; - if (player.capabilities.isCreativeMode && player.inventory.getItemStack() == null) { - int realID = drawables.get(finalID).realSlots.get(0); - ItemStack stack = inventoryGetter.get(inventory.get(realID)) - .copy(); - stack.stackSize = stack.getMaxStackSize(); - player.inventory.setItemStack(stack); - ((EntityPlayerMP) player).isChangingQuantityOnly = false; - ((EntityPlayerMP) player).updateHeldItem(); - return; - } - } else if (clickData.shift) { - if (inventoryExtractor == null) return; - if (drawables.size() <= finalID) return; - int realID = drawables.get(finalID).realSlots.get(0); - T removed = inventoryExtractor.extract(realID); - if (removed != null) { - ItemStack stack = inventoryGetter.get(removed); - if (player.inventory.addItemStackToInventory(stack)) - player.inventoryContainer.detectAndSendChanges(); - else player.entityDropItem(stack, 0.f); - return; - } - } else { - ItemStack input = player.inventory.getItemStack(); - if (input != null) { - if (drawables.size() > finalID) { - if (inventoryReplacer == null) return; - int realID = drawables.get(finalID).realSlots.get(0); - ItemStack removed = inventoryReplacer.replaceOrMerge(realID, input); - if (removed == null) return; - player.inventory.setItemStack(removed.stackSize == 0 ? null : removed); - } else { - if (inventoryInjector == null) return; - if (clickData.mouseButton == 1) { - ItemStack copy = input.copy(); - copy.stackSize = 1; - ItemStack leftover = inventoryInjector.inject(copy); - if (leftover == null) return; - input.stackSize--; - if (input.stackSize > 0) { - ((EntityPlayerMP) player).isChangingQuantityOnly = true; - ((EntityPlayerMP) player).updateHeldItem(); - return; - } else player.inventory.setItemStack(null); - } else { - ItemStack leftover = inventoryInjector.inject(input); - if (leftover == null) return; - if (input.stackSize > 0) { - ((EntityPlayerMP) player).isChangingQuantityOnly = true; - ((EntityPlayerMP) player).updateHeldItem(); - return; - } else player.inventory.setItemStack(null); - } - } - ((EntityPlayerMP) player).isChangingQuantityOnly = false; - ((EntityPlayerMP) player).updateHeldItem(); - return; - } - if (drawables.size() > finalID) { - if (inventoryExtractor == null) return; - int realID = drawables.get(finalID).realSlots.get(0); - T removed = inventoryExtractor.extract(realID); - if (removed != null) { - ItemStack stack = inventoryGetter.get(removed); - player.inventory.setItemStack(stack); - ((EntityPlayerMP) player).isChangingQuantityOnly = false; - ((EntityPlayerMP) player).updateHeldItem(); - return; - } - } - } - }) - .setBackground( - () -> new IDrawable[] { getItemSlot(), - new ItemDrawable(drawables.size() > finalID ? drawables.get(finalID).stack : null) - .withFixedSize(16, 16, 1, 1), - new Text( - (drawables.size() > finalID && drawables.get(