From 059761283649bd9a12713ce8a1210bde4dd5e9d2 Mon Sep 17 00:00:00 2001 From: Donovan Daniels Date: Thu, 7 Apr 2022 20:47:01 -0500 Subject: [PATCH] combine all of the EMC blocks into one --- .../generation/generators/block/emc_link.js | 5 + .../generators}/block/emc_link.json | 4 +- .../generators/blockstate/emc_link.js | 4 + .../generators/blockstate/emc_link.json | 7 + .../blockstate/single/emc_export.json | 7 - .../blockstate/single/emc_import.json | 7 - .../blockstate/single/emc_link.json | 7 - .../generation/generators/item/emc_link.js | 4 + .../generation/generators/item/emc_link.json | 3 + .../generators/item/single/emc_export.json | 3 - .../generators/item/single/emc_import.json | 3 - .../generators/item/single/emc_link.json | 3 - .../generators/lang/en_US/block/emc_link.json | 28 ++ .../generators/lang/en_US/block/misc.json | 8 - .../generation/generators/lang/en_US/gui.json | 30 +- .../generators/loot_tables/emc_link.js | 4 + .../generators/loot_tables}/emc_link.json | 4 +- .../generation/generators/recipes/emc_link.js | 13 + .../generators}/recipes/emc_link.json | 13 +- .../generators/recipes/power_flower.json | 2 +- .../{emc_import.json => emc_link/basic.json} | 13 +- .../recipes/single/emc_link/dark.json | 29 ++ .../recipes/single/emc_link/final.json | 29 ++ .../recipes/single/emc_link/magenta.json | 29 ++ .../recipes/single/emc_link/red.json | 29 ++ .../single/transmutation_interface.json | 16 +- .../forge/projectexpansion/ClientHandler.java | 7 +- .../block/BlockEMCExport.java | 93 ----- .../block/BlockEMCImport.java | 93 ----- .../projectexpansion/block/BlockEMCLink.java | 45 ++- .../container/ArcaneContainer.java | 1 - .../container/ContainerEMCExport.java | 135 ------- .../container/ContainerEMCImport.java | 124 ------ .../container/slots/SlotEMC.java | 37 -- .../container/slots/package-info.java | 7 - .../projectexpansion/gui/GUIEMCExport.java | 42 -- .../projectexpansion/gui/GUIEMCImport.java | 42 -- .../forge/projectexpansion/init/Blocks.java | 6 +- .../projectexpansion/init/ContainerTypes.java | 7 - .../mc/forge/projectexpansion/init/Items.java | 4 - .../init/TileEntityTypes.java | 4 +- .../projectexpansion/tile/TileEMCExport.java | 238 ------------ .../projectexpansion/tile/TileEMCImport.java | 238 ------------ .../projectexpansion/tile/TileEMCLink.java | 287 ++++++++++++-- .../forge/projectexpansion/util/Matter.java | 54 ++- .../blockstates/basic_emc_link.json | 7 + .../blockstates/blue_emc_link.json | 7 + .../blockstates/cyan_emc_link.json | 7 + .../blockstates/dark_emc_link.json | 7 + .../blockstates/emc_export.json | 7 - .../blockstates/emc_import.json | 7 - .../blockstates/emc_link.json | 7 - .../blockstates/fading_emc_link.json | 7 + .../blockstates/final_emc_link.json | 7 + .../blockstates/green_emc_link.json | 7 + .../blockstates/lime_emc_link.json | 7 + .../blockstates/magenta_emc_link.json | 7 + .../blockstates/orange_emc_link.json | 7 + .../blockstates/pink_emc_link.json | 7 + .../blockstates/purple_emc_link.json | 7 + .../blockstates/red_emc_link.json | 7 + .../blockstates/violet_emc_link.json | 7 + .../blockstates/white_emc_link.json | 7 + .../blockstates/yellow_emc_link.json | 7 + .../assets/projectexpansion/lang/en_us.json | 362 +++++++++--------- .../models/block/emc_import.json | 6 - .../models/block/emc_link/basic.json | 6 + .../models/block/emc_link/blue.json} | 4 +- .../models/block/emc_link/cyan.json} | 4 +- .../{emc_export.json => emc_link/dark.json} | 4 +- .../models/block/emc_link/fading.json | 6 + .../models/block/emc_link/final.json | 6 + .../models/block/emc_link/green.json | 6 + .../models/block/emc_link/lime.json | 6 + .../models/block/emc_link/magenta.json | 6 + .../models/block/emc_link/orange.json | 6 + .../models/block/emc_link/pink.json | 6 + .../models/block/emc_link/purple.json | 6 + .../models/block/emc_link/red.json} | 4 +- .../models/block/emc_link/violet.json | 6 + .../models/block/emc_link/white.json | 6 + .../models/block/emc_link/yellow.json | 6 + .../models/item/basic_emc_link.json | 3 + .../models/item/blue_emc_link.json | 3 + .../models/item/cyan_emc_link.json | 3 + .../models/item/dark_emc_link.json | 3 + .../models/item/emc_export.json | 3 - .../models/item/emc_import.json | 3 - .../models/item/emc_link.json | 3 - .../models/item/fading_emc_link.json | 3 + .../models/item/final_emc_link.json | 3 + .../models/item/green_emc_link.json | 3 + .../models/item/lime_emc_link.json | 3 + .../models/item/magenta_emc_link.json | 3 + .../models/item/orange_emc_link.json | 3 + .../models/item/pink_emc_link.json | 3 + .../models/item/purple_emc_link.json | 3 + .../models/item/red_emc_link.json | 3 + .../models/item/violet_emc_link.json | 3 + .../models/item/white_emc_link.json | 3 + .../models/item/yellow_emc_link.json | 3 + .../loot_tables/blocks/basic_emc_link.json | 19 + .../loot_tables/blocks/blue_emc_link.json} | 4 +- .../loot_tables/blocks/cyan_emc_link.json} | 4 +- .../{emc_export.json => dark_emc_link.json} | 4 +- .../loot_tables/blocks/emc_import.json | 19 - .../loot_tables/blocks/fading_emc_link.json | 19 + .../loot_tables/blocks/final_emc_link.json | 19 + .../loot_tables/blocks/green_emc_link.json | 19 + .../loot_tables/blocks/lime_emc_link.json | 19 + .../loot_tables/blocks/magenta_emc_link.json | 19 + .../loot_tables/blocks/orange_emc_link.json | 19 + .../loot_tables/blocks/pink_emc_link.json | 19 + .../loot_tables/blocks/purple_emc_link.json | 19 + .../loot_tables/blocks/red_emc_link.json} | 4 +- .../loot_tables/blocks/violet_emc_link.json | 19 + .../loot_tables/blocks/white_emc_link.json | 19 + .../loot_tables/blocks/yellow_emc_link.json | 19 + .../projectexpansion/recipes/emc_import.json | 28 -- .../recipes/emc_link/basic.json} | 13 +- .../recipes/emc_link/blue.json | 29 ++ .../{emc_export.json => emc_link/cyan.json} | 13 +- .../recipes/emc_link/dark.json | 29 ++ .../recipes/emc_link/fading.json | 29 ++ .../recipes/emc_link/final.json | 29 ++ .../recipes/emc_link/green.json | 29 ++ .../recipes/emc_link/lime.json} | 13 +- .../recipes/emc_link/magenta.json | 29 ++ .../recipes/emc_link/orange.json | 29 ++ .../recipes/emc_link/pink.json | 29 ++ .../recipes/emc_link/purple.json | 29 ++ .../recipes/emc_link/red.json | 29 ++ .../recipes/emc_link/violet.json | 29 ++ .../recipes/emc_link/white.json | 29 ++ .../recipes/emc_link/yellow.json | 29 ++ .../recipes/power_flower/basic.json | 2 +- .../recipes/power_flower/blue.json | 2 +- .../recipes/power_flower/cyan.json | 2 +- .../recipes/power_flower/dark.json | 2 +- .../recipes/power_flower/fading.json | 2 +- .../recipes/power_flower/final.json | 2 +- .../recipes/power_flower/green.json | 2 +- .../recipes/power_flower/lime.json | 2 +- .../recipes/power_flower/magenta.json | 2 +- .../recipes/power_flower/orange.json | 2 +- .../recipes/power_flower/pink.json | 2 +- .../recipes/power_flower/purple.json | 2 +- .../recipes/power_flower/red.json | 2 +- .../recipes/power_flower/violet.json | 2 +- .../recipes/power_flower/white.json | 2 +- .../recipes/power_flower/yellow.json | 2 +- .../recipes/transmutation_interface.json | 16 +- 152 files changed, 1637 insertions(+), 1532 deletions(-) create mode 100644 src/main/generation/generators/block/emc_link.js rename src/main/{resources/assets/projectexpansion/models => generation/generators}/block/emc_link.json (53%) create mode 100644 src/main/generation/generators/blockstate/emc_link.js create mode 100644 src/main/generation/generators/blockstate/emc_link.json delete mode 100644 src/main/generation/generators/blockstate/single/emc_export.json delete mode 100644 src/main/generation/generators/blockstate/single/emc_import.json delete mode 100644 src/main/generation/generators/blockstate/single/emc_link.json create mode 100644 src/main/generation/generators/item/emc_link.js create mode 100644 src/main/generation/generators/item/emc_link.json delete mode 100644 src/main/generation/generators/item/single/emc_export.json delete mode 100644 src/main/generation/generators/item/single/emc_import.json delete mode 100644 src/main/generation/generators/item/single/emc_link.json create mode 100644 src/main/generation/generators/lang/en_US/block/emc_link.json create mode 100644 src/main/generation/generators/loot_tables/emc_link.js rename src/main/{resources/data/projectexpansion/loot_tables/blocks => generation/generators/loot_tables}/emc_link.json (82%) create mode 100644 src/main/generation/generators/recipes/emc_link.js rename src/main/{resources/data/projectexpansion => generation/generators}/recipes/emc_link.json (57%) rename src/main/generation/generators/recipes/single/{emc_import.json => emc_link/basic.json} (59%) create mode 100644 src/main/generation/generators/recipes/single/emc_link/dark.json create mode 100644 src/main/generation/generators/recipes/single/emc_link/final.json create mode 100644 src/main/generation/generators/recipes/single/emc_link/magenta.json create mode 100644 src/main/generation/generators/recipes/single/emc_link/red.json delete mode 100644 src/main/java/cool/furry/mc/forge/projectexpansion/block/BlockEMCExport.java delete mode 100644 src/main/java/cool/furry/mc/forge/projectexpansion/block/BlockEMCImport.java delete mode 100644 src/main/java/cool/furry/mc/forge/projectexpansion/container/ContainerEMCExport.java delete mode 100644 src/main/java/cool/furry/mc/forge/projectexpansion/container/ContainerEMCImport.java delete mode 100644 src/main/java/cool/furry/mc/forge/projectexpansion/container/slots/SlotEMC.java delete mode 100644 src/main/java/cool/furry/mc/forge/projectexpansion/container/slots/package-info.java delete mode 100644 src/main/java/cool/furry/mc/forge/projectexpansion/gui/GUIEMCExport.java delete mode 100644 src/main/java/cool/furry/mc/forge/projectexpansion/gui/GUIEMCImport.java delete mode 100644 src/main/java/cool/furry/mc/forge/projectexpansion/tile/TileEMCExport.java delete mode 100644 src/main/java/cool/furry/mc/forge/projectexpansion/tile/TileEMCImport.java create mode 100644 src/main/resources/assets/projectexpansion/blockstates/basic_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/blockstates/blue_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/blockstates/cyan_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/blockstates/dark_emc_link.json delete mode 100644 src/main/resources/assets/projectexpansion/blockstates/emc_export.json delete mode 100644 src/main/resources/assets/projectexpansion/blockstates/emc_import.json delete mode 100644 src/main/resources/assets/projectexpansion/blockstates/emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/blockstates/fading_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/blockstates/final_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/blockstates/green_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/blockstates/lime_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/blockstates/magenta_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/blockstates/orange_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/blockstates/pink_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/blockstates/purple_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/blockstates/red_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/blockstates/violet_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/blockstates/white_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/blockstates/yellow_emc_link.json delete mode 100644 src/main/resources/assets/projectexpansion/models/block/emc_import.json create mode 100644 src/main/resources/assets/projectexpansion/models/block/emc_link/basic.json rename src/main/{generation/generators/block/single/emc_import.json => resources/assets/projectexpansion/models/block/emc_link/blue.json} (54%) rename src/main/{generation/generators/block/single/emc_link.json => resources/assets/projectexpansion/models/block/emc_link/cyan.json} (54%) rename src/main/resources/assets/projectexpansion/models/block/{emc_export.json => emc_link/dark.json} (54%) create mode 100644 src/main/resources/assets/projectexpansion/models/block/emc_link/fading.json create mode 100644 src/main/resources/assets/projectexpansion/models/block/emc_link/final.json create mode 100644 src/main/resources/assets/projectexpansion/models/block/emc_link/green.json create mode 100644 src/main/resources/assets/projectexpansion/models/block/emc_link/lime.json create mode 100644 src/main/resources/assets/projectexpansion/models/block/emc_link/magenta.json create mode 100644 src/main/resources/assets/projectexpansion/models/block/emc_link/orange.json create mode 100644 src/main/resources/assets/projectexpansion/models/block/emc_link/pink.json create mode 100644 src/main/resources/assets/projectexpansion/models/block/emc_link/purple.json rename src/main/{generation/generators/block/single/emc_export.json => resources/assets/projectexpansion/models/block/emc_link/red.json} (54%) create mode 100644 src/main/resources/assets/projectexpansion/models/block/emc_link/violet.json create mode 100644 src/main/resources/assets/projectexpansion/models/block/emc_link/white.json create mode 100644 src/main/resources/assets/projectexpansion/models/block/emc_link/yellow.json create mode 100644 src/main/resources/assets/projectexpansion/models/item/basic_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/models/item/blue_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/models/item/cyan_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/models/item/dark_emc_link.json delete mode 100644 src/main/resources/assets/projectexpansion/models/item/emc_export.json delete mode 100644 src/main/resources/assets/projectexpansion/models/item/emc_import.json delete mode 100644 src/main/resources/assets/projectexpansion/models/item/emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/models/item/fading_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/models/item/final_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/models/item/green_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/models/item/lime_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/models/item/magenta_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/models/item/orange_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/models/item/pink_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/models/item/purple_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/models/item/red_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/models/item/violet_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/models/item/white_emc_link.json create mode 100644 src/main/resources/assets/projectexpansion/models/item/yellow_emc_link.json create mode 100644 src/main/resources/data/projectexpansion/loot_tables/blocks/basic_emc_link.json rename src/main/{generation/generators/loot_tables/single/emc_import.json => resources/data/projectexpansion/loot_tables/blocks/blue_emc_link.json} (83%) rename src/main/{generation/generators/loot_tables/single/emc_link.json => resources/data/projectexpansion/loot_tables/blocks/cyan_emc_link.json} (83%) rename src/main/resources/data/projectexpansion/loot_tables/blocks/{emc_export.json => dark_emc_link.json} (83%) delete mode 100644 src/main/resources/data/projectexpansion/loot_tables/blocks/emc_import.json create mode 100644 src/main/resources/data/projectexpansion/loot_tables/blocks/fading_emc_link.json create mode 100644 src/main/resources/data/projectexpansion/loot_tables/blocks/final_emc_link.json create mode 100644 src/main/resources/data/projectexpansion/loot_tables/blocks/green_emc_link.json create mode 100644 src/main/resources/data/projectexpansion/loot_tables/blocks/lime_emc_link.json create mode 100644 src/main/resources/data/projectexpansion/loot_tables/blocks/magenta_emc_link.json create mode 100644 src/main/resources/data/projectexpansion/loot_tables/blocks/orange_emc_link.json create mode 100644 src/main/resources/data/projectexpansion/loot_tables/blocks/pink_emc_link.json create mode 100644 src/main/resources/data/projectexpansion/loot_tables/blocks/purple_emc_link.json rename src/main/{generation/generators/loot_tables/single/emc_export.json => resources/data/projectexpansion/loot_tables/blocks/red_emc_link.json} (83%) create mode 100644 src/main/resources/data/projectexpansion/loot_tables/blocks/violet_emc_link.json create mode 100644 src/main/resources/data/projectexpansion/loot_tables/blocks/white_emc_link.json create mode 100644 src/main/resources/data/projectexpansion/loot_tables/blocks/yellow_emc_link.json delete mode 100644 src/main/resources/data/projectexpansion/recipes/emc_import.json rename src/main/{generation/generators/recipes/single/emc_link.json => resources/data/projectexpansion/recipes/emc_link/basic.json} (59%) create mode 100644 src/main/resources/data/projectexpansion/recipes/emc_link/blue.json rename src/main/resources/data/projectexpansion/recipes/{emc_export.json => emc_link/cyan.json} (58%) create mode 100644 src/main/resources/data/projectexpansion/recipes/emc_link/dark.json create mode 100644 src/main/resources/data/projectexpansion/recipes/emc_link/fading.json create mode 100644 src/main/resources/data/projectexpansion/recipes/emc_link/final.json create mode 100644 src/main/resources/data/projectexpansion/recipes/emc_link/green.json rename src/main/{generation/generators/recipes/single/emc_export.json => resources/data/projectexpansion/recipes/emc_link/lime.json} (58%) create mode 100644 src/main/resources/data/projectexpansion/recipes/emc_link/magenta.json create mode 100644 src/main/resources/data/projectexpansion/recipes/emc_link/orange.json create mode 100644 src/main/resources/data/projectexpansion/recipes/emc_link/pink.json create mode 100644 src/main/resources/data/projectexpansion/recipes/emc_link/purple.json create mode 100644 src/main/resources/data/projectexpansion/recipes/emc_link/red.json create mode 100644 src/main/resources/data/projectexpansion/recipes/emc_link/violet.json create mode 100644 src/main/resources/data/projectexpansion/recipes/emc_link/white.json create mode 100644 src/main/resources/data/projectexpansion/recipes/emc_link/yellow.json diff --git a/src/main/generation/generators/block/emc_link.js b/src/main/generation/generators/block/emc_link.js new file mode 100644 index 00000000..572a3e50 --- /dev/null +++ b/src/main/generation/generators/block/emc_link.js @@ -0,0 +1,5 @@ +const { mkdirSync } = require("fs"); +const { genericBlock } = require("../../util"); + +const BASE = `${__dirname}/emc_link.json`; +module.exports = (outDir) => genericBlock(outDir, "emc_link", BASE); diff --git a/src/main/resources/assets/projectexpansion/models/block/emc_link.json b/src/main/generation/generators/block/emc_link.json similarity index 53% rename from src/main/resources/assets/projectexpansion/models/block/emc_link.json rename to src/main/generation/generators/block/emc_link.json index 9e161952..ece80183 100644 --- a/src/main/resources/assets/projectexpansion/models/block/emc_link.json +++ b/src/main/generation/generators/block/emc_link.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/cube_all", "textures": { - "all": "projectexpansion:block/emc_link" + "all": "projectexpansion:block/emc_link/$TIER$" } -} \ No newline at end of file +} diff --git a/src/main/generation/generators/blockstate/emc_link.js b/src/main/generation/generators/blockstate/emc_link.js new file mode 100644 index 00000000..2f769797 --- /dev/null +++ b/src/main/generation/generators/blockstate/emc_link.js @@ -0,0 +1,4 @@ +const { generic } = require("../../util"); + +const BASE = `${__dirname}/emc_link.json`; +module.exports = (outDir) => generic(outDir, "emc_link", BASE); diff --git a/src/main/generation/generators/blockstate/emc_link.json b/src/main/generation/generators/blockstate/emc_link.json new file mode 100644 index 00000000..bd9f66bd --- /dev/null +++ b/src/main/generation/generators/blockstate/emc_link.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "projectexpansion:block/emc_link/$TIER$" + } + } +} diff --git a/src/main/generation/generators/blockstate/single/emc_export.json b/src/main/generation/generators/blockstate/single/emc_export.json deleted file mode 100644 index bb609ed4..00000000 --- a/src/main/generation/generators/blockstate/single/emc_export.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "projectexpansion:block/emc_export" - } - } -} \ No newline at end of file diff --git a/src/main/generation/generators/blockstate/single/emc_import.json b/src/main/generation/generators/blockstate/single/emc_import.json deleted file mode 100644 index 6d3bd89f..00000000 --- a/src/main/generation/generators/blockstate/single/emc_import.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "projectexpansion:block/emc_import" - } - } -} \ No newline at end of file diff --git a/src/main/generation/generators/blockstate/single/emc_link.json b/src/main/generation/generators/blockstate/single/emc_link.json deleted file mode 100644 index 41e806ed..00000000 --- a/src/main/generation/generators/blockstate/single/emc_link.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "projectexpansion:block/emc_link" - } - } -} \ No newline at end of file diff --git a/src/main/generation/generators/item/emc_link.js b/src/main/generation/generators/item/emc_link.js new file mode 100644 index 00000000..2f769797 --- /dev/null +++ b/src/main/generation/generators/item/emc_link.js @@ -0,0 +1,4 @@ +const { generic } = require("../../util"); + +const BASE = `${__dirname}/emc_link.json`; +module.exports = (outDir) => generic(outDir, "emc_link", BASE); diff --git a/src/main/generation/generators/item/emc_link.json b/src/main/generation/generators/item/emc_link.json new file mode 100644 index 00000000..c76df2c6 --- /dev/null +++ b/src/main/generation/generators/item/emc_link.json @@ -0,0 +1,3 @@ +{ + "parent": "projectexpansion:block/emc_link/$TIER$" +} diff --git a/src/main/generation/generators/item/single/emc_export.json b/src/main/generation/generators/item/single/emc_export.json deleted file mode 100644 index 78db62ef..00000000 --- a/src/main/generation/generators/item/single/emc_export.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "projectexpansion:block/emc_export" -} \ No newline at end of file diff --git a/src/main/generation/generators/item/single/emc_import.json b/src/main/generation/generators/item/single/emc_import.json deleted file mode 100644 index 3ca4fdcf..00000000 --- a/src/main/generation/generators/item/single/emc_import.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "projectexpansion:block/emc_import" -} \ No newline at end of file diff --git a/src/main/generation/generators/item/single/emc_link.json b/src/main/generation/generators/item/single/emc_link.json deleted file mode 100644 index 9ed0bd5a..00000000 --- a/src/main/generation/generators/item/single/emc_link.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "projectexpansion:block/emc_link" -} \ No newline at end of file diff --git a/src/main/generation/generators/lang/en_US/block/emc_link.json b/src/main/generation/generators/lang/en_US/block/emc_link.json new file mode 100644 index 00000000..334545d8 --- /dev/null +++ b/src/main/generation/generators/lang/en_US/block/emc_link.json @@ -0,0 +1,28 @@ +{ + "block.projectexpansion.emc_link.tooltip": "Imports both emc & items, and exports items.", + "block.projectexpansion.emc_link.limit_items": "Import/Export Limit: %s/s", + "block.projectexpansion.emc_link.limit_emc": "EMC Limit: %s/s", + "block.projectexpansion.emc_link.not_owner": "You do not own this, %s does.", + "block.projectexpansion.emc_link.not_set": "An export item has not been set.", + "block.projectexpansion.emc_link.already_set": "An export item has already been set, clear the current export first.", + "block.projectexpansion.emc_link.empty_hand": "Empty your hand to retrieve items.", + "block.projectexpansion.emc_link.cleared": "Export item has been cleared.", + "block.projectexpansion.emc_link.not_enough_emc": "You do not have enough emc to purchase this, you need %s.", + "block.projectexpansion.emc_link.set": "Export item has been set to %s.", + "block.projectexpansion.basic_emc_link": "Basic EMC Link [MK 1]", + "block.projectexpansion.dark_emc_link": "Dark EMC Link [MK 2]", + "block.projectexpansion.red_emc_link": "Red EMC Link [MK 3]", + "block.projectexpansion.magenta_emc_link": "Magenta EMC Link [MK 4]", + "block.projectexpansion.pink_emc_link": "Pink EMC Link [MK 5]", + "block.projectexpansion.purple_emc_link": "Purple EMC Link [MK 6]", + "block.projectexpansion.violet_emc_link": "Violet EMC Link [MK 7]", + "block.projectexpansion.blue_emc_link": "Blue EMC Link [MK 8]", + "block.projectexpansion.cyan_emc_link": "Cyan EMC Link [MK 9]", + "block.projectexpansion.green_emc_link": "Green EMC Link [MK 10]", + "block.projectexpansion.lime_emc_link": "Lime EMC Link [MK 11]", + "block.projectexpansion.yellow_emc_link": "Yellow EMC Link [MK 12]", + "block.projectexpansion.orange_emc_link": "Orange EMC Link [MK 13]", + "block.projectexpansion.white_emc_link": "White EMC Link [MK 14]", + "block.projectexpansion.fading_emc_link": "Fading EMC Link [MK 15]", + "block.projectexpansion.final_emc_link": "Final EMC Link [MK 16]" +} diff --git a/src/main/generation/generators/lang/en_US/block/misc.json b/src/main/generation/generators/lang/en_US/block/misc.json index 09b5f478..970ca573 100644 --- a/src/main/generation/generators/lang/en_US/block/misc.json +++ b/src/main/generation/generators/lang/en_US/block/misc.json @@ -1,13 +1,5 @@ { "block.projectexpansion.arcane_table": "Arcane Table", - "block.projectexpansion.emc_link": "EMC Link", - "block.projectexpansion.emc_link.tooltip": "This block will transfer emc from nearby blocks into your transmutation inventory.", - "block.projectexpansion.emc_export": "EMC Export", - "block.projectexpansion.emc_export.tooltip": "Exports items, using your emc.", - "block.projectexpansion.emc_export.not_owner": "You are not the owner of this, %s is.", - "block.projectexpansion.emc_import": "EMC Import", - "block.projectexpansion.emc_import.tooltip": "Import items directly into your emc.", - "block.projectexpansion.emc_import.not_owner": "You are not the owner of this, %s is.", "block.projectexpansion.transmutation_interface": "Transmutation Interface", "block.projectexpansion.transmutation_interface.tooltip": "This can be used with compatible mods like Refined Storage to access your transmutation inventory." } diff --git a/src/main/generation/generators/lang/en_US/gui.json b/src/main/generation/generators/lang/en_US/gui.json index 82b566eb..2117f844 100644 --- a/src/main/generation/generators/lang/en_US/gui.json +++ b/src/main/generation/generators/lang/en_US/gui.json @@ -1,17 +1,17 @@ { - "gui.projectexpansion.config.title": "Project Expansion Config", - "gui.projectexpansion.config.tick_delay": "Tick Delay", - "gui.projectexpansion.config.tick_delay.desc": "The delay between mod operations (in ticks, default 20) - this will slightly effect the amount of emc generated via rounding - increase if you're noticing lag", - "gui.projectexpansion.config.format_emc": "Format EMC", - "gui.projectexpansion.config.format_emc.desc": "If EMC should be formatted as M/B/T/etc", - "gui.projectexpansion.config.full_number_names": "Full Number Names", - "gui.projectexpansion.config.full_number_names.desc": "If full number names (Million/Billion/Trillion) should be used instead of abbreviations", - "gui.projectexpansion.config.emc_display": "EMC Display", - "gui.projectexpansion.config.emc_display.desc": "Displays your current emc and gained emc per second in the top left corner.", - "gui.projectexpansion.config.powerflower_multiplier": "Power Flower Multiplier", - "gui.projectexpansion.config.powerflower_multiplier.desc": "Multiplies the output of Power Flowers.", - "gui.projectexpansion.config.notify_emc_changes": "Notify EMC Changes", - "gui.projectexpansion.config.notify_emc_changes.desc": "Notify users when their emc is changed via /emc add|remove|set", - "gui.projectexpansion.emc_link": "Personal Link", - "gui.projectexpansion.emc_gain": "EMC Gain" + "gui.projectexpansion.config.title": "Project Expansion Config", + "gui.projectexpansion.config.tick_delay": "Tick Delay", + "gui.projectexpansion.config.tick_delay.desc": "The delay between mod operations (in ticks, default 20) - this will slightly effect the amount of emc generated via rounding - increase if you're noticing lag", + "gui.projectexpansion.config.format_emc": "Format EMC", + "gui.projectexpansion.config.format_emc.desc": "If EMC should be formatted as M/B/T/etc", + "gui.projectexpansion.config.full_number_names": "Full Number Names", + "gui.projectexpansion.config.full_number_names.desc": "If full number names (Million/Billion/Trillion) should be used instead of abbreviations", + "gui.projectexpansion.config.emc_display": "EMC Display", + "gui.projectexpansion.config.emc_display.desc": "Displays your current emc and gained emc per second in the top left corner.", + "gui.projectexpansion.config.powerflower_multiplier": "Power Flower Multiplier", + "gui.projectexpansion.config.powerflower_multiplier.desc": "Multiplies the output of Power Flowers.", + "gui.projectexpansion.config.notify_emc_changes": "Notify EMC Changes", + "gui.projectexpansion.config.notify_emc_changes.desc": "Notify users when their emc is changed via /emc add|remove|set", + "gui.projectexpansion.emc_link": "Personal Link", + "gui.projectexpansion.emc_gain": "EMC Gain" } diff --git a/src/main/generation/generators/loot_tables/emc_link.js b/src/main/generation/generators/loot_tables/emc_link.js new file mode 100644 index 00000000..2f769797 --- /dev/null +++ b/src/main/generation/generators/loot_tables/emc_link.js @@ -0,0 +1,4 @@ +const { generic } = require("../../util"); + +const BASE = `${__dirname}/emc_link.json`; +module.exports = (outDir) => generic(outDir, "emc_link", BASE); diff --git a/src/main/resources/data/projectexpansion/loot_tables/blocks/emc_link.json b/src/main/generation/generators/loot_tables/emc_link.json similarity index 82% rename from src/main/resources/data/projectexpansion/loot_tables/blocks/emc_link.json rename to src/main/generation/generators/loot_tables/emc_link.json index dfe87b4c..16e07cfb 100644 --- a/src/main/resources/data/projectexpansion/loot_tables/blocks/emc_link.json +++ b/src/main/generation/generators/loot_tables/emc_link.json @@ -6,7 +6,7 @@ "entries": [ { "type": "minecraft:item", - "name": "projectexpansion:emc_link" + "name": "projectexpansion:$TIER$_emc_link" } ], "conditions": [ @@ -16,4 +16,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/src/main/generation/generators/recipes/emc_link.js b/src/main/generation/generators/recipes/emc_link.js new file mode 100644 index 00000000..e40234e5 --- /dev/null +++ b/src/main/generation/generators/recipes/emc_link.js @@ -0,0 +1,13 @@ +const { mkdirSync, readFileSync, existsSync, writeFileSync } = require("fs"); +const { MATTER_TIERS } = require("../../util"); + +const BASE = `${__dirname}/emc_link.json`; +module.exports = function run(outDir) { + if(!existsSync(`${outDir}/emc_link`)) mkdirSync(`${outDir}/emc_link`); + const base = readFileSync(BASE).toString(); + return MATTER_TIERS.filter(tier => !["basic", "dark", "red", "final"].includes(tier)).map((tier, index, arr) => { + if(tier === "magenta") return; // we still need it for pink + writeFileSync(`${outDir}/emc_link/${tier}.json`, base.replace(/\$TIER\$/g, tier).replace(/\$PREV\$/g, arr[index - 1])); + return [BASE, `${outDir}/emc_link/${tier}.json`]; + }).filter(Boolean); +} diff --git a/src/main/resources/data/projectexpansion/recipes/emc_link.json b/src/main/generation/generators/recipes/emc_link.json similarity index 57% rename from src/main/resources/data/projectexpansion/recipes/emc_link.json rename to src/main/generation/generators/recipes/emc_link.json index a65a9865..24adc5e4 100644 --- a/src/main/resources/data/projectexpansion/recipes/emc_link.json +++ b/src/main/generation/generators/recipes/emc_link.json @@ -1,8 +1,9 @@ { "type": "minecraft:crafting_shaped", + "group": "projectexpansion:matter/$TIER$", "pattern": [ "LMH", - "SRS", + "CPC", "HML" ], "key": { @@ -15,14 +16,14 @@ "H": { "item": "projecte:high_covalence_dust" }, - "S": { - "tag": "forge:stone" + "P": { + "item": "projectexpansion:$PREV$_emc_link" }, - "R": { - "item": "projecte:red_matter" + "C": { + "item": "projectexpansion:$TIER$_compressed_collector" } }, "result": { - "item": "projectexpansion:emc_link" + "item": "projectexpansion:$TIER$_emc_link" } } \ No newline at end of file diff --git a/src/main/generation/generators/recipes/power_flower.json b/src/main/generation/generators/recipes/power_flower.json index 194b7a58..464f76d0 100644 --- a/src/main/generation/generators/recipes/power_flower.json +++ b/src/main/generation/generators/recipes/power_flower.json @@ -8,7 +8,7 @@ ], "key": { "L": { - "item": "projectexpansion:emc_link" + "item": "projectexpansion:$TIER$_emc_link" }, "C": { "item": "projectexpansion:$TIER$_compressed_collector" diff --git a/src/main/generation/generators/recipes/single/emc_import.json b/src/main/generation/generators/recipes/single/emc_link/basic.json similarity index 59% rename from src/main/generation/generators/recipes/single/emc_import.json rename to src/main/generation/generators/recipes/single/emc_link/basic.json index fb80697f..0f70091c 100644 --- a/src/main/generation/generators/recipes/single/emc_import.json +++ b/src/main/generation/generators/recipes/single/emc_link/basic.json @@ -1,8 +1,9 @@ { "type": "minecraft:crafting_shaped", + "group": "projectexpansion:matter/basic", "pattern": [ "LMH", - "SRS", + "TAT", "HML" ], "key": { @@ -15,14 +16,14 @@ "H": { "item": "projecte:high_covalence_dust" }, - "S": { - "tag": "forge:stone" + "T": { + "item": "projecte:transmutation_tablet" }, - "R": { - "item": "projectexpansion:cyan_matter" + "A": { + "item": "projecte:aeternalis_fuel_block" } }, "result": { - "item": "projectexpansion:emc_import" + "item": "projectexpansion:basic_emc_link" } } \ No newline at end of file diff --git a/src/main/generation/generators/recipes/single/emc_link/dark.json b/src/main/generation/generators/recipes/single/emc_link/dark.json new file mode 100644 index 00000000..a6c1620c --- /dev/null +++ b/src/main/generation/generators/recipes/single/emc_link/dark.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "projectexpansion:matter/dark", + "pattern": [ + "LMH", + "TPT", + "HML" + ], + "key": { + "L": { + "item": "projecte:low_covalence_dust" + }, + "M": { + "item": "projecte:medium_covalence_dust" + }, + "H": { + "item": "projecte:high_covalence_dust" + }, + "T": { + "item": "projecte:transmutation_tablet" + }, + "P": { + "item": "projectexpansion:basic_emc_link" + } + }, + "result": { + "item": "projectexpansion:dark_emc_link" + } +} \ No newline at end of file diff --git a/src/main/generation/generators/recipes/single/emc_link/final.json b/src/main/generation/generators/recipes/single/emc_link/final.json new file mode 100644 index 00000000..faf752ea --- /dev/null +++ b/src/main/generation/generators/recipes/single/emc_link/final.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "projectexpansion:matter/dark", + "pattern": [ + "LMH", + "SPS", + "HML" + ], + "key": { + "L": { + "item": "projecte:low_covalence_dust" + }, + "M": { + "item": "projecte:medium_covalence_dust" + }, + "H": { + "item": "projecte:high_covalence_dust" + }, + "S": { + "item": "projectexpansion:final_star_shard" + }, + "P": { + "item": "projectexpansion:dark_emc_link" + } + }, + "result": { + "item": "projectexpansion:final_emc_link" + } +} \ No newline at end of file diff --git a/src/main/generation/generators/recipes/single/emc_link/magenta.json b/src/main/generation/generators/recipes/single/emc_link/magenta.json new file mode 100644 index 00000000..b57dddac --- /dev/null +++ b/src/main/generation/generators/recipes/single/emc_link/magenta.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "projectexpansion:matter/magenta", + "pattern": [ + "LMH", + "TPT", + "HML" + ], + "key": { + "L": { + "item": "projecte:low_covalence_dust" + }, + "M": { + "item": "projecte:medium_covalence_dust" + }, + "H": { + "item": "projecte:high_covalence_dust" + }, + "T": { + "item": "projecte:transmutation_tablet" + }, + "P": { + "item": "projectexpansion:red_emc_link" + } + }, + "result": { + "item": "projectexpansion:magenta_emc_link" + } +} \ No newline at end of file diff --git a/src/main/generation/generators/recipes/single/emc_link/red.json b/src/main/generation/generators/recipes/single/emc_link/red.json new file mode 100644 index 00000000..23664379 --- /dev/null +++ b/src/main/generation/generators/recipes/single/emc_link/red.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "projectexpansion:matter/red", + "pattern": [ + "LMH", + "TPT", + "HML" + ], + "key": { + "L": { + "item": "projecte:low_covalence_dust" + }, + "M": { + "item": "projecte:medium_covalence_dust" + }, + "H": { + "item": "projecte:high_covalence_dust" + }, + "T": { + "item": "projecte:transmutation_tablet" + }, + "P": { + "item": "projectexpansion:dark_emc_link" + } + }, + "result": { + "item": "projectexpansion:red_emc_link" + } +} \ No newline at end of file diff --git a/src/main/generation/generators/recipes/single/transmutation_interface.json b/src/main/generation/generators/recipes/single/transmutation_interface.json index 6a2d5a66..5641d993 100644 --- a/src/main/generation/generators/recipes/single/transmutation_interface.json +++ b/src/main/generation/generators/recipes/single/transmutation_interface.json @@ -1,19 +1,13 @@ { "type": "minecraft:crafting_shaped", "pattern": [ - "EIE", - "ILI", - "EIE" + "TTT", + "TTT", + "TTT" ], "key": { - "L": { - "item": "projectexpansion:emc_link" - }, - "I": { - "item": "projectexpansion:emc_import" - }, - "E": { - "item": "projectexpansion:emc_export" + "T": { + "item": "projecte:transmutation_tablet" } }, "result": { diff --git a/src/main/java/cool/furry/mc/forge/projectexpansion/ClientHandler.java b/src/main/java/cool/furry/mc/forge/projectexpansion/ClientHandler.java index 4dbac42a..94c55359 100644 --- a/src/main/java/cool/furry/mc/forge/projectexpansion/ClientHandler.java +++ b/src/main/java/cool/furry/mc/forge/projectexpansion/ClientHandler.java @@ -1,12 +1,8 @@ package cool.furry.mc.forge.projectexpansion; import cool.furry.mc.forge.projectexpansion.config.ConfigMenu; -import cool.furry.mc.forge.projectexpansion.gui.GUIEMCExport; -import cool.furry.mc.forge.projectexpansion.gui.GUIEMCImport; -import cool.furry.mc.forge.projectexpansion.init.ContainerTypes; import cool.furry.mc.forge.projectexpansion.util.EMCFormat; import moze_intel.projecte.utils.Constants; -import net.minecraft.client.gui.ScreenManager; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.ExtensionPoint; @@ -22,9 +18,8 @@ public class ClientHandler { @SubscribeEvent public static void clientSetup(FMLClientSetupEvent event) { ModLoadingContext.get().registerExtensionPoint(ExtensionPoint.CONFIGGUIFACTORY, () -> (mc, screen) -> new ConfigMenu(screen)); + // ClientRegistry.bindTileEntityRenderer(TileEntityTypes.EMC_LINK.get(), RenderTileEMCLink::new); replaceEMCFormatter(); - ScreenManager.registerFactory(ContainerTypes.EMC_EXPORT.get(), GUIEMCExport::new); - ScreenManager.registerFactory(ContainerTypes.EMC_IMPORT.get(), GUIEMCImport::new); } static void replaceEMCFormatter() { diff --git a/src/main/java/cool/furry/mc/forge/projectexpansion/block/BlockEMCExport.java b/src/main/java/cool/furry/mc/forge/projectexpansion/block/BlockEMCExport.java deleted file mode 100644 index 4b8f148e..00000000 --- a/src/main/java/cool/furry/mc/forge/projectexpansion/block/BlockEMCExport.java +++ /dev/null @@ -1,93 +0,0 @@ -package cool.furry.mc.forge.projectexpansion.block; - -import cool.furry.mc.forge.projectexpansion.tile.TileEMCExport; -import cool.furry.mc.forge.projectexpansion.util.ColorStyle; -import net.minecraft.block.Block; -import net.minecraft.block.BlockRenderType; -import net.minecraft.block.BlockState; -import net.minecraft.block.ContainerBlock; -import net.minecraft.block.material.Material; -import net.minecraft.client.util.ITooltipFlag; -import net.minecraft.entity.LivingEntity; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.player.ServerPlayerEntity; -import net.minecraft.item.ItemStack; -import net.minecraft.pathfinding.PathType; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ActionResultType; -import net.minecraft.util.Hand; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; -import net.minecraft.util.text.ITextComponent; -import net.minecraft.util.text.StringTextComponent; -import net.minecraft.util.text.TranslationTextComponent; -import net.minecraft.world.IBlockReader; -import net.minecraft.world.World; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.fml.network.NetworkHooks; - -import javax.annotation.Nullable; -import java.util.List; - -public class BlockEMCExport extends ContainerBlock { - public BlockEMCExport() { - super(Block.Properties.create(Material.ROCK).hardnessAndResistance(3.5F)); - } - - @Override - public boolean hasTileEntity(BlockState state) { - return true; - } - - @Nullable - @Override - public TileEntity createTileEntity(BlockState state, IBlockReader world) { - return new TileEMCExport(); - } - - @Nullable - @Override - public TileEntity createNewTileEntity(IBlockReader world) { - return new TileEMCExport(); - } - - @OnlyIn(Dist.CLIENT) - @Override - public void addInformation(ItemStack stack, @Nullable IBlockReader level, List list, ITooltipFlag flag) { - super.addInformation(stack, level, list, flag); - list.add(new TranslationTextComponent("block.projectexpansion.emc_export.tooltip").setStyle(ColorStyle.GRAY)); - } - - @Deprecated - @Override - public ActionResultType func_225533_a_(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult hit) { - if (!world.isRemote) { - TileEntity tile = world.getTileEntity(pos); - if (tile instanceof TileEMCExport) { - TileEMCExport t = (TileEMCExport) tile; - if (!t.owner.equals(player.getUniqueID())) { - player.sendStatusMessage(new TranslationTextComponent("block.projectexpansion.emc_export.not_owner", new StringTextComponent(t.ownerName).setStyle(ColorStyle.RED)), true); - return ActionResultType.PASS; - } else NetworkHooks.openGui((ServerPlayerEntity) player, t, pos); - } - } - return ActionResultType.SUCCESS; - } - - @Override - public void onBlockPlacedBy(World world, BlockPos pos, BlockState state, @Nullable LivingEntity livingEntity, ItemStack stack) { - TileEntity tile = world.getTileEntity(pos); - if (tile instanceof TileEMCExport) ((TileEMCExport) tile).wasPlaced(livingEntity, stack); - } - - @Override - public BlockRenderType getRenderType(BlockState state) { - return BlockRenderType.MODEL; - } - - @Override - public boolean allowsMovement(BlockState state, IBlockReader worldIn, BlockPos pos, PathType type) { - return false; - } -} diff --git a/src/main/java/cool/furry/mc/forge/projectexpansion/block/BlockEMCImport.java b/src/main/java/cool/furry/mc/forge/projectexpansion/block/BlockEMCImport.java deleted file mode 100644 index c4b0c995..00000000 --- a/src/main/java/cool/furry/mc/forge/projectexpansion/block/BlockEMCImport.java +++ /dev/null @@ -1,93 +0,0 @@ -package cool.furry.mc.forge.projectexpansion.block; - -import cool.furry.mc.forge.projectexpansion.tile.TileEMCImport; -import cool.furry.mc.forge.projectexpansion.util.ColorStyle; -import net.minecraft.block.Block; -import net.minecraft.block.BlockRenderType; -import net.minecraft.block.BlockState; -import net.minecraft.block.ContainerBlock; -import net.minecraft.block.material.Material; -import net.minecraft.client.util.ITooltipFlag; -import net.minecraft.entity.LivingEntity; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.player.ServerPlayerEntity; -import net.minecraft.item.ItemStack; -import net.minecraft.pathfinding.PathType; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ActionResultType; -import net.minecraft.util.Hand; -import net.minecraft.util.math.BlockPos; -import net.minecraft.util.math.BlockRayTraceResult; -import net.minecraft.util.text.ITextComponent; -import net.minecraft.util.text.StringTextComponent; -import net.minecraft.util.text.TranslationTextComponent; -import net.minecraft.world.IBlockReader; -import net.minecraft.world.World; -import net.minecraftforge.api.distmarker.Dist; -import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.fml.network.NetworkHooks; - -import javax.annotation.Nullable; -import java.util.List; - -public class BlockEMCImport extends ContainerBlock { - public BlockEMCImport() { - super(Block.Properties.create(Material.ROCK).hardnessAndResistance(3.5F)); - } - - @Override - public boolean hasTileEntity(BlockState state) { - return true; - } - - @Nullable - @Override - public TileEntity createTileEntity(BlockState state, IBlockReader world) { - return new TileEMCImport(); - } - - @Nullable - @Override - public TileEntity createNewTileEntity(IBlockReader world) { - return new TileEMCImport(); - } - - @OnlyIn(Dist.CLIENT) - @Override - public void addInformation(ItemStack stack, @Nullable IBlockReader level, List list, ITooltipFlag flag) { - super.addInformation(stack, level, list, flag); - list.add(new TranslationTextComponent("block.projectexpansion.emc_import.tooltip").setStyle(ColorStyle.GRAY)); - } - - @Deprecated - @Override - public ActionResultType func_225533_a_(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockRayTraceResult hit) { - if (!world.isRemote) { - TileEntity tile = world.getTileEntity(pos); - if (tile instanceof TileEMCImport) { - TileEMCImport t = (TileEMCImport) tile; - if (!t.owner.equals(player.getUniqueID())) { - player.sendStatusMessage(new TranslationTextComponent("block.projectexpansion.emc_import.not_owner", new StringTextComponent(t.ownerName).setStyle(ColorStyle.RED)), true); - return ActionResultType.PASS; - } else NetworkHooks.openGui((ServerPlayerEntity) player, t, pos); - } - } - return ActionResultType.SUCCESS; - } - - @Override - public void onBlockPlacedBy(World world, BlockPos pos, BlockState state, @Nullable LivingEntity livingEntity, ItemStack stack) { - TileEntity tile = world.getTileEntity(pos); - if (tile instanceof TileEMCImport) ((TileEMCImport) tile).wasPlaced(livingEntity, stack); - } - - @Override - public BlockRenderType getRenderType(BlockState state) { - return BlockRenderType.MODEL; - } - - @Override - public boolean allowsMovement(BlockState state, IBlockReader worldIn, BlockPos pos, PathType type) { - return false; - } -} diff --git a/src/main/java/cool/furry/mc/forge/projectexpansion/block/BlockEMCLink.java b/src/main/java/cool/furry/mc/forge/projectexpansion/block/BlockEMCLink.java index 0e575f8d..58134179 100644 --- a/src/main/java/cool/furry/mc/forge/projectexpansion/block/BlockEMCLink.java +++ b/src/main/java/cool/furry/mc/forge/projectexpansion/block/BlockEMCLink.java @@ -2,14 +2,20 @@ import cool.furry.mc.forge.projectexpansion.tile.TileEMCLink; import cool.furry.mc.forge.projectexpansion.util.ColorStyle; +import cool.furry.mc.forge.projectexpansion.util.EMCFormat; +import cool.furry.mc.forge.projectexpansion.util.HasMatter; +import cool.furry.mc.forge.projectexpansion.util.Matter; import net.minecraft.block.Block; +import net.minecraft.block.BlockRenderType; import net.minecraft.block.BlockState; -import net.minecraft.block.SoundType; +import net.minecraft.block.HorizontalBlock; import net.minecraft.block.material.Material; import net.minecraft.client.util.ITooltipFlag; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.item.BlockItemUseContext; import net.minecraft.item.ItemStack; +import net.minecraft.state.StateContainer; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ActionResultType; import net.minecraft.util.Hand; @@ -22,14 +28,15 @@ import net.minecraft.world.World; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; -import net.minecraftforge.common.ToolType; import javax.annotation.Nullable; import java.util.List; -public class BlockEMCLink extends Block { - public BlockEMCLink() { - super(Block.Properties.create(Material.ROCK).harvestTool(ToolType.PICKAXE).hardnessAndResistance(5F).sound(SoundType.STONE)); +public class BlockEMCLink extends HorizontalBlock implements HasMatter { + private final Matter matter; + public BlockEMCLink(Matter matter) { + super(Block.Properties.create(Material.ROCK).hardnessAndResistance(3.5F)); + this.matter = matter; } @Override @@ -39,7 +46,7 @@ public boolean hasTileEntity(final BlockState state) { @Override public TileEntity createTileEntity(BlockState state, IBlockReader world) { - return new TileEMCLink(); + return new TileEMCLink(matter); } @OnlyIn(Dist.CLIENT) @@ -47,6 +54,8 @@ public TileEntity createTileEntity(BlockState state, IBlockReader world) { public void addInformation(ItemStack stack, @Nullable IBlockReader level, List list, ITooltipFlag flag) { super.addInformation(stack, level, list, flag); list.add((new TranslationTextComponent("block.projectexpansion.emc_link.tooltip")).setStyle(ColorStyle.GRAY)); + list.add((new TranslationTextComponent("block.projectexpansion.emc_link.limit_items", new StringTextComponent(matter.getItemLimitString()).setStyle(ColorStyle.GREEN))).setStyle(ColorStyle.GRAY)); + list.add((new TranslationTextComponent("block.projectexpansion.emc_link.limit_emc", new StringTextComponent(matter.getLevel() == 16 ? "INFINITY" : EMCFormat.INSTANCE.format(matter.getEMCLimit())).setStyle(ColorStyle.GREEN))).setStyle(ColorStyle.GRAY)); } @Deprecated @@ -54,9 +63,8 @@ public void addInformation(ItemStack stack, @Nullable IBlockReader level, List builder) { + builder.add(HORIZONTAL_FACING); + } +} diff --git a/src/main/java/cool/furry/mc/forge/projectexpansion/container/ArcaneContainer.java b/src/main/java/cool/furry/mc/forge/projectexpansion/container/ArcaneContainer.java index fd3f15e0..53ac1bef 100644 --- a/src/main/java/cool/furry/mc/forge/projectexpansion/container/ArcaneContainer.java +++ b/src/main/java/cool/furry/mc/forge/projectexpansion/container/ArcaneContainer.java @@ -1,6 +1,5 @@ package cool.furry.mc.forge.projectexpansion.container; -import moze_intel.projecte.api.ProjectEAPI; import moze_intel.projecte.gameObjs.container.TransmutationContainer; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerInventory; diff --git a/src/main/java/cool/furry/mc/forge/projectexpansion/container/ContainerEMCExport.java b/src/main/java/cool/furry/mc/forge/projectexpansion/container/ContainerEMCExport.java deleted file mode 100644 index 5bc51f8e..00000000 --- a/src/main/java/cool/furry/mc/forge/projectexpansion/container/ContainerEMCExport.java +++ /dev/null @@ -1,135 +0,0 @@ -package cool.furry.mc.forge.projectexpansion.container; - -import cool.furry.mc.forge.projectexpansion.container.slots.SlotEMC; -import cool.furry.mc.forge.projectexpansion.init.ContainerTypes; -import cool.furry.mc.forge.projectexpansion.tile.TileEMCExport; -import moze_intel.projecte.api.ProjectEAPI; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.container.Container; -import net.minecraft.inventory.container.Slot; -import net.minecraft.item.ItemStack; -import net.minecraft.network.PacketBuffer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.math.BlockPos; -import net.minecraftforge.items.SlotItemHandler; -import net.minecraftforge.items.wrapper.PlayerInvWrapper; - -public class ContainerEMCExport extends Container { - public static final int SLOT_IN_X = 44; - public static final int SLOT_IN_Y = 18; - public static final int SLOT_OUT_X = 116; - public static final int SLOT_OUT_Y = 18; - - public static final int INVENTORY_X = 8; - public static final int INVENTORY_Y = 50; - public static final int HOTBAR_X = 8; - public static final int HOTBAR_Y = 108; - private TileEMCExport tile; - - public ContainerEMCExport(final int windowId, final PlayerInventory playerInventory, PacketBuffer extra) { - super(ContainerTypes.EMC_EXPORT.get(), windowId); - PlayerInvWrapper invWrapper = new PlayerInvWrapper(playerInventory); - - BlockPos tilePos = extra.readBlockPos(); - TileEntity tile = playerInventory.player.getEntityWorld().getTileEntity(tilePos); - if (!(tile instanceof TileEMCExport)) return; - this.tile = (TileEMCExport) tile; - - for (int slot = 0; slot < 9; slot++) - addSlot(new SlotItemHandler(invWrapper, slot, HOTBAR_X + 18 * slot, HOTBAR_Y)); - for (int y = 0; y < 3; y++) - for (int x = 0; x < 9; x++) - addSlot(new SlotItemHandler(invWrapper, 9 + y * 9 + x, INVENTORY_X + x * 18, INVENTORY_Y + y * 18)); - - addSlot(new SlotEMC((IInventory) tile, 0, SLOT_IN_X, SLOT_IN_Y, 1)); - addSlot(new SlotEMC((IInventory) tile, 1, SLOT_OUT_X, SLOT_OUT_Y)); - } - - @Override - public boolean canInteractWith(PlayerEntity player) { - return true; - } - - @Override - public ItemStack transferStackInSlot(PlayerEntity playerIn, int index) { - Slot slot = inventorySlots.get(index); - if (slot == null || !slot.getHasStack()) return ItemStack.EMPTY; - ItemStack stack = slot.getStack(); - ItemStack before = stack.copy(); - - SlotZone zone = SlotZone.getZoneFromIndex(index); - boolean success = false; - switch (zone) { - case INPUT: { - // success = mergeInto(SlotZone.PLAYER_INVENTORY, stack, false); - // if (!success) success = mergeInto(SlotZone.PLAYER_HOTBAR, stack, false); - // disallow shift moving items out - break; - } - - case OUTPUT: { - success = mergeInto(SlotZone.PLAYER_HOTBAR, stack, true); - if (!success) success = mergeInto(SlotZone.PLAYER_INVENTORY, stack, true); - if (success) slot.onSlotChange(stack, before); - break; - } - - case PLAYER_HOTBAR: - case PLAYER_INVENTORY: { - if (ProjectEAPI.getEMCProxy().hasValue(stack.getItem())) - success = mergeInto(SlotZone.INPUT, stack, false); - if (!success) { - if (zone == SlotZone.PLAYER_HOTBAR) success = mergeInto(SlotZone.PLAYER_INVENTORY, stack, false); - else success = mergeInto(SlotZone.PLAYER_HOTBAR, stack, false); - } - break; - } - - default: - throw new IllegalArgumentException("Invalid sourceZone:" + zone); - } - - if (!success) return ItemStack.EMPTY; - - if (stack.isEmpty()) slot.putStack(ItemStack.EMPTY); - else slot.onSlotChanged(); - - if (stack.getCount() == before.getCount()) return ItemStack.EMPTY; - - return before; - } - - /* Borrowed with love from Minecraft By Example - * https://github.com/TheGreyGhost/MinecraftByExample/blob/master/src/main/java/minecraftbyexample/mbe31_inventory_furnace/ContainerFurnace.java - */ - - private boolean mergeInto(SlotZone destinationZone, ItemStack sourceItemStack, boolean fillFromEnd) { - return mergeItemStack(sourceItemStack, destinationZone.firstIndex, destinationZone.lastIndexPlus1, fillFromEnd); - } - - private enum SlotZone { - INPUT(36, 1), - OUTPUT(37, 1), - PLAYER_INVENTORY(9, 27), - PLAYER_HOTBAR(0, 9); - - public final int firstIndex; - public final int slotCount; - public final int lastIndexPlus1; - - SlotZone(int firstIndex, int numberOfSlots) { - this.firstIndex = firstIndex; - this.slotCount = numberOfSlots; - this.lastIndexPlus1 = firstIndex + numberOfSlots; - } - - public static SlotZone getZoneFromIndex(int slotIndex) { - for (SlotZone slotZone : SlotZone.values()) { - if (slotIndex >= slotZone.firstIndex && slotIndex < slotZone.lastIndexPlus1) return slotZone; - } - throw new IndexOutOfBoundsException("Unexpected slotIndex"); - } - } -} diff --git a/src/main/java/cool/furry/mc/forge/projectexpansion/container/ContainerEMCImport.java b/src/main/java/cool/furry/mc/forge/projectexpansion/container/ContainerEMCImport.java deleted file mode 100644 index bef33314..00000000 --- a/src/main/java/cool/furry/mc/forge/projectexpansion/container/ContainerEMCImport.java +++ /dev/null @@ -1,124 +0,0 @@ -package cool.furry.mc.forge.projectexpansion.container; - -import cool.furry.mc.forge.projectexpansion.container.slots.SlotEMC; -import cool.furry.mc.forge.projectexpansion.init.ContainerTypes; -import cool.furry.mc.forge.projectexpansion.tile.TileEMCImport; -import moze_intel.projecte.api.ProjectEAPI; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.container.Container; -import net.minecraft.inventory.container.Slot; -import net.minecraft.item.ItemStack; -import net.minecraft.network.PacketBuffer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.math.BlockPos; -import net.minecraftforge.items.SlotItemHandler; -import net.minecraftforge.items.wrapper.PlayerInvWrapper; - -public class ContainerEMCImport extends Container { - public static final int INPUT_X = 8; - public static final int INPUT_Y = 8; - - public static final int INVENTORY_X = 8; - public static final int INVENTORY_Y = 123; - public static final int HOTBAR_X = 8; - public static final int HOTBAR_Y = 181; - private TileEMCImport tile; - - public ContainerEMCImport(final int windowId, final PlayerInventory playerInventory, PacketBuffer extra) { - super(ContainerTypes.EMC_IMPORT.get(), windowId); - PlayerInvWrapper invWrapper = new PlayerInvWrapper(playerInventory); - - BlockPos tilePos = extra.readBlockPos(); - TileEntity tile = playerInventory.player.getEntityWorld().getTileEntity(tilePos); - if (!(tile instanceof TileEMCImport)) return; - this.tile = (TileEMCImport) tile; - - for (int slot = 0; slot < 9; slot++) - addSlot(new SlotItemHandler(invWrapper, slot, HOTBAR_X + 18 * slot, HOTBAR_Y)); - for (int y = 0; y < 3; y++) - for (int x = 0; x < 9; x++) - addSlot(new SlotItemHandler(invWrapper, 9 + y * 9 + x, INVENTORY_X + x * 18, INVENTORY_Y + y * 18)); - - for (int y = 0; y < 5; y++) - for (int x = 0; x < 9; x++) - addSlot(new SlotEMC((IInventory) tile, y * 9 + x, INPUT_X + x * 18, INPUT_Y + y * 18)); - } - - @Override - public boolean canInteractWith(PlayerEntity player) { - return true; - } - - @Override - public ItemStack transferStackInSlot(PlayerEntity playerIn, int index) { - Slot slot = inventorySlots.get(index); - if (slot == null || !slot.getHasStack()) return ItemStack.EMPTY; - ItemStack stack = slot.getStack(); - ItemStack before = stack.copy(); - - SlotZone zone = SlotZone.getZoneFromIndex(index); - boolean success = false; - switch (zone) { - case INPUT: { - // ignore, disallow shift moving items out - break; - } - - case PLAYER_HOTBAR: - case PLAYER_INVENTORY: { - if (ProjectEAPI.getEMCProxy().hasValue(stack.getItem())) - success = mergeInto(SlotZone.INPUT, stack, false); - if (!success) { - if (zone == SlotZone.PLAYER_HOTBAR) success = mergeInto(SlotZone.PLAYER_INVENTORY, stack, false); - else success = mergeInto(SlotZone.PLAYER_HOTBAR, stack, false); - } - break; - } - - default: - throw new IllegalArgumentException("Invalid sourceZone:" + zone); - } - - if (!success) return ItemStack.EMPTY; - - if (stack.isEmpty()) slot.putStack(ItemStack.EMPTY); - else slot.onSlotChanged(); - - if (stack.getCount() == before.getCount()) return ItemStack.EMPTY; - - return before; - } - - /* Borrowed with love from Minecraft By Example - * https://github.com/TheGreyGhost/MinecraftByExample/blob/master/src/main/java/minecraftbyexample/mbe31_inventory_furnace/ContainerFurnace.java - */ - - private boolean mergeInto(SlotZone destinationZone, ItemStack sourceItemStack, boolean fillFromEnd) { - return mergeItemStack(sourceItemStack, destinationZone.firstIndex, destinationZone.lastIndexPlus1, fillFromEnd); - } - - private enum SlotZone { - INPUT(36, 45), - PLAYER_INVENTORY(9, 27), - PLAYER_HOTBAR(0, 9); - - public final int firstIndex; - public final int slotCount; - public final int lastIndexPlus1; - - SlotZone(int firstIndex, int numberOfSlots) { - this.firstIndex = firstIndex; - this.slotCount = numberOfSlots; - this.lastIndexPlus1 = firstIndex + numberOfSlots; - } - - public static SlotZone getZoneFromIndex(int slotIndex) { - for (SlotZone slotZone : SlotZone.values()) { - if (slotIndex >= slotZone.firstIndex && slotIndex < slotZone.lastIndexPlus1) return slotZone; - } - throw new IndexOutOfBoundsException("Unexpected slotIndex"); - } - } -} diff --git a/src/main/java/cool/furry/mc/forge/projectexpansion/container/slots/SlotEMC.java b/src/main/java/cool/furry/mc/forge/projectexpansion/container/slots/SlotEMC.java deleted file mode 100644 index 099b36a8..00000000 --- a/src/main/java/cool/furry/mc/forge/projectexpansion/container/slots/SlotEMC.java +++ /dev/null @@ -1,37 +0,0 @@ -package cool.furry.mc.forge.projectexpansion.container.slots; - -import moze_intel.projecte.api.ProjectEAPI; -import net.minecraft.inventory.IInventory; -import net.minecraft.inventory.container.Slot; -import net.minecraft.item.ItemStack; - -import javax.annotation.Nullable; - -public class SlotEMC extends Slot { - @Nullable - private int maxItems = 0; - - public SlotEMC(IInventory inv, int index, int x, int y, int maxItems) { - super(inv, index, x, y); - this.maxItems = maxItems; - } - - public SlotEMC(IInventory inv, int index, int x, int y) { - super(inv, index, x, y); - } - - @Override - public boolean isItemValid(ItemStack stack) { - return ProjectEAPI.getEMCProxy().hasValue(stack.getItem()); - } - - @Override - public int getSlotStackLimit() { - return maxItems == 0 ? super.getSlotStackLimit() : maxItems; - } - - @Override - public int getItemStackLimit(ItemStack stack) { - return maxItems == 0 ? super.getItemStackLimit(stack) : getSlotStackLimit(); - } -} diff --git a/src/main/java/cool/furry/mc/forge/projectexpansion/container/slots/package-info.java b/src/main/java/cool/furry/mc/forge/projectexpansion/container/slots/package-info.java deleted file mode 100644 index 18bb497e..00000000 --- a/src/main/java/cool/furry/mc/forge/projectexpansion/container/slots/package-info.java +++ /dev/null @@ -1,7 +0,0 @@ -@ParametersAreNonnullByDefault -@MethodsReturnNonnullByDefault -package cool.furry.mc.forge.projectexpansion.container.slots; - -import mcp.MethodsReturnNonnullByDefault; - -import javax.annotation.ParametersAreNonnullByDefault; \ No newline at end of file diff --git a/src/main/java/cool/furry/mc/forge/projectexpansion/gui/GUIEMCExport.java b/src/main/java/cool/furry/mc/forge/projectexpansion/gui/GUIEMCExport.java deleted file mode 100644 index 3a0ecf7a..00000000 --- a/src/main/java/cool/furry/mc/forge/projectexpansion/gui/GUIEMCExport.java +++ /dev/null @@ -1,42 +0,0 @@ -package cool.furry.mc.forge.projectexpansion.gui; - -import com.mojang.blaze3d.systems.RenderSystem; -import cool.furry.mc.forge.projectexpansion.Main; -import cool.furry.mc.forge.projectexpansion.container.ContainerEMCExport; -import net.minecraft.client.gui.screen.inventory.ContainerScreen; -import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.text.ITextComponent; - -public class GUIEMCExport extends ContainerScreen { - public static final ResourceLocation TEXTURE = new ResourceLocation(Main.MOD_ID, "textures/gui/emc_export.png"); - - public static final int Y_SIZE = 130; - - public GUIEMCExport(ContainerEMCExport container, PlayerInventory playerInventory, ITextComponent name) { - super(container, playerInventory, name); - ySize = Y_SIZE; - } - - @Override - public void render(int mouseX, int mouseY, float partialTicks) { - this.renderBackground(); - super.render(mouseX, mouseY, partialTicks); - renderHoveredToolTip(mouseX, mouseY); - } - - @Override - protected void drawGuiContainerForegroundLayer(int x, int y) { - // String title = new TranslationTextComponent("block.projectexpansion.emc_export").getString(); - // Minecraft.getInstance().fontRenderer.drawString(matrixStack, title, xSize / 2F - Minecraft.getInstance().fontRenderer.getStringWidth(title) / 2F, ySize - 218, 4210752); - } - - @Override - protected void drawGuiContainerBackgroundLayer(float partialTicks, int x, int y) { - RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); - getMinecraft().getTextureManager().bindTexture(TEXTURE); - int xOffSet = (width - xSize) / 2; - int yOffSet = (height - ySize) / 2; - this.blit(xOffSet, yOffSet, 0, 0, xSize, ySize); - } -} diff --git a/src/main/java/cool/furry/mc/forge/projectexpansion/gui/GUIEMCImport.java b/src/main/java/cool/furry/mc/forge/projectexpansion/gui/GUIEMCImport.java deleted file mode 100644 index 9a9d8e9e..00000000 --- a/src/main/java/cool/furry/mc/forge/projectexpansion/gui/GUIEMCImport.java +++ /dev/null @@ -1,42 +0,0 @@ -package cool.furry.mc.forge.projectexpansion.gui; - -import com.mojang.blaze3d.systems.RenderSystem; -import cool.furry.mc.forge.projectexpansion.Main; -import cool.furry.mc.forge.projectexpansion.container.ContainerEMCImport; -import net.minecraft.client.gui.screen.inventory.ContainerScreen; -import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.text.ITextComponent; - -public class GUIEMCImport extends ContainerScreen { - public static final ResourceLocation TEXTURE = new ResourceLocation(Main.MOD_ID, "textures/gui/emc_import.png"); - - public static final int Y_SIZE = 222; - - public GUIEMCImport(ContainerEMCImport container, PlayerInventory playerInventory, ITextComponent name) { - super(container, playerInventory, name); - ySize = Y_SIZE; - } - - @Override - public void render(int mouseX, int mouseY, float partialTicks) { - this.renderBackground(); - super.render(mouseX, mouseY, partialTicks); - renderHoveredToolTip(mouseX, mouseY); - } - - @Override - protected void drawGuiContainerForegroundLayer(int x, int y) { - // String title = new TranslationTextComponent("block.projectexpansion.emc_import").getString(); - // Minecraft.getInstance().fontRenderer.drawString(matrixStack, title, xSize / 2F - Minecraft.getInstance().fontRenderer.getStringWidth(title) / 2F, ySize - 218, 4210752); - } - - @Override - protected void drawGuiContainerBackgroundLayer(float partialTicks, int x, int y) { - RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); - getMinecraft().getTextureManager().bindTexture(TEXTURE); - int xOffSet = (width - xSize) / 2; - int yOffSet = (height - ySize) / 2; - this.blit(xOffSet, yOffSet, 0, 0, xSize, ySize); - } -} diff --git a/src/main/java/cool/furry/mc/forge/projectexpansion/init/Blocks.java b/src/main/java/cool/furry/mc/forge/projectexpansion/init/Blocks.java index 5bd8c0fb..b5f12820 100644 --- a/src/main/java/cool/furry/mc/forge/projectexpansion/init/Blocks.java +++ b/src/main/java/cool/furry/mc/forge/projectexpansion/init/Blocks.java @@ -1,7 +1,8 @@ package cool.furry.mc.forge.projectexpansion.init; import cool.furry.mc.forge.projectexpansion.Main; -import cool.furry.mc.forge.projectexpansion.block.*; +import cool.furry.mc.forge.projectexpansion.block.BlockArcaneTable; +import cool.furry.mc.forge.projectexpansion.block.BlockTransmutationInterface; import net.minecraft.block.Block; import net.minecraftforge.fml.RegistryObject; import net.minecraftforge.registries.DeferredRegister; @@ -11,8 +12,5 @@ public class Blocks { public static final DeferredRegister Registry = DeferredRegister.create(ForgeRegistries.BLOCKS, Main.MOD_ID); public static final RegistryObject ARCANE_TABLE = Registry.register("arcane_table", BlockArcaneTable::new); - public static final RegistryObject EMC_LINK = Registry.register("emc_link", BlockEMCLink::new); - public static final RegistryObject EMC_EXPORT = Registry.register("emc_export", BlockEMCExport::new); - public static final RegistryObject EMC_IMPORT = Registry.register("emc_import", BlockEMCImport::new); public static final RegistryObject TRANSMUTATION_INTERFACE = Registry.register("transmutation_interface", BlockTransmutationInterface::new); } diff --git a/src/main/java/cool/furry/mc/forge/projectexpansion/init/ContainerTypes.java b/src/main/java/cool/furry/mc/forge/projectexpansion/init/ContainerTypes.java index 451bf12f..5d8862d8 100644 --- a/src/main/java/cool/furry/mc/forge/projectexpansion/init/ContainerTypes.java +++ b/src/main/java/cool/furry/mc/forge/projectexpansion/init/ContainerTypes.java @@ -1,17 +1,10 @@ package cool.furry.mc.forge.projectexpansion.init; import cool.furry.mc.forge.projectexpansion.Main; -import cool.furry.mc.forge.projectexpansion.container.ContainerEMCExport; -import cool.furry.mc.forge.projectexpansion.container.ContainerEMCImport; import net.minecraft.inventory.container.ContainerType; -import net.minecraftforge.common.extensions.IForgeContainerType; -import net.minecraftforge.fml.RegistryObject; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; public class ContainerTypes { public static final DeferredRegister> Registry = DeferredRegister.create(ForgeRegistries.CONTAINERS, Main.MOD_ID); - - public static final RegistryObject> EMC_EXPORT = Registry.register("emc_export", () -> IForgeContainerType.create(ContainerEMCExport::new)); - public static final RegistryObject> EMC_IMPORT = Registry.register("emc_import", () -> IForgeContainerType.create(ContainerEMCImport::new)); } diff --git a/src/main/java/cool/furry/mc/forge/projectexpansion/init/Items.java b/src/main/java/cool/furry/mc/forge/projectexpansion/init/Items.java index d9d04b8a..c8e79cf8 100644 --- a/src/main/java/cool/furry/mc/forge/projectexpansion/init/Items.java +++ b/src/main/java/cool/furry/mc/forge/projectexpansion/init/Items.java @@ -14,10 +14,6 @@ public class Items { public static final RegistryObject ARCANE_TABLET = Registry.register("arcane_tablet", ItemArcaneTablet::new); public static final RegistryObject ARCANE_TABLE = Registry.register("arcane_table", () -> new BlockItem(Blocks.ARCANE_TABLE.get(), new Item.Properties().group(Main.group).rarity(Rarity.RARE))); - public static final RegistryObject EMC_LINK = Registry.register("emc_link", () -> new BlockItem(Blocks.EMC_LINK.get(), new Item.Properties().group(Main.group))); - ; - public static final RegistryObject EMC_EXPORT = Registry.register("emc_export", () -> new BlockItem(Blocks.EMC_EXPORT.get(), new Item.Properties().group(Main.group))); - public static final RegistryObject EMC_IMPORT = Registry.register("emc_import", () -> new BlockItem(Blocks.EMC_IMPORT.get(), new Item.Properties().group(Main.group))); public static final RegistryObject FINAL_STAR_SHARD = Registry.register("final_star_shard", () -> new Item(new Item.Properties().maxStackSize(1).rarity(Rarity.RARE).group(Main.group))); public static final RegistryObject FINAL_STAR = Registry.register("final_star", ItemFinalStar::new); public static final RegistryObject MATTER_UPGRADER = Registry.register("matter_upgrader", ItemUpgrade::new); diff --git a/src/main/java/cool/furry/mc/forge/projectexpansion/init/TileEntityTypes.java b/src/main/java/cool/furry/mc/forge/projectexpansion/init/TileEntityTypes.java index de67f37f..e2883097 100644 --- a/src/main/java/cool/furry/mc/forge/projectexpansion/init/TileEntityTypes.java +++ b/src/main/java/cool/furry/mc/forge/projectexpansion/init/TileEntityTypes.java @@ -14,11 +14,9 @@ public class TileEntityTypes { public static final DeferredRegister> Registry = DeferredRegister.create(ForgeRegistries.TILE_ENTITIES, Main.MOD_ID); - public static final RegistryObject> EMC_LINK = Registry.register("emc_link", () -> TileEntityType.Builder.create(TileEMCLink::new, Blocks.EMC_LINK.get()).build(null)); + public static final RegistryObject> EMC_LINK = Registry.register("emc_link", () -> TileEntityType.Builder.create(TileEMCLink::new, Arrays.stream(Matter.VALUES).map(Matter::getEMCLink).toArray(Block[]::new)).build(null)); public static final RegistryObject> POWER_FLOWER = Registry.register("power_flower", () -> TileEntityType.Builder.create(TilePowerFlower::new, Arrays.stream(Matter.VALUES).map(Matter::getPowerFlower).toArray(Block[]::new)).build(null)); public static final RegistryObject> ENERGY_COLLECTOR = Registry.register("collector", () -> TileEntityType.Builder.create(TileCollector::new, Arrays.stream(Matter.VALUES).map(Matter::getCollector).toArray(Block[]::new)).build(null)); public static final RegistryObject> ANTI_MATTER_RELAY = Registry.register("relay", () -> TileEntityType.Builder.create(TileRelay::new, Arrays.stream(Matter.VALUES).map(Matter::getRelay).toArray(Block[]::new)).build(null)); - public static final RegistryObject> EMC_EXPORT = Registry.register("emc_export", () -> TileEntityType.Builder.create(TileEMCExport::new, Blocks.EMC_EXPORT.get()).build(null)); - public static final RegistryObject> EMC_IMPORT = Registry.register("emc_import", () -> TileEntityType.Builder.create(TileEMCImport::new, Blocks.EMC_IMPORT.get()).build(null)); public static final RegistryObject> TRANSMUTATION_INTERFACE = Registry.register("transmutation_interface", () -> TileEntityType.Builder.create(TileTransmutationInterface::new, Blocks.TRANSMUTATION_INTERFACE.get()).build(null)); } diff --git a/src/main/java/cool/furry/mc/forge/projectexpansion/tile/TileEMCExport.java b/src/main/java/cool/furry/mc/forge/projectexpansion/tile/TileEMCExport.java deleted file mode 100644 index 06c5d906..00000000 --- a/src/main/java/cool/furry/mc/forge/projectexpansion/tile/TileEMCExport.java +++ /dev/null @@ -1,238 +0,0 @@ -package cool.furry.mc.forge.projectexpansion.tile; - -import cool.furry.mc.forge.projectexpansion.container.ContainerEMCExport; -import cool.furry.mc.forge.projectexpansion.init.TileEntityTypes; -import cool.furry.mc.forge.projectexpansion.util.TileEntityInventoryHelper; -import cool.furry.mc.forge.projectexpansion.util.Util; -import io.netty.buffer.Unpooled; -import moze_intel.projecte.api.ProjectEAPI; -import moze_intel.projecte.api.capabilities.IKnowledgeProvider; -import moze_intel.projecte.api.proxy.IEMCProxy; -import net.minecraft.entity.LivingEntity; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.entity.player.ServerPlayerEntity; -import net.minecraft.inventory.ItemStackHelper; -import net.minecraft.inventory.container.Container; -import net.minecraft.inventory.container.INamedContainerProvider; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.CompoundNBT; -import net.minecraft.network.PacketBuffer; -import net.minecraft.tileentity.ITickableTileEntity; -import net.minecraft.util.Direction; -import net.minecraft.util.text.ITextComponent; -import net.minecraft.util.text.TranslationTextComponent; -import net.minecraft.world.World; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.util.Constants; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.items.CapabilityItemHandler; -import net.minecraftforge.items.IItemHandler; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; -import java.math.BigInteger; -import java.util.UUID; - -public class TileEMCExport extends TileEntityInventoryHelper implements ITickableTileEntity, INamedContainerProvider, IItemHandler { - private static final int[] SLOTS = new int[]{0, 1}; - public UUID owner = Util.DUMMY_UUID; - public String ownerName = ""; - private final LazyOptional itemHandlerCapability = LazyOptional.of(() -> this); - private @Nullable - IEMCProxy proxy = null; - // make sure we aren't double charging or doing something else funky, we can still have - // random race conditions though - private boolean isRefilling = false; - - public TileEMCExport() { - super(TileEntityTypes.EMC_EXPORT.get(), 2); - } - - @Nullable - private ServerPlayerEntity getOwnerPlayer() { - World world = getWorld(); - if (world == null || world.isRemote) return null; - return (ServerPlayerEntity) world.getPlayerByUuid(owner); - } - - @Override - public void read(@Nonnull CompoundNBT nbt) { - super.read(nbt); - if (nbt.hasUniqueId("Owner")) this.owner = nbt.getUniqueId("Owner"); - if (nbt.contains("OwnerName", Constants.NBT.TAG_STRING)) this.ownerName = nbt.getString("OwnerName"); - } - - @Nonnull - @Override - public CompoundNBT write(@Nonnull CompoundNBT nbt) { - super.write(nbt); - nbt.putUniqueId("Owner", this.owner); - nbt.putString("OwnerName", this.ownerName); - return nbt; - } - - private IKnowledgeProvider getProvider() { - return ProjectEAPI.getTransmutationProxy().getKnowledgeProviderFor(owner); - } - - private IEMCProxy getEMC() { - if (proxy == null) proxy = ProjectEAPI.getEMCProxy(); - return proxy; - } - - private void refill() { - if (isRefilling) return; - if (getWorld() == null || getWorld().isRemote()) return; - isRefilling = true; - - ItemStack input = getStackInSlot(0); - ItemStack stack = getStackInSlot(1); - ServerPlayerEntity player = getOwnerPlayer(); - IKnowledgeProvider provider = getProvider(); - if (input.isEmpty()) { - if (!stack.isEmpty()) { - getProvider().setEmc(getProvider().getEmc().add(BigInteger.valueOf(getEMC().getValue(stack.getItem()) * stack.getCount()))); - setInventorySlotContents(1, ItemStack.EMPTY); - } - isRefilling = false; - return; - - } - - if (stack.getCount() == input.getMaxStackSize()) { - isRefilling = false; - return; - } - long cost = getEMC().getValue(input.getItem()); - BigInteger emc = provider.getEmc(); - if (emc.compareTo(BigInteger.ZERO) < 0) emc = BigInteger.ZERO; - if (emc.subtract(BigInteger.valueOf(cost)).compareTo(BigInteger.ZERO) < 0) { - isRefilling = false; - return; - } - long maxBuy = emc.divide(BigInteger.valueOf(cost)).longValue(); - int count = 0; - if (stack.isEmpty()) count = input.getMaxStackSize(); - if (stack.getCount() != input.getMaxStackSize()) count = input.getMaxStackSize() - stack.getCount(); - - if (count == 0) { - isRefilling = false; - return; - } - if (count > maxBuy) count = (int) maxBuy; - provider.setEmc(emc.subtract(BigInteger.valueOf(count * cost))); - if (player != null) provider.sync(player); - setInventorySlotContents(1, new ItemStack(input.getItem(), count + stack.getCount())); - isRefilling = false; - } - - @Override - public void tick() { - refill(); - } - - public void setOwner(PlayerEntity player) { - this.owner = player.getUniqueID(); - this.ownerName = player.getScoreboardName(); - markDirty(); - } - - public void wasPlaced(@Nullable LivingEntity livingEntity, ItemStack stack) { - if (livingEntity instanceof PlayerEntity) setOwner((PlayerEntity) livingEntity); - } - - @Override - public ItemStack removeStackFromSlot(int index) { - ItemStack stack = ItemStackHelper.getAndRemove(getItems(), index); - refill(); - return stack; - } - - @Override - public boolean isItemValidForSlot(int slot, ItemStack stack) { - if (slot == 0) return getEMC().hasValue(stack.getItem()); - else return false; - } - - @Override - public int[] getSlotsForFace(Direction side) { - return SLOTS; - } - - @Override - public boolean canInsertItem(int index, ItemStack stack, @Nullable Direction direction) { - return false; - } - - @Override - public boolean canExtractItem(int index, ItemStack stack, Direction direction) { - return index == 1; - } - - @Nullable - @Override - public Container createMenu(int windowId, PlayerInventory playerInventory, PlayerEntity player) { - return new ContainerEMCExport(windowId, playerInventory, new PacketBuffer(Unpooled.buffer()).writeBlockPos(pos)); - } - - @Override - public ITextComponent getDisplayName() { - return new TranslationTextComponent("block.projectexpansion.emc_export"); - } - - @Nonnull - @Override - public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { - return (cap == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) ? this.itemHandlerCapability.cast() : super.getCapability(cap, side); - } - - @Override - protected void invalidateCaps() { - this.itemHandlerCapability.invalidate(); - } - - @Override - public int getSlots() { - return 2; - } - - @Nonnull - @Override - public ItemStack insertItem(int slot, @Nonnull ItemStack stack, boolean simulate) { - return stack; - } - - @Nonnull - @Override - public ItemStack extractItem(int slot, int amount, boolean simulate) { - if (slot == 0) return ItemStack.EMPTY; - ItemStack stack = getStackInSlot(slot); - if (stack.isEmpty()) return ItemStack.EMPTY; - if (amount >= stack.getCount()) { - if (!simulate) { - setInventorySlotContents(slot, ItemStack.EMPTY); - refill(); - } - return stack; - } else { - if (!simulate) { - decrStackSize(slot, amount); - refill(); - } - ItemStack newStack = stack.copy(); - newStack.setCount(amount); - return newStack; - } - } - - @Override - public int getSlotLimit(int slot) { - return 2; - } - - @Override - public boolean isItemValid(int slot, @Nonnull ItemStack stack) { - return false; - } -} diff --git a/src/main/java/cool/furry/mc/forge/projectexpansion/tile/TileEMCImport.java b/src/main/java/cool/furry/mc/forge/projectexpansion/tile/TileEMCImport.java deleted file mode 100644 index 7c652158..00000000 --- a/src/main/java/cool/furry/mc/forge/projectexpansion/tile/TileEMCImport.java +++ /dev/null @@ -1,238 +0,0 @@ -package cool.furry.mc.forge.projectexpansion.tile; - -import cool.furry.mc.forge.projectexpansion.Main; -import cool.furry.mc.forge.projectexpansion.container.ContainerEMCImport; -import cool.furry.mc.forge.projectexpansion.init.TileEntityTypes; -import cool.furry.mc.forge.projectexpansion.util.TileEntityInventoryHelper; -import cool.furry.mc.forge.projectexpansion.util.Util; -import io.netty.buffer.Unpooled; -import moze_intel.projecte.api.ProjectEAPI; -import moze_intel.projecte.api.capabilities.IKnowledgeProvider; -import moze_intel.projecte.api.proxy.IEMCProxy; -import net.minecraft.entity.LivingEntity; -import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.entity.player.PlayerInventory; -import net.minecraft.entity.player.ServerPlayerEntity; -import net.minecraft.inventory.container.Container; -import net.minecraft.inventory.container.INamedContainerProvider; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.CompoundNBT; -import net.minecraft.network.PacketBuffer; -import net.minecraft.tileentity.ITickableTileEntity; -import net.minecraft.util.Direction; -import net.minecraft.util.text.ITextComponent; -import net.minecraft.util.text.TranslationTextComponent; -import net.minecraft.world.World; -import net.minecraftforge.common.capabilities.Capability; -import net.minecraftforge.common.util.Constants; -import net.minecraftforge.common.util.LazyOptional; -import net.minecraftforge.items.CapabilityItemHandler; -import net.minecraftforge.items.IItemHandler; -import org.apache.logging.log4j.Level; - -import javax.annotation.Nonnull; -import javax.annotation.Nullable; -import java.math.BigInteger; -import java.util.UUID; - -public class TileEMCImport extends TileEntityInventoryHelper implements ITickableTileEntity, INamedContainerProvider, IItemHandler { - private static final int[] SLOTS = new int[]{ - 0, 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, - 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44 - }; - public UUID owner = Util.DUMMY_UUID; - public String ownerName = ""; - private final LazyOptional itemHandlerCapability = LazyOptional.of(() -> this); - private @Nullable - IEMCProxy proxy = null; - private boolean isProcessing = false; - - public TileEMCImport() { - super(TileEntityTypes.EMC_IMPORT.get(), 45); - } - - @Nullable - private ServerPlayerEntity getOwnerPlayer() { - World world = getWorld(); - if (world == null || world.isRemote) return null; - return (ServerPlayerEntity) world.getPlayerByUuid(owner); - } - - @Override - public void read(@Nonnull CompoundNBT nbt) { - super.read(nbt); - if (nbt.hasUniqueId("Owner")) this.owner = nbt.getUniqueId("Owner"); - if (nbt.contains("OwnerName", Constants.NBT.TAG_STRING)) this.ownerName = nbt.getString("OwnerName"); - } - - @Nonnull - @Override - public CompoundNBT write(@Nonnull CompoundNBT nbt) { - super.write(nbt); - nbt.putUniqueId("Owner", this.owner); - nbt.putString("OwnerName", this.ownerName); - return nbt; - } - - private IKnowledgeProvider getProvider() { - return ProjectEAPI.getTransmutationProxy().getKnowledgeProviderFor(owner); - } - - private IEMCProxy getEMC() { - if (proxy == null) proxy = ProjectEAPI.getEMCProxy(); - return proxy; - } - - private void process() { - if (isProcessing) return; - - if (getWorld() == null || getWorld().isRemote) return; - isProcessing = true; - - IKnowledgeProvider provider = getProvider(); - BigInteger gain = BigInteger.ZERO; - ServerPlayerEntity player = getOwnerPlayer(); - - int index = 0; - for (ItemStack stack : getItems()) { - if (stack.isEmpty() || !getEMC().hasValue(stack.getItem())) { - index++; - continue; - } - Main.Logger.printf(Level.INFO, "slot:%s contents:%s", index, stack); - gain = gain.add(BigInteger.valueOf(getEMC().getValue(stack.getItem()) * stack.getCount())); - setInventorySlotContents(index, ItemStack.EMPTY); - index++; - } - - // Main.Logger.printf(Level.INFO, "%s %s %s", provider.getEmc(), gain, player == null); - - if (gain.equals(BigInteger.ZERO)) { - isProcessing = false; - return; - } - - // the emc isn't changing???? - Main.Logger.printf(Level.INFO, "%s %s %s %s %s", provider.getEmc(), gain, provider.getEmc().add(gain), owner, player); - provider.setEmc(provider.getEmc().add(gain)); - Main.Logger.info(provider.getEmc()); - if (player != null) provider.sync(player); - isProcessing = false; - } - - @Override - public void tick() { - process(); - } - - public void setOwner(PlayerEntity player) { - this.owner = player.getUniqueID(); - this.ownerName = player.getScoreboardName(); - markDirty(); - } - - public void wasPlaced(@Nullable LivingEntity livingEntity, ItemStack stack) { - if (livingEntity instanceof PlayerEntity) setOwner((PlayerEntity) livingEntity); - } - - @Override - public ItemStack removeStackFromSlot(int index) { - return ItemStack.EMPTY; - } - - @Override - public boolean isItemValidForSlot(int slot, ItemStack stack) { - return getEMC().hasValue(stack.getItem()); - } - - @Override - public int[] getSlotsForFace(Direction side) { - return SLOTS; - } - - @Override - public boolean canInsertItem(int index, ItemStack stack, @Nullable Direction direction) { - return getEMC().hasValue(stack.getItem()); - } - - @Override - public boolean canExtractItem(int index, ItemStack stack, Direction direction) { - return false; - } - - @Nullable - @Override - public Container createMenu(int windowId, PlayerInventory playerInventory, PlayerEntity player) { - return new ContainerEMCImport(windowId, playerInventory, new PacketBuffer(Unpooled.buffer()).writeBlockPos(pos)); - } - - @Override - public ITextComponent getDisplayName() { - return new TranslationTextComponent("block.projectexpansion.emc_import"); - } - - @Nonnull - @Override - public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { - return (cap == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) ? this.itemHandlerCapability.cast() : super.getCapability(cap, side); - } - - @Override - protected void invalidateCaps() { - this.itemHandlerCapability.invalidate(); - } - - @Override - public int getSlots() { - return 45; - } - - @Nonnull - @Override - public ItemStack insertItem(int slot, @Nonnull ItemStack stack, boolean simulate) { - ItemStack oldStack = getStackInSlot(slot); - if (oldStack.isEmpty()) { - if (!simulate) { - setInventorySlotContents(slot, stack); - process(); - } - return ItemStack.EMPTY; - } else { - if (!oldStack.getItem().equals(stack.getItem())) return stack; - int canAdd = oldStack.getCount() - stack.getMaxStackSize(); - int toAdd = stack.getCount(); - if (toAdd > canAdd) { - toAdd = canAdd; - oldStack.setCount(oldStack.getCount() + toAdd); - } - int leftover = stack.getCount() - toAdd; - if (!simulate) { - setInventorySlotContents(slot, oldStack); - process(); - } - if (leftover <= 0) return ItemStack.EMPTY; - stack.setCount(leftover); - return stack; - } - } - - @Nonnull - @Override - public ItemStack extractItem(int slot, int amount, boolean simulate) { - return ItemStack.EMPTY; - } - - @Override - public int getSlotLimit(int slot) { - return 45; - } - - @Override - public boolean isItemValid(int slot, @Nonnull ItemStack stack) { - return getEMC().hasValue(stack.getItem()); - } -} - diff --git a/src/main/java/cool/furry/mc/forge/projectexpansion/tile/TileEMCLink.java b/src/main/java/cool/furry/mc/forge/projectexpansion/tile/TileEMCLink.java index 3c1cf41c..b17af566 100644 --- a/src/main/java/cool/furry/mc/forge/projectexpansion/tile/TileEMCLink.java +++ b/src/main/java/cool/furry/mc/forge/projectexpansion/tile/TileEMCLink.java @@ -1,39 +1,71 @@ package cool.furry.mc.forge.projectexpansion.tile; -import cool.furry.mc.forge.projectexpansion.config.Config; import cool.furry.mc.forge.projectexpansion.init.TileEntityTypes; +import cool.furry.mc.forge.projectexpansion.util.ColorStyle; +import cool.furry.mc.forge.projectexpansion.util.HasMatter; +import cool.furry.mc.forge.projectexpansion.util.Matter; +import cool.furry.mc.forge.projectexpansion.util.Util; import moze_intel.projecte.api.ProjectEAPI; import moze_intel.projecte.api.capabilities.IKnowledgeProvider; import moze_intel.projecte.api.capabilities.tile.IEmcStorage; +import net.minecraft.block.BlockState; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.ServerPlayerEntity; +import net.minecraft.inventory.EquipmentSlotType; +import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.CompoundNBT; +import net.minecraft.state.properties.BlockStateProperties; import net.minecraft.tileentity.ITickableTileEntity; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ActionResultType; import net.minecraft.util.Direction; +import net.minecraft.util.Hand; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.text.StringTextComponent; +import net.minecraft.util.text.TranslationTextComponent; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.util.Constants; import net.minecraftforge.common.util.LazyOptional; +import net.minecraftforge.items.CapabilityItemHandler; +import net.minecraftforge.items.IItemHandler; +import net.minecraftforge.registries.ForgeRegistries; import javax.annotation.Nonnull; import javax.annotation.Nullable; import java.math.BigInteger; -import java.util.Objects; import java.util.UUID; -public class TileEMCLink extends TileEntity implements ITickableTileEntity, IEmcStorage { - public UUID owner = new UUID(0L, 0L); +public class TileEMCLink extends TileEntity implements ITickableTileEntity, IEmcStorage, IItemHandler, HasMatter { + public UUID owner = Util.DUMMY_UUID; public String ownerName = ""; public BigInteger emc = BigInteger.ZERO; public int tick = 0; - private LazyOptional emcStorageCapability; + private final LazyOptional emcStorageCapability = LazyOptional.of(() -> this); + private final LazyOptional itemHandlerCapability = LazyOptional.of(() -> this); + private @Nullable Item item = null; + private final Matter matter; + private long remainingEMC = 0L; + private int remainingImport = 0; + private int remainingExport = 0; public TileEMCLink() { super(TileEntityTypes.EMC_LINK.get()); + this.matter = Matter.BASIC; + resetLimits(); } + public TileEMCLink(Matter matter) { + super(TileEntityTypes.EMC_LINK.get()); + this.matter = matter; + resetLimits(); + } + + /******* + * NBT * + *******/ + @Override public void read(@Nonnull CompoundNBT nbt) { super.read(nbt); @@ -41,6 +73,10 @@ public void read(@Nonnull CompoundNBT nbt) { if (nbt.contains("OwnerName", Constants.NBT.TAG_STRING)) this.ownerName = nbt.getString("OwnerName"); if (nbt.contains("Tick", Constants.NBT.TAG_BYTE)) tick = nbt.getByte("Tick") & 0xFF; if (nbt.contains("EMC", Constants.NBT.TAG_STRING)) emc = new BigInteger(nbt.getString(("EMC"))); + if (nbt.contains("Item", Constants.NBT.TAG_STRING)) item = ForgeRegistries.ITEMS.getValue(new ResourceLocation(nbt.getString("Item"))); + if(nbt.contains("RemainingEMC", Constants.NBT.TAG_DOUBLE)) remainingEMC = (long) nbt.getDouble("RemainingEMC"); + if(nbt.contains("RemainingImport", Constants.NBT.TAG_INT)) remainingImport = nbt.getInt("RemainingImport"); + if(nbt.contains("RemainingExport", Constants.NBT.TAG_INT)) remainingExport = nbt.getInt("RemainingExport"); } @Nonnull @@ -51,9 +87,73 @@ public CompoundNBT write(@Nonnull CompoundNBT nbt) { nbt.putString("OwnerName", this.ownerName); nbt.putByte("Tick", (byte) tick); nbt.putString("EMC", emc.toString()); + if(item != null) nbt.putString("Item", item.toString()); + nbt.putDouble("RemainingEMC", remainingEMC); + nbt.putInt("RemainingImport", remainingImport); + nbt.putInt("RemainingExport", remainingExport); return nbt; } + /******** + * MISC * + ********/ + + @Override + public void tick() { + if (Util.isWorldRemoteOrNull(getWorld())) return; + tick++; + // due to the nature of per second this block follows, using the + // config value isn't really possible + if (tick >= 20) { + tick = 0; + + resetLimits(); + if (emc.equals(BigInteger.ZERO)) return; + ServerPlayerEntity player = Util.getPlayer(getWorld(), owner); + IKnowledgeProvider provider = ProjectEAPI.getTransmutationProxy().getKnowledgeProviderFor(owner); + + provider.setEmc(provider.getEmc().add(emc)); + if(player != null) provider.sync(player); + markDirty(); + emc = BigInteger.ZERO; + } + } + + private void resetLimits() { + if(matter == null) return; + remainingEMC = matter.getEMCLimit(); + remainingImport = remainingExport = matter.getItemLimit(); + } + + public void setOwner(PlayerEntity player) { + this.owner = player.getUniqueID(); + this.ownerName = player.getScoreboardName(); + markDirty(); + } + + public void wasPlaced(@Nullable LivingEntity livingEntity, ItemStack stack) { + if (livingEntity instanceof PlayerEntity) setOwner((PlayerEntity) livingEntity); + resetLimits(); + } + + @Override + public Matter getMatter() { + return matter; + } + + @Nullable + public Item getItem() { + return item; + } + + public Direction getDirection() { + return getBlockState().get(BlockStateProperties.HORIZONTAL_FACING); + } + + /******* + * EMC * + *******/ + @Override public long getStoredEmc() { return 0L; @@ -61,7 +161,7 @@ public long getStoredEmc() { @Override public long getMaximumEmc() { - return Long.MAX_VALUE; + return matter.getEMCLimit(); } @Override @@ -69,68 +169,173 @@ public long extractEmc(long emc, EmcAction action) { return emc < 0L ? insertEmc(-emc, action) : 0L; } + // @TODO make sure this is actually working properly @Override public long insertEmc(long emc, EmcAction action) { - if(emc > 0L) { - if(action.execute()) this.emc = this.emc.add(BigInteger.valueOf(emc)); + if (emc > 0L) { + long usableEMC = emc; + if(usableEMC > remainingEMC) { + usableEMC = remainingEMC; + } + if (action.execute()) this.emc = this.emc.add(BigInteger.valueOf(usableEMC)); - return emc; + return emc - usableEMC; } return 0L; } + /********* + * Items * + *********/ + @Override - public void tick() { + public int getSlots() { + return matter.getEMCLinkInventorySize(); + } - if(world == null || world.isRemote()) return; - tick++; - if(tick >= Config.tickDelay.get()) { - tick = 0; - if(emc.equals(BigInteger.ZERO)) return; - ServerPlayerEntity player = Objects.requireNonNull(world.getServer()).getPlayerList().getPlayerByUUID(owner); - IKnowledgeProvider provider = player == null ? null : player.getCapability(ProjectEAPI.KNOWLEDGE_CAPABILITY).orElse(null); - - if(provider != null) { - provider.setEmc(provider.getEmc().add(emc)); - markDirty(); - emc = BigInteger.ZERO; + @Nonnull + @Override + public ItemStack getStackInSlot(int slot) { + return slot == 0 && item != null ? new ItemStack(item, remainingExport) : ItemStack.EMPTY; + } + + @Nonnull + @Override + public ItemStack insertItem(int slot, @Nonnull ItemStack stack, boolean simulate) { + if(slot == 0 || remainingImport <= 0 || owner == null || !ProjectEAPI.getEMCProxy().hasValue(stack) || stack.isEmpty() || Util.isWorldRemoteOrNull(getWorld())) return stack; + int count = stack.getCount(); + if(count > remainingImport) count = remainingImport; + if(!simulate) { + long value = ProjectEAPI.getEMCProxy().getValue(stack.getItem()) * count; + IKnowledgeProvider provider = ProjectEAPI.getTransmutationProxy().getKnowledgeProviderFor(owner); + ServerPlayerEntity player = Util.getPlayer(owner); + provider.setEmc(provider.getEmc().add(BigInteger.valueOf(value))); + if(player != null) { + provider.addKnowledge(stack); provider.sync(player); } + + remainingImport -= count; } + + return count == stack.getCount() ? ItemStack.EMPTY : new ItemStack(stack.getItem(), count); } - public void setOwner(PlayerEntity player) { - this.owner = player.getUniqueID(); - this.ownerName = player.getScoreboardName(); - markDirty(); + @Nonnull + @Override + public ItemStack extractItem(int slot, int amount, boolean simulate) { + if(slot != 0 || remainingExport <= 0 || owner == null || item == null || Util.isWorldRemoteOrNull(getWorld())) return ItemStack.EMPTY; + long cost = ProjectEAPI.getEMCProxy().getValue(item); + IKnowledgeProvider provider = ProjectEAPI.getTransmutationProxy().getKnowledgeProviderFor(owner); + BigInteger emc = provider.getEmc(); + int count = emc.divide(BigInteger.valueOf(cost)).intValue(); + if(count < 1) return ItemStack.EMPTY; + if(count > remainingExport) count = remainingExport; + if(!simulate) { + provider.setEmc(emc.subtract(BigInteger.valueOf(cost * count))); + ServerPlayerEntity player = Util.getPlayer(owner); + if(player != null) provider.sync(player); + remainingExport -= count; + } + return new ItemStack(item, count); } - public void wasPlaced(@Nullable LivingEntity livingEntity, ItemStack stack) { - if(livingEntity instanceof PlayerEntity) setOwner((PlayerEntity) livingEntity); + @Override + public int getSlotLimit(int slot) { + return matter.getItemLimit(); } @Override - @Nonnull - public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { - if (cap == ProjectEAPI.EMC_STORAGE_CAPABILITY) { - if (emcStorageCapability == null || !emcStorageCapability.isPresent()) { - emcStorageCapability = LazyOptional.of(() -> this); - } + public boolean isItemValid(int slot, @Nonnull ItemStack stack) { + return ProjectEAPI.getEMCProxy().hasValue(stack); + } - return emcStorageCapability.cast(); - } + /**************** + * Capabilities * + ****************/ - return super.getCapability(cap, side); + @Nonnull + @Override + public LazyOptional getCapability(@Nonnull Capability cap, @Nullable Direction side) { + return + (cap == ProjectEAPI.EMC_STORAGE_CAPABILITY) ? this.emcStorageCapability.cast() : + (cap == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY) ? this.itemHandlerCapability.cast() : + super.getCapability(cap, side); } @Override protected void invalidateCaps() { - super.invalidateCaps(); + this.itemHandlerCapability.invalidate(); + } - if (emcStorageCapability != null && emcStorageCapability.isPresent()) { - emcStorageCapability.invalidate(); - emcStorageCapability = null; + public ActionResultType handleActivation(PlayerEntity player, Hand hand) { + ItemStack stack = player.getHeldItem(hand); + if(!owner.equals(player.getUniqueID())) { + player.sendStatusMessage(new TranslationTextComponent("block.projectexpansion.emc_link.not_owner", new StringTextComponent(ownerName).setStyle(ColorStyle.RED)).setStyle(ColorStyle.RED), true); + return ActionResultType.FAIL; + } + if(player.isCrouching()) { + // error if no item & crouching + if (stack.isEmpty()) { + if (item == null) { + player.sendStatusMessage(new TranslationTextComponent("block.projectexpansion.emc_link.not_set").setStyle(ColorStyle.RED), true); + return ActionResultType.FAIL; + } else { + // clear if no item & crouching + item = null; + markDirty(); + player.sendStatusMessage(new TranslationTextComponent("block.projectexpansion.emc_link.cleared").setStyle(ColorStyle.RED), true); + return ActionResultType.SUCCESS; + } + } else { + if (item == null) { + player.sendStatusMessage(new TranslationTextComponent("block.projectexpansion.emc_link.already_set").setStyle(ColorStyle.RED), true); + return ActionResultType.FAIL; + } else { + // set if no item & non-empty hand (crouching irrelevant) + item = stack.getItem(); + markDirty(); + player.sendStatusMessage(new TranslationTextComponent("block.projectexpansion.emc_link.set", new TranslationTextComponent(item.getTranslationKey()).setStyle(ColorStyle.BLUE)).setStyle(ColorStyle.GREEN), true); + return ActionResultType.SUCCESS; + } + } + } else { + if(stack.isEmpty()) { + // error if no item & empty hand + if(item == null) { + player.sendStatusMessage(new TranslationTextComponent("block.projectexpansion.emc_link.not_set").setStyle(ColorStyle.RED), true); + return ActionResultType.FAIL; + } else { + // give if item present & empty hand + IKnowledgeProvider provider = ProjectEAPI.getTransmutationProxy().getKnowledgeProviderFor(owner); + long cost = ProjectEAPI.getEMCProxy().getValue(item); + BigInteger emc = provider.getEmc(); + int count = emc.divide(BigInteger.valueOf(cost)).intValue(); + if(count > item.getMaxStackSize()) count = item.getMaxStackSize(); + if(count < 1) { + player.sendStatusMessage(new TranslationTextComponent("block.projectexpansion.emc_link.not_enough_emc", new StringTextComponent(String.valueOf(cost)).setStyle(ColorStyle.GREEN)).setStyle(ColorStyle.RED), true); + return ActionResultType.FAIL; + } + provider.setEmc(emc.subtract(BigInteger.valueOf(cost * count))); + if(player instanceof ServerPlayerEntity) provider.sync((ServerPlayerEntity) player); + + player.setItemStackToSlot((hand.equals(Hand.MAIN_HAND) ? EquipmentSlotType.MAINHAND : EquipmentSlotType.OFFHAND), new ItemStack(item, count)); + return ActionResultType.SUCCESS; + } + } else { + // set if no item & non-empty hand + if(item == null) { + item = stack.getItem(); + markDirty(); + player.sendStatusMessage(new TranslationTextComponent("block.projectexpansion.emc_link.set", new TranslationTextComponent(item.getTranslationKey()).setStyle(ColorStyle.BLUE)).setStyle(ColorStyle.GREEN), true); + return ActionResultType.SUCCESS; + } else { + // error if item & non-empty hand + player.sendStatusMessage(new TranslationTextComponent("block.projectexpansion.emc_link.empty_hand").setStyle(ColorStyle.RED), true); + return ActionResultType.FAIL; + } + } } } } diff --git a/src/main/java/cool/furry/mc/forge/projectexpansion/util/Matter.java b/src/main/java/cool/furry/mc/forge/projectexpansion/util/Matter.java index 57605759..964e4782 100644 --- a/src/main/java/cool/furry/mc/forge/projectexpansion/util/Matter.java +++ b/src/main/java/cool/furry/mc/forge/projectexpansion/util/Matter.java @@ -2,6 +2,7 @@ import cool.furry.mc.forge.projectexpansion.Main; import cool.furry.mc.forge.projectexpansion.block.BlockCollector; +import cool.furry.mc.forge.projectexpansion.block.BlockEMCLink; import cool.furry.mc.forge.projectexpansion.block.BlockPowerFlower; import cool.furry.mc.forge.projectexpansion.block.BlockRelay; import cool.furry.mc.forge.projectexpansion.config.Config; @@ -73,6 +74,10 @@ public Matter next() { private RegistryObject relay = null; @Nullable private RegistryObject itemRelay = null; + @Nullable + private RegistryObject emcLink = null; + @Nullable + private RegistryObject itemEMCLink = null; Matter(String name, boolean hasItem, int level, @Nullable Supplier existingItem) { this.name = name; this.hasItem = hasItem; @@ -153,12 +158,31 @@ public long getRelayTransferForTicks(int ticks) { return getRelayTransfer(); } + public int getLevel() { + return level; + } + + public int getEMCLinkInventorySize() { + return level * 3; + } + + public long getEMCLimit() { + return (long) Math.pow(16, level); + } + + public int getItemLimit() { + return (int) Math.pow(2, level - 1); + } + + public String getItemLimitString() { + return level == 16 ? "INFINITY" : String.valueOf(getItemLimit()); + } + public @Nullable Item getMatter() { return itemMatter == null ? null : itemMatter.get(); } - public @Nullable - BlockPowerFlower getPowerFlower() { + public @Nullable BlockPowerFlower getPowerFlower() { return powerFlower == null ? null : powerFlower.get(); } @@ -166,8 +190,7 @@ BlockPowerFlower getPowerFlower() { return itemPowerFlower == null ? null : itemPowerFlower.get(); } - public @Nullable - BlockRelay getRelay() { + public @Nullable BlockRelay getRelay() { return relay == null ? null : relay.get(); } @@ -183,11 +206,18 @@ BlockRelay getRelay() { return itemCollector == null ? null : itemCollector.get(); } - public @Nullable - ItemCompressedEnergyCollector getCompressedCollectorItem() { + public @Nullable ItemCompressedEnergyCollector getCompressedCollectorItem() { return itemCompressedCollector == null ? null : itemCompressedCollector.get(); } + public @Nullable BlockEMCLink getEMCLink() { + return emcLink == null ? null : emcLink.get(); + } + + public @Nullable BlockItem getEMCLinkItem() { + return itemEMCLink == null ? null : itemEMCLink.get(); + } + public static final int UNCOMMON_THRESHOLD = 4; public static final int RARE_THRESHOLD = 15; public static final int EPIC_THRESHOLD = 16; @@ -221,6 +251,12 @@ private void register(RegistrationType reg) { itemRelay = Items.Registry.register(String.format("%s_relay", name), () -> new BlockItem(Objects.requireNonNull(relay).get(), new Item.Properties().group(Main.group).rarity(this.rarity))); break; } + + case EMC_LINK: { + emcLink = Blocks.Registry.register(String.format("%s_emc_link", name), () -> new BlockEMCLink(this)); + itemEMCLink = Items.Registry.register(String.format("%s_emc_link", name), () -> new BlockItem(Objects.requireNonNull(emcLink).get(), new Item.Properties().group(Main.group).rarity(this.rarity))); + break; + } } } @@ -236,9 +272,7 @@ private enum RegistrationType { COMPRESSED_COLLECTOR, POWER_FLOWER, RELAY, - UPGRADE_COLLECTOR, - UPGRADE_POWER_FLOWER, - UPGRADE_RELAY + EMC_LINK + } } - diff --git a/src/main/resources/assets/projectexpansion/blockstates/basic_emc_link.json b/src/main/resources/assets/projectexpansion/blockstates/basic_emc_link.json new file mode 100644 index 00000000..8b7919e1 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/blockstates/basic_emc_link.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "projectexpansion:block/emc_link/basic" + } + } +} diff --git a/src/main/resources/assets/projectexpansion/blockstates/blue_emc_link.json b/src/main/resources/assets/projectexpansion/blockstates/blue_emc_link.json new file mode 100644 index 00000000..b4a96511 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/blockstates/blue_emc_link.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "projectexpansion:block/emc_link/blue" + } + } +} diff --git a/src/main/resources/assets/projectexpansion/blockstates/cyan_emc_link.json b/src/main/resources/assets/projectexpansion/blockstates/cyan_emc_link.json new file mode 100644 index 00000000..2b39e05c --- /dev/null +++ b/src/main/resources/assets/projectexpansion/blockstates/cyan_emc_link.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "projectexpansion:block/emc_link/cyan" + } + } +} diff --git a/src/main/resources/assets/projectexpansion/blockstates/dark_emc_link.json b/src/main/resources/assets/projectexpansion/blockstates/dark_emc_link.json new file mode 100644 index 00000000..d98dd8ad --- /dev/null +++ b/src/main/resources/assets/projectexpansion/blockstates/dark_emc_link.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "projectexpansion:block/emc_link/dark" + } + } +} diff --git a/src/main/resources/assets/projectexpansion/blockstates/emc_export.json b/src/main/resources/assets/projectexpansion/blockstates/emc_export.json deleted file mode 100644 index bb609ed4..00000000 --- a/src/main/resources/assets/projectexpansion/blockstates/emc_export.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "projectexpansion:block/emc_export" - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/projectexpansion/blockstates/emc_import.json b/src/main/resources/assets/projectexpansion/blockstates/emc_import.json deleted file mode 100644 index 6d3bd89f..00000000 --- a/src/main/resources/assets/projectexpansion/blockstates/emc_import.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "projectexpansion:block/emc_import" - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/projectexpansion/blockstates/emc_link.json b/src/main/resources/assets/projectexpansion/blockstates/emc_link.json deleted file mode 100644 index 41e806ed..00000000 --- a/src/main/resources/assets/projectexpansion/blockstates/emc_link.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "variants": { - "": { - "model": "projectexpansion:block/emc_link" - } - } -} \ No newline at end of file diff --git a/src/main/resources/assets/projectexpansion/blockstates/fading_emc_link.json b/src/main/resources/assets/projectexpansion/blockstates/fading_emc_link.json new file mode 100644 index 00000000..41ad85dd --- /dev/null +++ b/src/main/resources/assets/projectexpansion/blockstates/fading_emc_link.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "projectexpansion:block/emc_link/fading" + } + } +} diff --git a/src/main/resources/assets/projectexpansion/blockstates/final_emc_link.json b/src/main/resources/assets/projectexpansion/blockstates/final_emc_link.json new file mode 100644 index 00000000..77e15b1a --- /dev/null +++ b/src/main/resources/assets/projectexpansion/blockstates/final_emc_link.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "projectexpansion:block/emc_link/final" + } + } +} diff --git a/src/main/resources/assets/projectexpansion/blockstates/green_emc_link.json b/src/main/resources/assets/projectexpansion/blockstates/green_emc_link.json new file mode 100644 index 00000000..6224f41c --- /dev/null +++ b/src/main/resources/assets/projectexpansion/blockstates/green_emc_link.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "projectexpansion:block/emc_link/green" + } + } +} diff --git a/src/main/resources/assets/projectexpansion/blockstates/lime_emc_link.json b/src/main/resources/assets/projectexpansion/blockstates/lime_emc_link.json new file mode 100644 index 00000000..272e9d2a --- /dev/null +++ b/src/main/resources/assets/projectexpansion/blockstates/lime_emc_link.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "projectexpansion:block/emc_link/lime" + } + } +} diff --git a/src/main/resources/assets/projectexpansion/blockstates/magenta_emc_link.json b/src/main/resources/assets/projectexpansion/blockstates/magenta_emc_link.json new file mode 100644 index 00000000..d4ef6811 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/blockstates/magenta_emc_link.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "projectexpansion:block/emc_link/magenta" + } + } +} diff --git a/src/main/resources/assets/projectexpansion/blockstates/orange_emc_link.json b/src/main/resources/assets/projectexpansion/blockstates/orange_emc_link.json new file mode 100644 index 00000000..a18aebb4 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/blockstates/orange_emc_link.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "projectexpansion:block/emc_link/orange" + } + } +} diff --git a/src/main/resources/assets/projectexpansion/blockstates/pink_emc_link.json b/src/main/resources/assets/projectexpansion/blockstates/pink_emc_link.json new file mode 100644 index 00000000..12b71444 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/blockstates/pink_emc_link.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "projectexpansion:block/emc_link/pink" + } + } +} diff --git a/src/main/resources/assets/projectexpansion/blockstates/purple_emc_link.json b/src/main/resources/assets/projectexpansion/blockstates/purple_emc_link.json new file mode 100644 index 00000000..eb3992a7 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/blockstates/purple_emc_link.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "projectexpansion:block/emc_link/purple" + } + } +} diff --git a/src/main/resources/assets/projectexpansion/blockstates/red_emc_link.json b/src/main/resources/assets/projectexpansion/blockstates/red_emc_link.json new file mode 100644 index 00000000..8583f3f8 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/blockstates/red_emc_link.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "projectexpansion:block/emc_link/red" + } + } +} diff --git a/src/main/resources/assets/projectexpansion/blockstates/violet_emc_link.json b/src/main/resources/assets/projectexpansion/blockstates/violet_emc_link.json new file mode 100644 index 00000000..df9634be --- /dev/null +++ b/src/main/resources/assets/projectexpansion/blockstates/violet_emc_link.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "projectexpansion:block/emc_link/violet" + } + } +} diff --git a/src/main/resources/assets/projectexpansion/blockstates/white_emc_link.json b/src/main/resources/assets/projectexpansion/blockstates/white_emc_link.json new file mode 100644 index 00000000..94565b90 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/blockstates/white_emc_link.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "projectexpansion:block/emc_link/white" + } + } +} diff --git a/src/main/resources/assets/projectexpansion/blockstates/yellow_emc_link.json b/src/main/resources/assets/projectexpansion/blockstates/yellow_emc_link.json new file mode 100644 index 00000000..8d5e04fe --- /dev/null +++ b/src/main/resources/assets/projectexpansion/blockstates/yellow_emc_link.json @@ -0,0 +1,7 @@ +{ + "variants": { + "": { + "model": "projectexpansion:block/emc_link/yellow" + } + } +} diff --git a/src/main/resources/assets/projectexpansion/lang/en_us.json b/src/main/resources/assets/projectexpansion/lang/en_us.json index 5b2d1939..d5ddabe1 100644 --- a/src/main/resources/assets/projectexpansion/lang/en_us.json +++ b/src/main/resources/assets/projectexpansion/lang/en_us.json @@ -1,184 +1,202 @@ { - "block.projectexpansion.collector.tooltip": "Generates EMC once per second.", - "block.projectexpansion.collector.emc": "Produced EMC: %s/s", - "block.projectexpansion.basic_collector": "Basic Energy Collector [MK 1]", - "block.projectexpansion.dark_collector": "Dark Energy Collector [MK 2]", - "block.projectexpansion.red_collector": "Red Energy Collector [MK 3]", - "block.projectexpansion.magenta_collector": "Magenta Energy Collector [MK 4]", - "block.projectexpansion.pink_collector": "Pink Energy Collector [MK 5]", - "block.projectexpansion.purple_collector": "Purple Energy Collector [MK 6]", - "block.projectexpansion.violet_collector": "Violet Energy Collector [MK 7]", - "block.projectexpansion.blue_collector": "Blue Energy Collector [MK 8]", - "block.projectexpansion.cyan_collector": "Cyan Energy Collector [MK 9]", - "block.projectexpansion.green_collector": "Green Energy Collector [MK 10]", - "block.projectexpansion.lime_collector": "Lime Energy Collector [MK 11]", - "block.projectexpansion.yellow_collector": "Yellow Energy Collector [MK 12]", - "block.projectexpansion.orange_collector": "Orange Energy Collector [MK 13]", - "block.projectexpansion.white_collector": "White Energy Collector [MK 14]", - "block.projectexpansion.fading_collector": "Fading Energy Collector [MK 15]", - "block.projectexpansion.final_collector": "Final Energy Collector [MK 16]", - "block.projectexpansion.magenta_fuel_block": "Magenta Fuel Block", - "block.projectexpansion.pink_fuel_block": "Pink Fuel Block", - "block.projectexpansion.purple_fuel_block": "Purple Fuel Block", - "block.projectexpansion.violet_fuel_block": "Violet Fuel Block", - "block.projectexpansion.blue_fuel_block": "Blue Fuel Block", - "block.projectexpansion.cyan_fuel_block": "Cyan Fuel Block", - "block.projectexpansion.green_fuel_block": "Green Fuel Block", - "block.projectexpansion.lime_fuel_block": "Lime Fuel Block", - "block.projectexpansion.yellow_fuel_block": "Yellow Fuel Block", - "block.projectexpansion.orange_fuel_block": "Orange Fuel Block", - "block.projectexpansion.white_fuel_block": "White Fuel Block", - "block.projectexpansion.arcane_table": "Arcane Table", - "block.projectexpansion.emc_link": "EMC Link", - "block.projectexpansion.emc_link.tooltip": "This block will transfer emc from nearby blocks into your transmutation inventory.", - "block.projectexpansion.emc_export": "EMC Export", - "block.projectexpansion.emc_export.tooltip": "Exports items, using your emc.", - "block.projectexpansion.emc_export.not_owner": "You are not the owner of this, %s is.", - "block.projectexpansion.emc_import": "EMC Import", - "block.projectexpansion.emc_import.tooltip": "Import items directly into your emc.", - "block.projectexpansion.emc_import.not_owner": "You are not the owner of this, %s is.", - "block.projectexpansion.transmutation_interface": "Transmutation Interface", - "block.projectexpansion.transmutation_interface.tooltip": "This can be used with compatible mods like Refined Storage to access your transmutation inventory.", - "block.projectexpansion.power_flower.tooltip": "Generates EMC once per %s tick%s. (20/second)", - "block.projectexpansion.power_flower.emc": "Produced EMC: %s/s", - "block.projectexpansion.basic_power_flower": "Basic Power Flower [MK 1]", - "block.projectexpansion.dark_power_flower": "Dark Power Flower [MK 2]", - "block.projectexpansion.red_power_flower": "Red Power Flower [MK 3]", - "block.projectexpansion.magenta_power_flower": "Magenta Power Flower [MK 4]", - "block.projectexpansion.pink_power_flower": "Pink Power Flower [MK 5]", - "block.projectexpansion.purple_power_flower": "Purple Power Flower [MK 6]", - "block.projectexpansion.violet_power_flower": "Violet Power Flower [MK 7]", - "block.projectexpansion.blue_power_flower": "Blue Power Flower [MK 8]", - "block.projectexpansion.cyan_power_flower": "Cyan Power Flower [MK 9]", - "block.projectexpansion.green_power_flower": "Green Power Flower [MK 10]", - "block.projectexpansion.lime_power_flower": "Lime Power Flower [MK 11]", - "block.projectexpansion.yellow_power_flower": "Yellow Power Flower [MK 12]", - "block.projectexpansion.orange_power_flower": "Orange Power Flower [MK 13]", - "block.projectexpansion.white_power_flower": "White Power Flower [MK 14]", - "block.projectexpansion.fading_power_flower": "Fading Power Flower [MK 15]", - "block.projectexpansion.final_power_flower": "Final Power Flower [MK 16]", - "block.projectexpansion.relay.tooltip": "Transfers EMC once per second.", - "block.projectexpansion.relay.bonus": "Relay Bonus: %s/s", - "block.projectexpansion.relay.transfer": "Max EMC Transfer: %s/s", - "block.projectexpansion.basic_relay": "Basic Anti-Matter Relay [MK 1]", - "block.projectexpansion.dark_relay": "Dark Anti-Matter Relay [MK 2]", - "block.projectexpansion.red_relay": "Red Anti-Matter Relay [MK 3]", - "block.projectexpansion.magenta_relay": "Magenta Anti-Matter Relay [MK 4]", - "block.projectexpansion.pink_relay": "Pink Anti-Matter Relay [MK 5]", - "block.projectexpansion.purple_relay": "Purple Anti-Matter Relay [MK 6]", - "block.projectexpansion.violet_relay": "Violet Anti-Matter Relay [MK 7]", - "block.projectexpansion.blue_relay": "Blue Anti-Matter Relay [MK 8]", - "block.projectexpansion.cyan_relay": "Cyan Anti-Matter Relay [MK 9]", + "block.projectexpansion.collector.tooltip": "Generates EMC once per second.", + "block.projectexpansion.collector.emc": "Produced EMC: %s/s", + "block.projectexpansion.basic_collector": "Basic Energy Collector [MK 1]", + "block.projectexpansion.dark_collector": "Dark Energy Collector [MK 2]", + "block.projectexpansion.red_collector": "Red Energy Collector [MK 3]", + "block.projectexpansion.magenta_collector": "Magenta Energy Collector [MK 4]", + "block.projectexpansion.pink_collector": "Pink Energy Collector [MK 5]", + "block.projectexpansion.purple_collector": "Purple Energy Collector [MK 6]", + "block.projectexpansion.violet_collector": "Violet Energy Collector [MK 7]", + "block.projectexpansion.blue_collector": "Blue Energy Collector [MK 8]", + "block.projectexpansion.cyan_collector": "Cyan Energy Collector [MK 9]", + "block.projectexpansion.green_collector": "Green Energy Collector [MK 10]", + "block.projectexpansion.lime_collector": "Lime Energy Collector [MK 11]", + "block.projectexpansion.yellow_collector": "Yellow Energy Collector [MK 12]", + "block.projectexpansion.orange_collector": "Orange Energy Collector [MK 13]", + "block.projectexpansion.white_collector": "White Energy Collector [MK 14]", + "block.projectexpansion.fading_collector": "Fading Energy Collector [MK 15]", + "block.projectexpansion.final_collector": "Final Energy Collector [MK 16]", + "block.projectexpansion.emc_link.tooltip": "Imports both emc & items, and exports items.", + "block.projectexpansion.emc_link.limit_items": "Import/Export Limit: %s/s", + "block.projectexpansion.emc_link.limit_emc": "EMC Limit: %s/s", + "block.projectexpansion.emc_link.not_owner": "You do not own this, %s does.", + "block.projectexpansion.emc_link.not_set": "An export item has not been set.", + "block.projectexpansion.emc_link.already_set": "An export item has already been set, clear the current export first.", + "block.projectexpansion.emc_link.empty_hand": "Empty your hand to retrieve items.", + "block.projectexpansion.emc_link.cleared": "Export item has been cleared.", + "block.projectexpansion.emc_link.not_enough_emc": "You do not have enough emc to purchase this, you need %s.", + "block.projectexpansion.emc_link.set": "Export item has been set to %s.", + "block.projectexpansion.basic_emc_link": "Basic EMC Link [MK 1]", + "block.projectexpansion.dark_emc_link": "Dark EMC Link [MK 2]", + "block.projectexpansion.red_emc_link": "Red EMC Link [MK 3]", + "block.projectexpansion.magenta_emc_link": "Magenta EMC Link [MK 4]", + "block.projectexpansion.pink_emc_link": "Pink EMC Link [MK 5]", + "block.projectexpansion.purple_emc_link": "Purple EMC Link [MK 6]", + "block.projectexpansion.violet_emc_link": "Violet EMC Link [MK 7]", + "block.projectexpansion.blue_emc_link": "Blue EMC Link [MK 8]", + "block.projectexpansion.cyan_emc_link": "Cyan EMC Link [MK 9]", + "block.projectexpansion.green_emc_link": "Green EMC Link [MK 10]", + "block.projectexpansion.lime_emc_link": "Lime EMC Link [MK 11]", + "block.projectexpansion.yellow_emc_link": "Yellow EMC Link [MK 12]", + "block.projectexpansion.orange_emc_link": "Orange EMC Link [MK 13]", + "block.projectexpansion.white_emc_link": "White EMC Link [MK 14]", + "block.projectexpansion.fading_emc_link": "Fading EMC Link [MK 15]", + "block.projectexpansion.final_emc_link": "Final EMC Link [MK 16]", + "block.projectexpansion.magenta_fuel_block": "Magenta Fuel Block", + "block.projectexpansion.pink_fuel_block": "Pink Fuel Block", + "block.projectexpansion.purple_fuel_block": "Purple Fuel Block", + "block.projectexpansion.violet_fuel_block": "Violet Fuel Block", + "block.projectexpansion.blue_fuel_block": "Blue Fuel Block", + "block.projectexpansion.cyan_fuel_block": "Cyan Fuel Block", + "block.projectexpansion.green_fuel_block": "Green Fuel Block", + "block.projectexpansion.lime_fuel_block": "Lime Fuel Block", + "block.projectexpansion.yellow_fuel_block": "Yellow Fuel Block", + "block.projectexpansion.orange_fuel_block": "Orange Fuel Block", + "block.projectexpansion.white_fuel_block": "White Fuel Block", + "block.projectexpansion.arcane_table": "Arcane Table", + "block.projectexpansion.transmutation_interface": "Transmutation Interface", + "block.projectexpansion.transmutation_interface.tooltip": "This can be used with compatible mods like Refined Storage to access your transmutation inventory.", + "block.projectexpansion.power_flower.tooltip": "Generates EMC once per %s tick%s. (20/second)", + "block.projectexpansion.power_flower.emc": "Produced EMC: %s/s", + "block.projectexpansion.basic_power_flower": "Basic Power Flower [MK 1]", + "block.projectexpansion.dark_power_flower": "Dark Power Flower [MK 2]", + "block.projectexpansion.red_power_flower": "Red Power Flower [MK 3]", + "block.projectexpansion.magenta_power_flower": "Magenta Power Flower [MK 4]", + "block.projectexpansion.pink_power_flower": "Pink Power Flower [MK 5]", + "block.projectexpansion.purple_power_flower": "Purple Power Flower [MK 6]", + "block.projectexpansion.violet_power_flower": "Violet Power Flower [MK 7]", + "block.projectexpansion.blue_power_flower": "Blue Power Flower [MK 8]", + "block.projectexpansion.cyan_power_flower": "Cyan Power Flower [MK 9]", + "block.projectexpansion.green_power_flower": "Green Power Flower [MK 10]", + "block.projectexpansion.lime_power_flower": "Lime Power Flower [MK 11]", + "block.projectexpansion.yellow_power_flower": "Yellow Power Flower [MK 12]", + "block.projectexpansion.orange_power_flower": "Orange Power Flower [MK 13]", + "block.projectexpansion.white_power_flower": "White Power Flower [MK 14]", + "block.projectexpansion.fading_power_flower": "Fading Power Flower [MK 15]", + "block.projectexpansion.final_power_flower": "Final Power Flower [MK 16]", + "block.projectexpansion.relay.tooltip": "Transfers EMC once per second.", + "block.projectexpansion.relay.bonus": "Relay Bonus: %s/s", + "block.projectexpansion.relay.transfer": "Max EMC Transfer: %s/s", + "block.projectexpansion.basic_relay": "Basic Anti-Matter Relay [MK 1]", + "block.projectexpansion.dark_relay": "Dark Anti-Matter Relay [MK 2]", + "block.projectexpansion.red_relay": "Red Anti-Matter Relay [MK 3]", + "block.projectexpansion.magenta_relay": "Magenta Anti-Matter Relay [MK 4]", + "block.projectexpansion.pink_relay": "Pink Anti-Matter Relay [MK 5]", + "block.projectexpansion.purple_relay": "Purple Anti-Matter Relay [MK 6]", + "block.projectexpansion.violet_relay": "Violet Anti-Matter Relay [MK 7]", + "block.projectexpansion.blue_relay": "Blue Anti-Matter Relay [MK 8]", + "block.projectexpansion.cyan_relay": "Cyan Anti-Matter Relay [MK 9]", "block.projectexpansion.green_relay": "Green Anti-Matter Relay [MK 10]", "block.projectexpansion.lime_relay": "Lime Anti-Matter Relay [MK 11]", "block.projectexpansion.yellow_relay": "Yellow Anti-Matter Relay [MK 12]", "block.projectexpansion.orange_relay": "Orange Anti-Matter Relay [MK 13]", "block.projectexpansion.white_relay": "White Anti-Matter Relay [MK 14]", - "block.projectexpansion.fading_relay": "Fading Anti-Matter Relay [MK 15]", - "block.projectexpansion.final_relay": "Final Anti-Matter Relay [MK 16]", - "command.projectexpansion.console": "Console", - "command.projectexpansion.emc.add.success": "Successfully added %s emc to %s, they now have %s", - "command.projectexpansion.emc.add.successSelf": "Successfully added %s to your emc, you now have %s", - "command.projectexpansion.emc.add.notification": "You were given %s emc by %s, you now have %s", - "command.projectexpansion.emc.remove.success": "Successfully removed %s emc from %s, they now have %s", - "command.projectexpansion.emc.remove.successSelf": "Successfully removed %s fro your emc, you now have %s", - "command.projectexpansion.emc.remove.notification": "%s emc was removed from you by %s, you now have %s", - "command.projectexpansion.emc.set.success": "Successfully set the emc of %s to %s", - "command.projectexpansion.emc.set.successSelf": "Successfully set your emc to %s", - "command.projectexpansion.emc.set.notification": "Your emc was set to %s by %s", - "command.projectexpansion.emc.get.successSelf": "You have %s emc", - "command.projectexpansion.emc.get.success": "%s has %s emc", - "command.projectexpansion.emc.clearKnowledge.success": "Successfully cleared the knowledge of %s", - "command.projectexpansion.emc.clearKnowledge.successSelf": "Successfully cleared your knowledge", - "command.projectexpansion.emc.clearKnowledge.notification": "Your knowldge was cleared by %s", - "gui.projectexpansion.config.title": "Project Expansion Config", - "gui.projectexpansion.config.tick_delay": "Tick Delay", - "gui.projectexpansion.config.tick_delay.desc": "The delay between mod operations (in ticks, default 20) - this will slightly effect the amount of emc generated via rounding - increase if you're noticing lag", - "gui.projectexpansion.config.format_emc": "Format EMC", - "gui.projectexpansion.config.format_emc.desc": "If EMC should be formatted as M/B/T/etc", - "gui.projectexpansion.config.full_number_names": "Full Number Names", - "gui.projectexpansion.config.full_number_names.desc": "If full number names (Million/Billion/Trillion) should be used instead of abbreviations", - "gui.projectexpansion.config.emc_display": "EMC Display", - "gui.projectexpansion.config.emc_display.desc": "Displays your current emc and gained emc per second in the top left corner.", - "gui.projectexpansion.config.powerflower_multiplier": "Power Flower Multiplier", - "gui.projectexpansion.config.powerflower_multiplier.desc": "Multiplies the output of Power Flowers.", - "gui.projectexpansion.config.notify_emc_changes": "Notify EMC Changes", - "gui.projectexpansion.config.notify_emc_changes.desc": "Notify users when their emc is changed via /emc add|remove|set", - "gui.projectexpansion.emc_link": "Personal Link", - "gui.projectexpansion.emc_gain": "EMC Gain", - "item.projectexpansion.compressed_collector.tooltip": "Crafting Ingredient", - "item.projectexpansion.basic_compressed_collector": "Basic Compressed Energy Collector [MK 1]", - "item.projectexpansion.dark_compressed_collector": "Dark Compressed Energy Collector [MK 2]", - "item.projectexpansion.red_compressed_collector": "Red Compressed Energy Collector [MK 3]", - "item.projectexpansion.magenta_compressed_collector": "Magenta Compressed Energy Collector [MK 4]", - "item.projectexpansion.pink_compressed_collector": "Pink Compressed Energy Collector [MK 5]", - "item.projectexpansion.purple_compressed_collector": "Purple Compressed Energy Collector [MK 6]", - "item.projectexpansion.violet_compressed_collector": "Violet Compressed Energy Collector [MK 7]", - "item.projectexpansion.blue_compressed_collector": "Blue Compressed Energy Collector [MK 8]", - "item.projectexpansion.cyan_compressed_collector": "Cyan Compressed Energy Collector [MK 9]", - "item.projectexpansion.green_compressed_collector": "Green Compressed Energy Collector [MK 10]", - "item.projectexpansion.lime_compressed_collector": "Lime Compressed Energy Collector [MK 11]", - "item.projectexpansion.yellow_compressed_collector": "Yellow Compressed Energy Collector [MK 12]", - "item.projectexpansion.orange_compressed_collector": "Orange Compressed Energy Collector [MK 13]", - "item.projectexpansion.white_compressed_collector": "White Compressed Energy Collector [MK 14]", - "item.projectexpansion.fading_compressed_collector": "Fading Compressed Energy Collector [MK 15]", - "item.projectexpansion.final_compressed_collector": "Final Compressed Energy Collector [MK 16]", - "item.projectexpansion.magenta_fuel": "Magenta Fuel", - "item.projectexpansion.pink_fuel": "Pink Fuel", - "item.projectexpansion.purple_fuel": "Purple Fuel", - "item.projectexpansion.violet_fuel": "Violet Fuel", - "item.projectexpansion.blue_fuel": "Blue Fuel", - "item.projectexpansion.cyan_fuel": "Cyan Fuel", - "item.projectexpansion.green_fuel": "Green Fuel", - "item.projectexpansion.lime_fuel": "Lime Fuel", - "item.projectexpansion.yellow_fuel": "Yellow Fuel", - "item.projectexpansion.orange_fuel": "Orange Fuel", - "item.projectexpansion.white_fuel": "White Fuel", - "item.projectexpansion.magenta_matter": "Magenta Matter", + "block.projectexpansion.fading_relay": "Fading Anti-Matter Relay [MK 15]", + "block.projectexpansion.final_relay": "Final Anti-Matter Relay [MK 16]", + "command.projectexpansion.console": "Console", + "command.projectexpansion.emc.add.success": "Successfully added %s emc to %s, they now have %s", + "command.projectexpansion.emc.add.successSelf": "Successfully added %s to your emc, you now have %s", + "command.projectexpansion.emc.add.notification": "You were given %s emc by %s, you now have %s", + "command.projectexpansion.emc.remove.success": "Successfully removed %s emc from %s, they now have %s", + "command.projectexpansion.emc.remove.successSelf": "Successfully removed %s fro your emc, you now have %s", + "command.projectexpansion.emc.remove.notification": "%s emc was removed from you by %s, you now have %s", + "command.projectexpansion.emc.set.success": "Successfully set the emc of %s to %s", + "command.projectexpansion.emc.set.successSelf": "Successfully set your emc to %s", + "command.projectexpansion.emc.set.notification": "Your emc was set to %s by %s", + "command.projectexpansion.emc.get.successSelf": "You have %s emc", + "command.projectexpansion.emc.get.success": "%s has %s emc", + "command.projectexpansion.emc.clearKnowledge.success": "Successfully cleared the knowledge of %s", + "command.projectexpansion.emc.clearKnowledge.successSelf": "Successfully cleared your knowledge", + "command.projectexpansion.emc.clearKnowledge.notification": "Your knowldge was cleared by %s", + "gui.projectexpansion.config.title": "Project Expansion Config", + "gui.projectexpansion.config.tick_delay": "Tick Delay", + "gui.projectexpansion.config.tick_delay.desc": "The delay between mod operations (in ticks, default 20) - this will slightly effect the amount of emc generated via rounding - increase if you're noticing lag", + "gui.projectexpansion.config.format_emc": "Format EMC", + "gui.projectexpansion.config.format_emc.desc": "If EMC should be formatted as M/B/T/etc", + "gui.projectexpansion.config.full_number_names": "Full Number Names", + "gui.projectexpansion.config.full_number_names.desc": "If full number names (Million/Billion/Trillion) should be used instead of abbreviations", + "gui.projectexpansion.config.emc_display": "EMC Display", + "gui.projectexpansion.config.emc_display.desc": "Displays your current emc and gained emc per second in the top left corner.", + "gui.projectexpansion.config.powerflower_multiplier": "Power Flower Multiplier", + "gui.projectexpansion.config.powerflower_multiplier.desc": "Multiplies the output of Power Flowers.", + "gui.projectexpansion.config.notify_emc_changes": "Notify EMC Changes", + "gui.projectexpansion.config.notify_emc_changes.desc": "Notify users when their emc is changed via /emc add|remove|set", + "gui.projectexpansion.emc_link": "Personal Link", + "gui.projectexpansion.emc_gain": "EMC Gain", + "item.projectexpansion.compressed_collector.tooltip": "Crafting Ingredient", + "item.projectexpansion.basic_compressed_collector": "Basic Compressed Energy Collector [MK 1]", + "item.projectexpansion.dark_compressed_collector": "Dark Compressed Energy Collector [MK 2]", + "item.projectexpansion.red_compressed_collector": "Red Compressed Energy Collector [MK 3]", + "item.projectexpansion.magenta_compressed_collector": "Magenta Compressed Energy Collector [MK 4]", + "item.projectexpansion.pink_compressed_collector": "Pink Compressed Energy Collector [MK 5]", + "item.projectexpansion.purple_compressed_collector": "Purple Compressed Energy Collector [MK 6]", + "item.projectexpansion.violet_compressed_collector": "Violet Compressed Energy Collector [MK 7]", + "item.projectexpansion.blue_compressed_collector": "Blue Compressed Energy Collector [MK 8]", + "item.projectexpansion.cyan_compressed_collector": "Cyan Compressed Energy Collector [MK 9]", + "item.projectexpansion.green_compressed_collector": "Green Compressed Energy Collector [MK 10]", + "item.projectexpansion.lime_compressed_collector": "Lime Compressed Energy Collector [MK 11]", + "item.projectexpansion.yellow_compressed_collector": "Yellow Compressed Energy Collector [MK 12]", + "item.projectexpansion.orange_compressed_collector": "Orange Compressed Energy Collector [MK 13]", + "item.projectexpansion.white_compressed_collector": "White Compressed Energy Collector [MK 14]", + "item.projectexpansion.fading_compressed_collector": "Fading Compressed Energy Collector [MK 15]", + "item.projectexpansion.final_compressed_collector": "Final Compressed Energy Collector [MK 16]", + "item.projectexpansion.magenta_fuel": "Magenta Fuel", + "item.projectexpansion.pink_fuel": "Pink Fuel", + "item.projectexpansion.purple_fuel": "Purple Fuel", + "item.projectexpansion.violet_fuel": "Violet Fuel", + "item.projectexpansion.blue_fuel": "Blue Fuel", + "item.projectexpansion.cyan_fuel": "Cyan Fuel", + "item.projectexpansion.green_fuel": "Green Fuel", + "item.projectexpansion.lime_fuel": "Lime Fuel", + "item.projectexpansion.yellow_fuel": "Yellow Fuel", + "item.projectexpansion.orange_fuel": "Orange Fuel", + "item.projectexpansion.white_fuel": "White Fuel", + "item.projectexpansion.magenta_matter": "Magenta Matter", "item.projectexpansion.pink_matter": "Pink Matter", "item.projectexpansion.purple_matter": "Purple Matter", "item.projectexpansion.violet_matter": "Violet Matter", "item.projectexpansion.blue_matter": "Blue Matter", "item.projectexpansion.cyan_matter": "Cyan Matter", - "item.projectexpansion.green_matter": "Green Matter", - "item.projectexpansion.lime_matter": "Lime Matter", - "item.projectexpansion.yellow_matter": "Yellow Matter", - "item.projectexpansion.orange_matter": "Orange Matter", - "item.projectexpansion.white_matter": "White Matter", - "item.projectexpansion.fading_matter": "Fading Matter", - "item.projectexpansion.matter_upgrader.tooltip": "Upgrades collectors, power flowers, and relays in-place.", - "item.projectexpansion.matter_upgrader.tooltip2": "You must have learned the next tier, and have the difference in emc available to upgrade.", - "item.projectexpansion.matter_upgrader.tooltip_creative": "The above restriction does not apply if you are in creative.", - "item.projectexpansion.matter_upgrader": "Matter Upgrader", - "item.projectexpansion.matter_upgrader.not_owner": "You do not own this.", - "item.projectexpansion.matter_upgrader.max_upgrade": "This block has been maxed out.", - "item.projectexpansion.matter_upgrader.not_learned": "You must learn \"%s\" before upgrading to it.", - "item.projectexpansion.matter_upgrader.not_enough_emc": "You do not have enough emc, you need %s.", - "item.projectexpansion.matter_upgrader.done": "Upgrade done, %s emc has been used.", - "item.projectexpansion.matter_upgrader.done_creative": "Upgrade done, no emc has been used.", - "item.projectexpansion.arcane_tablet": "Arcane Tablet", - "item.projectexpansion.final_star_shard": "Final Star Shard", - "item.projectexpansion.final_star": "Final Star", - "item.projectexpansion.final_star.tooltip": "This does nothing, it exists to show off.", - "item.projectexpansion.infinite_fuel": "Infinite Fuel", - "item.projectexpansion.infinite_fuel.tooltip": "This item will not be consumed, fuel will be provided via your emc.", - "item.projectexpansion.infinite_fuel.not_enough_emc": "You do not have enough emc to use this, you need %s.", - "item.projectexpansion.infinite_steak": "Infinite Steak", - "item.projectexpansion.infinite_steak.tooltip": "Infinite food via your emc.", - "item.projectexpansion.infinite_steak.not_enough_emc": "You do not have enough emc to use this, you need %s.", - "item.projectexpansion.magnum_star_ein": "Magnum Star Ein", - "item.projectexpansion.magnum_star_zwei": "Magnum Star Zwei", - "item.projectexpansion.magnum_star_drei": "Magnum Star Drei", - "item.projectexpansion.magnum_star_vier": "Magnum Star Vier", - "item.projectexpansion.magnum_star_sphere": "Magnum Star Sphere", - "item.projectexpansion.magnum_star_omega": "Magnum Star Omega", - "item.projectexpansion.colossal_star_ein": "Colossal Star Ein", - "item.projectexpansion.colossal_star_zwei": "Colossal Star Zwei", - "item.projectexpansion.colossal_star_drei": "Colossal Star Drei", - "item.projectexpansion.colossal_star_vier": "Colossal Star Vier", - "item.projectexpansion.colossal_star_sphere": "Colossal Star Sphere", - "item.projectexpansion.colossal_star_omega": "Colossal Star Omega", - "itemGroup.projectexpansion": "Project Expansion", - "text.projectexpansion.wip": "WIP!", - "text.projectexpansion.provider_error": "Failed to fetch ProjectE provider." + "item.projectexpansion.green_matter": "Green Matter", + "item.projectexpansion.lime_matter": "Lime Matter", + "item.projectexpansion.yellow_matter": "Yellow Matter", + "item.projectexpansion.orange_matter": "Orange Matter", + "item.projectexpansion.white_matter": "White Matter", + "item.projectexpansion.fading_matter": "Fading Matter", + "item.projectexpansion.matter_upgrader.tooltip": "Upgrades collectors, power flowers, and relays in-place.", + "item.projectexpansion.matter_upgrader.tooltip2": "You must have learned the next tier, and have the difference in emc available to upgrade.", + "item.projectexpansion.matter_upgrader.tooltip_creative": "The above restriction does not apply if you are in creative.", + "item.projectexpansion.matter_upgrader": "Matter Upgrader", + "item.projectexpansion.matter_upgrader.not_owner": "You do not own this.", + "item.projectexpansion.matter_upgrader.max_upgrade": "This block has been maxed out.", + "item.projectexpansion.matter_upgrader.not_learned": "You must learn \"%s\" before upgrading to it.", + "item.projectexpansion.matter_upgrader.not_enough_emc": "You do not have enough emc, you need %s.", + "item.projectexpansion.matter_upgrader.done": "Upgrade done, %s emc has been used.", + "item.projectexpansion.matter_upgrader.done_creative": "Upgrade done, no emc has been used.", + "item.projectexpansion.arcane_tablet": "Arcane Tablet", + "item.projectexpansion.final_star_shard": "Final Star Shard", + "item.projectexpansion.final_star": "Final Star", + "item.projectexpansion.final_star.tooltip": "This does nothing, it exists to show off.", + "item.projectexpansion.infinite_fuel": "Infinite Fuel", + "item.projectexpansion.infinite_fuel.tooltip": "This item will not be consumed, fuel will be provided via your emc.", + "item.projectexpansion.infinite_fuel.not_enough_emc": "You do not have enough emc to use this, you need %s.", + "item.projectexpansion.infinite_steak": "Infinite Steak", + "item.projectexpansion.infinite_steak.tooltip": "Infinite food via your emc.", + "item.projectexpansion.infinite_steak.not_enough_emc": "You do not have enough emc to use this, you need %s.", + "item.projectexpansion.magnum_star_ein": "Magnum Star Ein", + "item.projectexpansion.magnum_star_zwei": "Magnum Star Zwei", + "item.projectexpansion.magnum_star_drei": "Magnum Star Drei", + "item.projectexpansion.magnum_star_vier": "Magnum Star Vier", + "item.projectexpansion.magnum_star_sphere": "Magnum Star Sphere", + "item.projectexpansion.magnum_star_omega": "Magnum Star Omega", + "item.projectexpansion.colossal_star_ein": "Colossal Star Ein", + "item.projectexpansion.colossal_star_zwei": "Colossal Star Zwei", + "item.projectexpansion.colossal_star_drei": "Colossal Star Drei", + "item.projectexpansion.colossal_star_vier": "Colossal Star Vier", + "item.projectexpansion.colossal_star_sphere": "Colossal Star Sphere", + "item.projectexpansion.colossal_star_omega": "Colossal Star Omega", + "itemGroup.projectexpansion": "Project Expansion", + "text.projectexpansion.wip": "WIP!", + "text.projectexpansion.provider_error": "Failed to fetch ProjectE provider." } \ No newline at end of file diff --git a/src/main/resources/assets/projectexpansion/models/block/emc_import.json b/src/main/resources/assets/projectexpansion/models/block/emc_import.json deleted file mode 100644 index c8e60b03..00000000 --- a/src/main/resources/assets/projectexpansion/models/block/emc_import.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "parent": "minecraft:block/cube_all", - "textures": { - "all": "projectexpansion:block/emc_import" - } -} \ No newline at end of file diff --git a/src/main/resources/assets/projectexpansion/models/block/emc_link/basic.json b/src/main/resources/assets/projectexpansion/models/block/emc_link/basic.json new file mode 100644 index 00000000..5f7f0291 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/block/emc_link/basic.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "projectexpansion:block/emc_link/basic" + } +} diff --git a/src/main/generation/generators/block/single/emc_import.json b/src/main/resources/assets/projectexpansion/models/block/emc_link/blue.json similarity index 54% rename from src/main/generation/generators/block/single/emc_import.json rename to src/main/resources/assets/projectexpansion/models/block/emc_link/blue.json index c8e60b03..95a7e2f2 100644 --- a/src/main/generation/generators/block/single/emc_import.json +++ b/src/main/resources/assets/projectexpansion/models/block/emc_link/blue.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/cube_all", "textures": { - "all": "projectexpansion:block/emc_import" + "all": "projectexpansion:block/emc_link/blue" } -} \ No newline at end of file +} diff --git a/src/main/generation/generators/block/single/emc_link.json b/src/main/resources/assets/projectexpansion/models/block/emc_link/cyan.json similarity index 54% rename from src/main/generation/generators/block/single/emc_link.json rename to src/main/resources/assets/projectexpansion/models/block/emc_link/cyan.json index 9e161952..b5d99643 100644 --- a/src/main/generation/generators/block/single/emc_link.json +++ b/src/main/resources/assets/projectexpansion/models/block/emc_link/cyan.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/cube_all", "textures": { - "all": "projectexpansion:block/emc_link" + "all": "projectexpansion:block/emc_link/cyan" } -} \ No newline at end of file +} diff --git a/src/main/resources/assets/projectexpansion/models/block/emc_export.json b/src/main/resources/assets/projectexpansion/models/block/emc_link/dark.json similarity index 54% rename from src/main/resources/assets/projectexpansion/models/block/emc_export.json rename to src/main/resources/assets/projectexpansion/models/block/emc_link/dark.json index 9e6d469d..dba42cf6 100644 --- a/src/main/resources/assets/projectexpansion/models/block/emc_export.json +++ b/src/main/resources/assets/projectexpansion/models/block/emc_link/dark.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/cube_all", "textures": { - "all": "projectexpansion:block/emc_export" + "all": "projectexpansion:block/emc_link/dark" } -} \ No newline at end of file +} diff --git a/src/main/resources/assets/projectexpansion/models/block/emc_link/fading.json b/src/main/resources/assets/projectexpansion/models/block/emc_link/fading.json new file mode 100644 index 00000000..3bfeb818 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/block/emc_link/fading.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "projectexpansion:block/emc_link/fading" + } +} diff --git a/src/main/resources/assets/projectexpansion/models/block/emc_link/final.json b/src/main/resources/assets/projectexpansion/models/block/emc_link/final.json new file mode 100644 index 00000000..8cb9fc5f --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/block/emc_link/final.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "projectexpansion:block/emc_link/final" + } +} diff --git a/src/main/resources/assets/projectexpansion/models/block/emc_link/green.json b/src/main/resources/assets/projectexpansion/models/block/emc_link/green.json new file mode 100644 index 00000000..bf0450a3 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/block/emc_link/green.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "projectexpansion:block/emc_link/green" + } +} diff --git a/src/main/resources/assets/projectexpansion/models/block/emc_link/lime.json b/src/main/resources/assets/projectexpansion/models/block/emc_link/lime.json new file mode 100644 index 00000000..6b6e3057 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/block/emc_link/lime.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "projectexpansion:block/emc_link/lime" + } +} diff --git a/src/main/resources/assets/projectexpansion/models/block/emc_link/magenta.json b/src/main/resources/assets/projectexpansion/models/block/emc_link/magenta.json new file mode 100644 index 00000000..6f0e1546 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/block/emc_link/magenta.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "projectexpansion:block/emc_link/magenta" + } +} diff --git a/src/main/resources/assets/projectexpansion/models/block/emc_link/orange.json b/src/main/resources/assets/projectexpansion/models/block/emc_link/orange.json new file mode 100644 index 00000000..4f9dd73d --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/block/emc_link/orange.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "projectexpansion:block/emc_link/orange" + } +} diff --git a/src/main/resources/assets/projectexpansion/models/block/emc_link/pink.json b/src/main/resources/assets/projectexpansion/models/block/emc_link/pink.json new file mode 100644 index 00000000..69bc9c08 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/block/emc_link/pink.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "projectexpansion:block/emc_link/pink" + } +} diff --git a/src/main/resources/assets/projectexpansion/models/block/emc_link/purple.json b/src/main/resources/assets/projectexpansion/models/block/emc_link/purple.json new file mode 100644 index 00000000..75609ee9 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/block/emc_link/purple.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "projectexpansion:block/emc_link/purple" + } +} diff --git a/src/main/generation/generators/block/single/emc_export.json b/src/main/resources/assets/projectexpansion/models/block/emc_link/red.json similarity index 54% rename from src/main/generation/generators/block/single/emc_export.json rename to src/main/resources/assets/projectexpansion/models/block/emc_link/red.json index 9e6d469d..25153446 100644 --- a/src/main/generation/generators/block/single/emc_export.json +++ b/src/main/resources/assets/projectexpansion/models/block/emc_link/red.json @@ -1,6 +1,6 @@ { "parent": "minecraft:block/cube_all", "textures": { - "all": "projectexpansion:block/emc_export" + "all": "projectexpansion:block/emc_link/red" } -} \ No newline at end of file +} diff --git a/src/main/resources/assets/projectexpansion/models/block/emc_link/violet.json b/src/main/resources/assets/projectexpansion/models/block/emc_link/violet.json new file mode 100644 index 00000000..b079935c --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/block/emc_link/violet.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "projectexpansion:block/emc_link/violet" + } +} diff --git a/src/main/resources/assets/projectexpansion/models/block/emc_link/white.json b/src/main/resources/assets/projectexpansion/models/block/emc_link/white.json new file mode 100644 index 00000000..835de8b1 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/block/emc_link/white.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "projectexpansion:block/emc_link/white" + } +} diff --git a/src/main/resources/assets/projectexpansion/models/block/emc_link/yellow.json b/src/main/resources/assets/projectexpansion/models/block/emc_link/yellow.json new file mode 100644 index 00000000..75377485 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/block/emc_link/yellow.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "projectexpansion:block/emc_link/yellow" + } +} diff --git a/src/main/resources/assets/projectexpansion/models/item/basic_emc_link.json b/src/main/resources/assets/projectexpansion/models/item/basic_emc_link.json new file mode 100644 index 00000000..bef47f5e --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/item/basic_emc_link.json @@ -0,0 +1,3 @@ +{ + "parent": "projectexpansion:block/emc_link/basic" +} diff --git a/src/main/resources/assets/projectexpansion/models/item/blue_emc_link.json b/src/main/resources/assets/projectexpansion/models/item/blue_emc_link.json new file mode 100644 index 00000000..24a551b3 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/item/blue_emc_link.json @@ -0,0 +1,3 @@ +{ + "parent": "projectexpansion:block/emc_link/blue" +} diff --git a/src/main/resources/assets/projectexpansion/models/item/cyan_emc_link.json b/src/main/resources/assets/projectexpansion/models/item/cyan_emc_link.json new file mode 100644 index 00000000..cc7224d7 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/item/cyan_emc_link.json @@ -0,0 +1,3 @@ +{ + "parent": "projectexpansion:block/emc_link/cyan" +} diff --git a/src/main/resources/assets/projectexpansion/models/item/dark_emc_link.json b/src/main/resources/assets/projectexpansion/models/item/dark_emc_link.json new file mode 100644 index 00000000..3ebe2ce8 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/item/dark_emc_link.json @@ -0,0 +1,3 @@ +{ + "parent": "projectexpansion:block/emc_link/dark" +} diff --git a/src/main/resources/assets/projectexpansion/models/item/emc_export.json b/src/main/resources/assets/projectexpansion/models/item/emc_export.json deleted file mode 100644 index 78db62ef..00000000 --- a/src/main/resources/assets/projectexpansion/models/item/emc_export.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "projectexpansion:block/emc_export" -} \ No newline at end of file diff --git a/src/main/resources/assets/projectexpansion/models/item/emc_import.json b/src/main/resources/assets/projectexpansion/models/item/emc_import.json deleted file mode 100644 index 3ca4fdcf..00000000 --- a/src/main/resources/assets/projectexpansion/models/item/emc_import.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "projectexpansion:block/emc_import" -} \ No newline at end of file diff --git a/src/main/resources/assets/projectexpansion/models/item/emc_link.json b/src/main/resources/assets/projectexpansion/models/item/emc_link.json deleted file mode 100644 index 9ed0bd5a..00000000 --- a/src/main/resources/assets/projectexpansion/models/item/emc_link.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "parent": "projectexpansion:block/emc_link" -} \ No newline at end of file diff --git a/src/main/resources/assets/projectexpansion/models/item/fading_emc_link.json b/src/main/resources/assets/projectexpansion/models/item/fading_emc_link.json new file mode 100644 index 00000000..1e9853b1 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/item/fading_emc_link.json @@ -0,0 +1,3 @@ +{ + "parent": "projectexpansion:block/emc_link/fading" +} diff --git a/src/main/resources/assets/projectexpansion/models/item/final_emc_link.json b/src/main/resources/assets/projectexpansion/models/item/final_emc_link.json new file mode 100644 index 00000000..7459ac70 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/item/final_emc_link.json @@ -0,0 +1,3 @@ +{ + "parent": "projectexpansion:block/emc_link/final" +} diff --git a/src/main/resources/assets/projectexpansion/models/item/green_emc_link.json b/src/main/resources/assets/projectexpansion/models/item/green_emc_link.json new file mode 100644 index 00000000..a1fff537 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/item/green_emc_link.json @@ -0,0 +1,3 @@ +{ + "parent": "projectexpansion:block/emc_link/green" +} diff --git a/src/main/resources/assets/projectexpansion/models/item/lime_emc_link.json b/src/main/resources/assets/projectexpansion/models/item/lime_emc_link.json new file mode 100644 index 00000000..773927c1 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/item/lime_emc_link.json @@ -0,0 +1,3 @@ +{ + "parent": "projectexpansion:block/emc_link/lime" +} diff --git a/src/main/resources/assets/projectexpansion/models/item/magenta_emc_link.json b/src/main/resources/assets/projectexpansion/models/item/magenta_emc_link.json new file mode 100644 index 00000000..af1af29b --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/item/magenta_emc_link.json @@ -0,0 +1,3 @@ +{ + "parent": "projectexpansion:block/emc_link/magenta" +} diff --git a/src/main/resources/assets/projectexpansion/models/item/orange_emc_link.json b/src/main/resources/assets/projectexpansion/models/item/orange_emc_link.json new file mode 100644 index 00000000..5f5fa39c --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/item/orange_emc_link.json @@ -0,0 +1,3 @@ +{ + "parent": "projectexpansion:block/emc_link/orange" +} diff --git a/src/main/resources/assets/projectexpansion/models/item/pink_emc_link.json b/src/main/resources/assets/projectexpansion/models/item/pink_emc_link.json new file mode 100644 index 00000000..0b0b9586 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/item/pink_emc_link.json @@ -0,0 +1,3 @@ +{ + "parent": "projectexpansion:block/emc_link/pink" +} diff --git a/src/main/resources/assets/projectexpansion/models/item/purple_emc_link.json b/src/main/resources/assets/projectexpansion/models/item/purple_emc_link.json new file mode 100644 index 00000000..b0299d91 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/item/purple_emc_link.json @@ -0,0 +1,3 @@ +{ + "parent": "projectexpansion:block/emc_link/purple" +} diff --git a/src/main/resources/assets/projectexpansion/models/item/red_emc_link.json b/src/main/resources/assets/projectexpansion/models/item/red_emc_link.json new file mode 100644 index 00000000..1e17a7e4 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/item/red_emc_link.json @@ -0,0 +1,3 @@ +{ + "parent": "projectexpansion:block/emc_link/red" +} diff --git a/src/main/resources/assets/projectexpansion/models/item/violet_emc_link.json b/src/main/resources/assets/projectexpansion/models/item/violet_emc_link.json new file mode 100644 index 00000000..928fa84e --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/item/violet_emc_link.json @@ -0,0 +1,3 @@ +{ + "parent": "projectexpansion:block/emc_link/violet" +} diff --git a/src/main/resources/assets/projectexpansion/models/item/white_emc_link.json b/src/main/resources/assets/projectexpansion/models/item/white_emc_link.json new file mode 100644 index 00000000..427d633d --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/item/white_emc_link.json @@ -0,0 +1,3 @@ +{ + "parent": "projectexpansion:block/emc_link/white" +} diff --git a/src/main/resources/assets/projectexpansion/models/item/yellow_emc_link.json b/src/main/resources/assets/projectexpansion/models/item/yellow_emc_link.json new file mode 100644 index 00000000..48a1aee4 --- /dev/null +++ b/src/main/resources/assets/projectexpansion/models/item/yellow_emc_link.json @@ -0,0 +1,3 @@ +{ + "parent": "projectexpansion:block/emc_link/yellow" +} diff --git a/src/main/resources/data/projectexpansion/loot_tables/blocks/basic_emc_link.json b/src/main/resources/data/projectexpansion/loot_tables/blocks/basic_emc_link.json new file mode 100644 index 00000000..1e63efa0 --- /dev/null +++ b/src/main/resources/data/projectexpansion/loot_tables/blocks/basic_emc_link.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "projectexpansion:basic_emc_link" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/generation/generators/loot_tables/single/emc_import.json b/src/main/resources/data/projectexpansion/loot_tables/blocks/blue_emc_link.json similarity index 83% rename from src/main/generation/generators/loot_tables/single/emc_import.json rename to src/main/resources/data/projectexpansion/loot_tables/blocks/blue_emc_link.json index f63a7105..ce4da8d4 100644 --- a/src/main/generation/generators/loot_tables/single/emc_import.json +++ b/src/main/resources/data/projectexpansion/loot_tables/blocks/blue_emc_link.json @@ -6,7 +6,7 @@ "entries": [ { "type": "minecraft:item", - "name": "projectexpansion:emc_import" + "name": "projectexpansion:blue_emc_link" } ], "conditions": [ @@ -16,4 +16,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/src/main/generation/generators/loot_tables/single/emc_link.json b/src/main/resources/data/projectexpansion/loot_tables/blocks/cyan_emc_link.json similarity index 83% rename from src/main/generation/generators/loot_tables/single/emc_link.json rename to src/main/resources/data/projectexpansion/loot_tables/blocks/cyan_emc_link.json index dfe87b4c..d8b458cd 100644 --- a/src/main/generation/generators/loot_tables/single/emc_link.json +++ b/src/main/resources/data/projectexpansion/loot_tables/blocks/cyan_emc_link.json @@ -6,7 +6,7 @@ "entries": [ { "type": "minecraft:item", - "name": "projectexpansion:emc_link" + "name": "projectexpansion:cyan_emc_link" } ], "conditions": [ @@ -16,4 +16,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/src/main/resources/data/projectexpansion/loot_tables/blocks/emc_export.json b/src/main/resources/data/projectexpansion/loot_tables/blocks/dark_emc_link.json similarity index 83% rename from src/main/resources/data/projectexpansion/loot_tables/blocks/emc_export.json rename to src/main/resources/data/projectexpansion/loot_tables/blocks/dark_emc_link.json index a0257093..6de102aa 100644 --- a/src/main/resources/data/projectexpansion/loot_tables/blocks/emc_export.json +++ b/src/main/resources/data/projectexpansion/loot_tables/blocks/dark_emc_link.json @@ -6,7 +6,7 @@ "entries": [ { "type": "minecraft:item", - "name": "projectexpansion:emc_export" + "name": "projectexpansion:dark_emc_link" } ], "conditions": [ @@ -16,4 +16,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/src/main/resources/data/projectexpansion/loot_tables/blocks/emc_import.json b/src/main/resources/data/projectexpansion/loot_tables/blocks/emc_import.json deleted file mode 100644 index f63a7105..00000000 --- a/src/main/resources/data/projectexpansion/loot_tables/blocks/emc_import.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "type": "minecraft:block", - "pools": [ - { - "rolls": 1, - "entries": [ - { - "type": "minecraft:item", - "name": "projectexpansion:emc_import" - } - ], - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ] - } - ] -} \ No newline at end of file diff --git a/src/main/resources/data/projectexpansion/loot_tables/blocks/fading_emc_link.json b/src/main/resources/data/projectexpansion/loot_tables/blocks/fading_emc_link.json new file mode 100644 index 00000000..35d684f3 --- /dev/null +++ b/src/main/resources/data/projectexpansion/loot_tables/blocks/fading_emc_link.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "projectexpansion:fading_emc_link" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/projectexpansion/loot_tables/blocks/final_emc_link.json b/src/main/resources/data/projectexpansion/loot_tables/blocks/final_emc_link.json new file mode 100644 index 00000000..1f9cb5b9 --- /dev/null +++ b/src/main/resources/data/projectexpansion/loot_tables/blocks/final_emc_link.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "projectexpansion:final_emc_link" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/projectexpansion/loot_tables/blocks/green_emc_link.json b/src/main/resources/data/projectexpansion/loot_tables/blocks/green_emc_link.json new file mode 100644 index 00000000..5aab0995 --- /dev/null +++ b/src/main/resources/data/projectexpansion/loot_tables/blocks/green_emc_link.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "projectexpansion:green_emc_link" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/projectexpansion/loot_tables/blocks/lime_emc_link.json b/src/main/resources/data/projectexpansion/loot_tables/blocks/lime_emc_link.json new file mode 100644 index 00000000..134bb195 --- /dev/null +++ b/src/main/resources/data/projectexpansion/loot_tables/blocks/lime_emc_link.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "projectexpansion:lime_emc_link" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/projectexpansion/loot_tables/blocks/magenta_emc_link.json b/src/main/resources/data/projectexpansion/loot_tables/blocks/magenta_emc_link.json new file mode 100644 index 00000000..93974467 --- /dev/null +++ b/src/main/resources/data/projectexpansion/loot_tables/blocks/magenta_emc_link.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "projectexpansion:magenta_emc_link" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/projectexpansion/loot_tables/blocks/orange_emc_link.json b/src/main/resources/data/projectexpansion/loot_tables/blocks/orange_emc_link.json new file mode 100644 index 00000000..84f9ce98 --- /dev/null +++ b/src/main/resources/data/projectexpansion/loot_tables/blocks/orange_emc_link.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "projectexpansion:orange_emc_link" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/projectexpansion/loot_tables/blocks/pink_emc_link.json b/src/main/resources/data/projectexpansion/loot_tables/blocks/pink_emc_link.json new file mode 100644 index 00000000..51429804 --- /dev/null +++ b/src/main/resources/data/projectexpansion/loot_tables/blocks/pink_emc_link.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "projectexpansion:pink_emc_link" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/projectexpansion/loot_tables/blocks/purple_emc_link.json b/src/main/resources/data/projectexpansion/loot_tables/blocks/purple_emc_link.json new file mode 100644 index 00000000..9b8d74be --- /dev/null +++ b/src/main/resources/data/projectexpansion/loot_tables/blocks/purple_emc_link.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "projectexpansion:purple_emc_link" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/generation/generators/loot_tables/single/emc_export.json b/src/main/resources/data/projectexpansion/loot_tables/blocks/red_emc_link.json similarity index 83% rename from src/main/generation/generators/loot_tables/single/emc_export.json rename to src/main/resources/data/projectexpansion/loot_tables/blocks/red_emc_link.json index a0257093..3430f2a2 100644 --- a/src/main/generation/generators/loot_tables/single/emc_export.json +++ b/src/main/resources/data/projectexpansion/loot_tables/blocks/red_emc_link.json @@ -6,7 +6,7 @@ "entries": [ { "type": "minecraft:item", - "name": "projectexpansion:emc_export" + "name": "projectexpansion:red_emc_link" } ], "conditions": [ @@ -16,4 +16,4 @@ ] } ] -} \ No newline at end of file +} diff --git a/src/main/resources/data/projectexpansion/loot_tables/blocks/violet_emc_link.json b/src/main/resources/data/projectexpansion/loot_tables/blocks/violet_emc_link.json new file mode 100644 index 00000000..fc65257f --- /dev/null +++ b/src/main/resources/data/projectexpansion/loot_tables/blocks/violet_emc_link.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "projectexpansion:violet_emc_link" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/projectexpansion/loot_tables/blocks/white_emc_link.json b/src/main/resources/data/projectexpansion/loot_tables/blocks/white_emc_link.json new file mode 100644 index 00000000..83f3582e --- /dev/null +++ b/src/main/resources/data/projectexpansion/loot_tables/blocks/white_emc_link.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "projectexpansion:white_emc_link" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/projectexpansion/loot_tables/blocks/yellow_emc_link.json b/src/main/resources/data/projectexpansion/loot_tables/blocks/yellow_emc_link.json new file mode 100644 index 00000000..689810ef --- /dev/null +++ b/src/main/resources/data/projectexpansion/loot_tables/blocks/yellow_emc_link.json @@ -0,0 +1,19 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "projectexpansion:yellow_emc_link" + } + ], + "conditions": [ + { + "condition": "minecraft:survives_explosion" + } + ] + } + ] +} diff --git a/src/main/resources/data/projectexpansion/recipes/emc_import.json b/src/main/resources/data/projectexpansion/recipes/emc_import.json deleted file mode 100644 index fb80697f..00000000 --- a/src/main/resources/data/projectexpansion/recipes/emc_import.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "type": "minecraft:crafting_shaped", - "pattern": [ - "LMH", - "SRS", - "HML" - ], - "key": { - "L": { - "item": "projecte:low_covalence_dust" - }, - "M": { - "item": "projecte:medium_covalence_dust" - }, - "H": { - "item": "projecte:high_covalence_dust" - }, - "S": { - "tag": "forge:stone" - }, - "R": { - "item": "projectexpansion:cyan_matter" - } - }, - "result": { - "item": "projectexpansion:emc_import" - } -} \ No newline at end of file diff --git a/src/main/generation/generators/recipes/single/emc_link.json b/src/main/resources/data/projectexpansion/recipes/emc_link/basic.json similarity index 59% rename from src/main/generation/generators/recipes/single/emc_link.json rename to src/main/resources/data/projectexpansion/recipes/emc_link/basic.json index a65a9865..0f70091c 100644 --- a/src/main/generation/generators/recipes/single/emc_link.json +++ b/src/main/resources/data/projectexpansion/recipes/emc_link/basic.json @@ -1,8 +1,9 @@ { "type": "minecraft:crafting_shaped", + "group": "projectexpansion:matter/basic", "pattern": [ "LMH", - "SRS", + "TAT", "HML" ], "key": { @@ -15,14 +16,14 @@ "H": { "item": "projecte:high_covalence_dust" }, - "S": { - "tag": "forge:stone" + "T": { + "item": "projecte:transmutation_tablet" }, - "R": { - "item": "projecte:red_matter" + "A": { + "item": "projecte:aeternalis_fuel_block" } }, "result": { - "item": "projectexpansion:emc_link" + "item": "projectexpansion:basic_emc_link" } } \ No newline at end of file diff --git a/src/main/resources/data/projectexpansion/recipes/emc_link/blue.json b/src/main/resources/data/projectexpansion/recipes/emc_link/blue.json new file mode 100644 index 00000000..dec60095 --- /dev/null +++ b/src/main/resources/data/projectexpansion/recipes/emc_link/blue.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "projectexpansion:matter/blue", + "pattern": [ + "LMH", + "CPC", + "HML" + ], + "key": { + "L": { + "item": "projecte:low_covalence_dust" + }, + "M": { + "item": "projecte:medium_covalence_dust" + }, + "H": { + "item": "projecte:high_covalence_dust" + }, + "P": { + "item": "projectexpansion:violet_emc_link" + }, + "C": { + "item": "projectexpansion:blue_compressed_collector" + } + }, + "result": { + "item": "projectexpansion:blue_emc_link" + } +} \ No newline at end of file diff --git a/src/main/resources/data/projectexpansion/recipes/emc_export.json b/src/main/resources/data/projectexpansion/recipes/emc_link/cyan.json similarity index 58% rename from src/main/resources/data/projectexpansion/recipes/emc_export.json rename to src/main/resources/data/projectexpansion/recipes/emc_link/cyan.json index 09379cd4..fd544b77 100644 --- a/src/main/resources/data/projectexpansion/recipes/emc_export.json +++ b/src/main/resources/data/projectexpansion/recipes/emc_link/cyan.json @@ -1,8 +1,9 @@ { "type": "minecraft:crafting_shaped", + "group": "projectexpansion:matter/cyan", "pattern": [ "LMH", - "SRS", + "CPC", "HML" ], "key": { @@ -15,14 +16,14 @@ "H": { "item": "projecte:high_covalence_dust" }, - "S": { - "tag": "forge:stone" + "P": { + "item": "projectexpansion:blue_emc_link" }, - "R": { - "item": "projectexpansion:purple_matter" + "C": { + "item": "projectexpansion:cyan_compressed_collector" } }, "result": { - "item": "projectexpansion:emc_export" + "item": "projectexpansion:cyan_emc_link" } } \ No newline at end of file diff --git a/src/main/resources/data/projectexpansion/recipes/emc_link/dark.json b/src/main/resources/data/projectexpansion/recipes/emc_link/dark.json new file mode 100644 index 00000000..a6c1620c --- /dev/null +++ b/src/main/resources/data/projectexpansion/recipes/emc_link/dark.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "projectexpansion:matter/dark", + "pattern": [ + "LMH", + "TPT", + "HML" + ], + "key": { + "L": { + "item": "projecte:low_covalence_dust" + }, + "M": { + "item": "projecte:medium_covalence_dust" + }, + "H": { + "item": "projecte:high_covalence_dust" + }, + "T": { + "item": "projecte:transmutation_tablet" + }, + "P": { + "item": "projectexpansion:basic_emc_link" + } + }, + "result": { + "item": "projectexpansion:dark_emc_link" + } +} \ No newline at end of file diff --git a/src/main/resources/data/projectexpansion/recipes/emc_link/fading.json b/src/main/resources/data/projectexpansion/recipes/emc_link/fading.json new file mode 100644 index 00000000..63d547af --- /dev/null +++ b/src/main/resources/data/projectexpansion/recipes/emc_link/fading.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "projectexpansion:matter/fading", + "pattern": [ + "LMH", + "CPC", + "HML" + ], + "key": { + "L": { + "item": "projecte:low_covalence_dust" + }, + "M": { + "item": "projecte:medium_covalence_dust" + }, + "H": { + "item": "projecte:high_covalence_dust" + }, + "P": { + "item": "projectexpansion:white_emc_link" + }, + "C": { + "item": "projectexpansion:fading_compressed_collector" + } + }, + "result": { + "item": "projectexpansion:fading_emc_link" + } +} \ No newline at end of file diff --git a/src/main/resources/data/projectexpansion/recipes/emc_link/final.json b/src/main/resources/data/projectexpansion/recipes/emc_link/final.json new file mode 100644 index 00000000..faf752ea --- /dev/null +++ b/src/main/resources/data/projectexpansion/recipes/emc_link/final.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "projectexpansion:matter/dark", + "pattern": [ + "LMH", + "SPS", + "HML" + ], + "key": { + "L": { + "item": "projecte:low_covalence_dust" + }, + "M": { + "item": "projecte:medium_covalence_dust" + }, + "H": { + "item": "projecte:high_covalence_dust" + }, + "S": { + "item": "projectexpansion:final_star_shard" + }, + "P": { + "item": "projectexpansion:dark_emc_link" + } + }, + "result": { + "item": "projectexpansion:final_emc_link" + } +} \ No newline at end of file diff --git a/src/main/resources/data/projectexpansion/recipes/emc_link/green.json b/src/main/resources/data/projectexpansion/recipes/emc_link/green.json new file mode 100644 index 00000000..a3b04609 --- /dev/null +++ b/src/main/resources/data/projectexpansion/recipes/emc_link/green.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "projectexpansion:matter/green", + "pattern": [ + "LMH", + "CPC", + "HML" + ], + "key": { + "L": { + "item": "projecte:low_covalence_dust" + }, + "M": { + "item": "projecte:medium_covalence_dust" + }, + "H": { + "item": "projecte:high_covalence_dust" + }, + "P": { + "item": "projectexpansion:cyan_emc_link" + }, + "C": { + "item": "projectexpansion:green_compressed_collector" + } + }, + "result": { + "item": "projectexpansion:green_emc_link" + } +} \ No newline at end of file diff --git a/src/main/generation/generators/recipes/single/emc_export.json b/src/main/resources/data/projectexpansion/recipes/emc_link/lime.json similarity index 58% rename from src/main/generation/generators/recipes/single/emc_export.json rename to src/main/resources/data/projectexpansion/recipes/emc_link/lime.json index 09379cd4..1a764547 100644 --- a/src/main/generation/generators/recipes/single/emc_export.json +++ b/src/main/resources/data/projectexpansion/recipes/emc_link/lime.json @@ -1,8 +1,9 @@ { "type": "minecraft:crafting_shaped", + "group": "projectexpansion:matter/lime", "pattern": [ "LMH", - "SRS", + "CPC", "HML" ], "key": { @@ -15,14 +16,14 @@ "H": { "item": "projecte:high_covalence_dust" }, - "S": { - "tag": "forge:stone" + "P": { + "item": "projectexpansion:green_emc_link" }, - "R": { - "item": "projectexpansion:purple_matter" + "C": { + "item": "projectexpansion:lime_compressed_collector" } }, "result": { - "item": "projectexpansion:emc_export" + "item": "projectexpansion:lime_emc_link" } } \ No newline at end of file diff --git a/src/main/resources/data/projectexpansion/recipes/emc_link/magenta.json b/src/main/resources/data/projectexpansion/recipes/emc_link/magenta.json new file mode 100644 index 00000000..b57dddac --- /dev/null +++ b/src/main/resources/data/projectexpansion/recipes/emc_link/magenta.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "projectexpansion:matter/magenta", + "pattern": [ + "LMH", + "TPT", + "HML" + ], + "key": { + "L": { + "item": "projecte:low_covalence_dust" + }, + "M": { + "item": "projecte:medium_covalence_dust" + }, + "H": { + "item": "projecte:high_covalence_dust" + }, + "T": { + "item": "projecte:transmutation_tablet" + }, + "P": { + "item": "projectexpansion:red_emc_link" + } + }, + "result": { + "item": "projectexpansion:magenta_emc_link" + } +} \ No newline at end of file diff --git a/src/main/resources/data/projectexpansion/recipes/emc_link/orange.json b/src/main/resources/data/projectexpansion/recipes/emc_link/orange.json new file mode 100644 index 00000000..dfc667e9 --- /dev/null +++ b/src/main/resources/data/projectexpansion/recipes/emc_link/orange.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "projectexpansion:matter/orange", + "pattern": [ + "LMH", + "CPC", + "HML" + ], + "key": { + "L": { + "item": "projecte:low_covalence_dust" + }, + "M": { + "item": "projecte:medium_covalence_dust" + }, + "H": { + "item": "projecte:high_covalence_dust" + }, + "P": { + "item": "projectexpansion:yellow_emc_link" + }, + "C": { + "item": "projectexpansion:orange_compressed_collector" + } + }, + "result": { + "item": "projectexpansion:orange_emc_link" + } +} \ No newline at end of file diff --git a/src/main/resources/data/projectexpansion/recipes/emc_link/pink.json b/src/main/resources/data/projectexpansion/recipes/emc_link/pink.json new file mode 100644 index 00000000..6e9c89c4 --- /dev/null +++ b/src/main/resources/data/projectexpansion/recipes/emc_link/pink.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "projectexpansion:matter/pink", + "pattern": [ + "LMH", + "CPC", + "HML" + ], + "key": { + "L": { + "item": "projecte:low_covalence_dust" + }, + "M": { + "item": "projecte:medium_covalence_dust" + }, + "H": { + "item": "projecte:high_covalence_dust" + }, + "P": { + "item": "projectexpansion:magenta_emc_link" + }, + "C": { + "item": "projectexpansion:pink_compressed_collector" + } + }, + "result": { + "item": "projectexpansion:pink_emc_link" + } +} \ No newline at end of file diff --git a/src/main/resources/data/projectexpansion/recipes/emc_link/purple.json b/src/main/resources/data/projectexpansion/recipes/emc_link/purple.json new file mode 100644 index 00000000..849e9430 --- /dev/null +++ b/src/main/resources/data/projectexpansion/recipes/emc_link/purple.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "projectexpansion:matter/purple", + "pattern": [ + "LMH", + "CPC", + "HML" + ], + "key": { + "L": { + "item": "projecte:low_covalence_dust" + }, + "M": { + "item": "projecte:medium_covalence_dust" + }, + "H": { + "item": "projecte:high_covalence_dust" + }, + "P": { + "item": "projectexpansion:pink_emc_link" + }, + "C": { + "item": "projectexpansion:purple_compressed_collector" + } + }, + "result": { + "item": "projectexpansion:purple_emc_link" + } +} \ No newline at end of file diff --git a/src/main/resources/data/projectexpansion/recipes/emc_link/red.json b/src/main/resources/data/projectexpansion/recipes/emc_link/red.json new file mode 100644 index 00000000..23664379 --- /dev/null +++ b/src/main/resources/data/projectexpansion/recipes/emc_link/red.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "projectexpansion:matter/red", + "pattern": [ + "LMH", + "TPT", + "HML" + ], + "key": { + "L": { + "item": "projecte:low_covalence_dust" + }, + "M": { + "item": "projecte:medium_covalence_dust" + }, + "H": { + "item": "projecte:high_covalence_dust" + }, + "T": { + "item": "projecte:transmutation_tablet" + }, + "P": { + "item": "projectexpansion:dark_emc_link" + } + }, + "result": { + "item": "projectexpansion:red_emc_link" + } +} \ No newline at end of file diff --git a/src/main/resources/data/projectexpansion/recipes/emc_link/violet.json b/src/main/resources/data/projectexpansion/recipes/emc_link/violet.json new file mode 100644 index 00000000..2cb9bbfa --- /dev/null +++ b/src/main/resources/data/projectexpansion/recipes/emc_link/violet.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "projectexpansion:matter/violet", + "pattern": [ + "LMH", + "CPC", + "HML" + ], + "key": { + "L": { + "item": "projecte:low_covalence_dust" + }, + "M": { + "item": "projecte:medium_covalence_dust" + }, + "H": { + "item": "projecte:high_covalence_dust" + }, + "P": { + "item": "projectexpansion:purple_emc_link" + }, + "C": { + "item": "projectexpansion:violet_compressed_collector" + } + }, + "result": { + "item": "projectexpansion:violet_emc_link" + } +} \ No newline at end of file diff --git a/src/main/resources/data/projectexpansion/recipes/emc_link/white.json b/src/main/resources/data/projectexpansion/recipes/emc_link/white.json new file mode 100644 index 00000000..b7194801 --- /dev/null +++ b/src/main/resources/data/projectexpansion/recipes/emc_link/white.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "projectexpansion:matter/white", + "pattern": [ + "LMH", + "CPC", + "HML" + ], + "key": { + "L": { + "item": "projecte:low_covalence_dust" + }, + "M": { + "item": "projecte:medium_covalence_dust" + }, + "H": { + "item": "projecte:high_covalence_dust" + }, + "P": { + "item": "projectexpansion:orange_emc_link" + }, + "C": { + "item": "projectexpansion:white_compressed_collector" + } + }, + "result": { + "item": "projectexpansion:white_emc_link" + } +} \ No newline at end of file diff --git a/src/main/resources/data/projectexpansion/recipes/emc_link/yellow.json b/src/main/resources/data/projectexpansion/recipes/emc_link/yellow.json new file mode 100644 index 00000000..d47723f2 --- /dev/null +++ b/src/main/resources/data/projectexpansion/recipes/emc_link/yellow.json @@ -0,0 +1,29 @@ +{ + "type": "minecraft:crafting_shaped", + "group": "projectexpansion:matter/yellow", + "pattern": [ + "LMH", + "CPC", + "HML" + ], + "key": { + "L": { + "item": "projecte:low_covalence_dust" + }, + "M": { + "item": "projecte:medium_covalence_dust" + }, + "H": { + "item": "projecte:high_covalence_dust" + }, + "P": { + "item": "projectexpansion:lime_emc_link" + }, + "C": { + "item": "projectexpansion:yellow_compressed_collector" + } + }, + "result": { + "item": "projectexpansion:yellow_emc_link" + } +} \ No newline at end of file diff --git a/src/main/resources/data/projectexpansion/recipes/power_flower/basic.json b/src/main/resources/data/projectexpansion/recipes/power_flower/basic.json index 90e2817d..ebe0ca06 100644 --- a/src/main/resources/data/projectexpansion/recipes/power_flower/basic.json +++ b/src/main/resources/data/projectexpansion/recipes/power_flower/basic.json @@ -8,7 +8,7 @@ ], "key": { "L": { - "item": "projectexpansion:emc_link" + "item": "projectexpansion:basic_emc_link" }, "C": { "item": "projectexpansion:basic_compressed_collector" diff --git a/src/main/resources/data/projectexpansion/recipes/power_flower/blue.json b/src/main/resources/data/projectexpansion/recipes/power_flower/blue.json index c56ad24e..9b630af3 100644 --- a/src/main/resources/data/projectexpansion/recipes/power_flower/blue.json +++ b/src/main/resources/data/projectexpansion/recipes/power_flower/blue.json @@ -8,7 +8,7 @@ ], "key": { "L": { - "item": "projectexpansion:emc_link" + "item": "projectexpansion:blue_emc_link" }, "C": { "item": "projectexpansion:blue_compressed_collector" diff --git a/src/main/resources/data/projectexpansion/recipes/power_flower/cyan.json b/src/main/resources/data/projectexpansion/recipes/power_flower/cyan.json index a227be72..fb8bc554 100644 --- a/src/main/resources/data/projectexpansion/recipes/power_flower/cyan.json +++ b/src/main/resources/data/projectexpansion/recipes/power_flower/cyan.json @@ -8,7 +8,7 @@ ], "key": { "L": { - "item": "projectexpansion:emc_link" + "item": "projectexpansion:cyan_emc_link" }, "C": { "item": "projectexpansion:cyan_compressed_collector" diff --git a/src/main/resources/data/projectexpansion/recipes/power_flower/dark.json b/src/main/resources/data/projectexpansion/recipes/power_flower/dark.json index 358c098f..eeff0996 100644 --- a/src/main/resources/data/projectexpansion/recipes/power_flower/dark.json +++ b/src/main/resources/data/projectexpansion/recipes/power_flower/dark.json @@ -8,7 +8,7 @@ ], "key": { "L": { - "item": "projectexpansion:emc_link" + "item": "projectexpansion:dark_emc_link" }, "C": { "item": "projectexpansion:dark_compressed_collector" diff --git a/src/main/resources/data/projectexpansion/recipes/power_flower/fading.json b/src/main/resources/data/projectexpansion/recipes/power_flower/fading.json index 3f9d4a9b..5419839a 100644 --- a/src/main/resources/data/projectexpansion/recipes/power_flower/fading.json +++ b/src/main/resources/data/projectexpansion/recipes/power_flower/fading.json @@ -8,7 +8,7 @@ ], "key": { "L": { - "item": "projectexpansion:emc_link" + "item": "projectexpansion:fading_emc_link" }, "C": { "item": "projectexpansion:fading_compressed_collector" diff --git a/src/main/resources/data/projectexpansion/recipes/power_flower/final.json b/src/main/resources/data/projectexpansion/recipes/power_flower/final.json index ab95ed11..dcb6c976 100644 --- a/src/main/resources/data/projectexpansion/recipes/power_flower/final.json +++ b/src/main/resources/data/projectexpansion/recipes/power_flower/final.json @@ -8,7 +8,7 @@ ], "key": { "L": { - "item": "projectexpansion:emc_link" + "item": "projectexpansion:final_emc_link" }, "C": { "item": "projectexpansion:final_compressed_collector" diff --git a/src/main/resources/data/projectexpansion/recipes/power_flower/green.json b/src/main/resources/data/projectexpansion/recipes/power_flower/green.json index 5dcf19d2..3fc41220 100644 --- a/src/main/resources/data/projectexpansion/recipes/power_flower/green.json +++ b/src/main/resources/data/projectexpansion/recipes/power_flower/green.json @@ -8,7 +8,7 @@ ], "key": { "L": { - "item": "projectexpansion:emc_link" + "item": "projectexpansion:green_emc_link" }, "C": { "item": "projectexpansion:green_compressed_collector" diff --git a/src/main/resources/data/projectexpansion/recipes/power_flower/lime.json b/src/main/resources/data/projectexpansion/recipes/power_flower/lime.json index 9aa3b61a..688fb83a 100644 --- a/src/main/resources/data/projectexpansion/recipes/power_flower/lime.json +++ b/src/main/resources/data/projectexpansion/recipes/power_flower/lime.json @@ -8,7 +8,7 @@ ], "key": { "L": { - "item": "projectexpansion:emc_link" + "item": "projectexpansion:lime_emc_link" }, "C": { "item": "projectexpansion:lime_compressed_collector" diff --git a/src/main/resources/data/projectexpansion/recipes/power_flower/magenta.json b/src/main/resources/data/projectexpansion/recipes/power_flower/magenta.json index ee329286..31b5fa5f 100644 --- a/src/main/resources/data/projectexpansion/recipes/power_flower/magenta.json +++ b/src/main/resources/data/projectexpansion/recipes/power_flower/magenta.json @@ -8,7 +8,7 @@ ], "key": { "L": { - "item": "projectexpansion:emc_link" + "item": "projectexpansion:magenta_emc_link" }, "C": { "item": "projectexpansion:magenta_compressed_collector" diff --git a/src/main/resources/data/projectexpansion/recipes/power_flower/orange.json b/src/main/resources/data/projectexpansion/recipes/power_flower/orange.json index dbd22d75..925da66e 100644 --- a/src/main/resources/data/projectexpansion/recipes/power_flower/orange.json +++ b/src/main/resources/data/projectexpansion/recipes/power_flower/orange.json @@ -8,7 +8,7 @@ ], "key": { "L": { - "item": "projectexpansion:emc_link" + "item": "projectexpansion:orange_emc_link" }, "C": { "item": "projectexpansion:orange_compressed_collector" diff --git a/src/main/resources/data/projectexpansion/recipes/power_flower/pink.json b/src/main/resources/data/projectexpansion/recipes/power_flower/pink.json index a7c38429..02c5b706 100644 --- a/src/main/resources/data/projectexpansion/recipes/power_flower/pink.json +++ b/src/main/resources/data/projectexpansion/recipes/power_flower/pink.json @@ -8,7 +8,7 @@ ], "key": { "L": { - "item": "projectexpansion:emc_link" + "item": "projectexpansion:pink_emc_link" }, "C": { "item": "projectexpansion:pink_compressed_collector" diff --git a/src/main/resources/data/projectexpansion/recipes/power_flower/purple.json b/src/main/resources/data/projectexpansion/recipes/power_flower/purple.json index ca25a8d2..c1d5e40b 100644 --- a/src/main/resources/data/projectexpansion/recipes/power_flower/purple.json +++ b/src/main/resources/data/projectexpansion/recipes/power_flower/purple.json @@ -8,7 +8,7 @@ ], "key": { "L": { - "item": "projectexpansion:emc_link" + "item": "projectexpansion:purple_emc_link" }, "C": { "item": "projectexpansion:purple_compressed_collector" diff --git a/src/main/resources/data/projectexpansion/recipes/power_flower/red.json b/src/main/resources/data/projectexpansion/recipes/power_flower/red.json index f15f0b27..79cde468 100644 --- a/src/main/resources/data/projectexpansion/recipes/power_flower/red.json +++ b/src/main/resources/data/projectexpansion/recipes/power_flower/red.json @@ -8,7 +8,7 @@ ], "key": { "L": { - "item": "projectexpansion:emc_link" + "item": "projectexpansion:red_emc_link" }, "C": { "item": "projectexpansion:red_compressed_collector" diff --git a/src/main/resources/data/projectexpansion/recipes/power_flower/violet.json b/src/main/resources/data/projectexpansion/recipes/power_flower/violet.json index e6d48591..0d54033e 100644 --- a/src/main/resources/data/projectexpansion/recipes/power_flower/violet.json +++ b/src/main/resources/data/projectexpansion/recipes/power_flower/violet.json @@ -8,7 +8,7 @@ ], "key": { "L": { - "item": "projectexpansion:emc_link" + "item": "projectexpansion:violet_emc_link" }, "C": { "item": "projectexpansion:violet_compressed_collector" diff --git a/src/main/resources/data/projectexpansion/recipes/power_flower/white.json b/src/main/resources/data/projectexpansion/recipes/power_flower/white.json index 592510c9..c52cb57d 100644 --- a/src/main/resources/data/projectexpansion/recipes/power_flower/white.json +++ b/src/main/resources/data/projectexpansion/recipes/power_flower/white.json @@ -8,7 +8,7 @@ ], "key": { "L": { - "item": "projectexpansion:emc_link" + "item": "projectexpansion:white_emc_link" }, "C": { "item": "projectexpansion:white_compressed_collector" diff --git a/src/main/resources/data/projectexpansion/recipes/power_flower/yellow.json b/src/main/resources/data/projectexpansion/recipes/power_flower/yellow.json index 01829e5f..515a3264 100644 --- a/src/main/resources/data/projectexpansion/recipes/power_flower/yellow.json +++ b/src/main/resources/data/projectexpansion/recipes/power_flower/yellow.json @@ -8,7 +8,7 @@ ], "key": { "L": { - "item": "projectexpansion:emc_link" + "item": "projectexpansion:yellow_emc_link" }, "C": { "item": "projectexpansion:yellow_compressed_collector" diff --git a/src/main/resources/data/projectexpansion/recipes/transmutation_interface.json b/src/main/resources/data/projectexpansion/recipes/transmutation_interface.json index 6a2d5a66..5641d993 100644 --- a/src/main/resources/data/projectexpansion/recipes/transmutation_interface.json +++ b/src/main/resources/data/projectexpansion/recipes/transmutation_interface.json @@ -1,19 +1,13 @@ { "type": "minecraft:crafting_shaped", "pattern": [ - "EIE", - "ILI", - "EIE" + "TTT", + "TTT", + "TTT" ], "key": { - "L": { - "item": "projectexpansion:emc_link" - }, - "I": { - "item": "projectexpansion:emc_import" - }, - "E": { - "item": "projectexpansion:emc_export" + "T": { + "item": "projecte:transmutation_tablet" } }, "result": {