diff --git a/.gitignore b/.gitignore index ccfab5998..a592da2c3 100644 --- a/.gitignore +++ b/.gitignore @@ -18,8 +18,8 @@ config/fml.toml config/forge-client.toml config/xaerominimap_entities.json config/voicechat/username-cache.json -config/xaerominimap.txt -config/xaeroworldmap.txt +# config/xaerominimap.txt +# config/xaeroworldmap.txt config/jei/worldSettings.cfg config/JustEnoughCalculation/record.json config/splash.properties @@ -30,8 +30,35 @@ config/fancymenu/user_variables.db config/AppliedEnergistics2/items.csv config/AppliedEnergistics2/CustomRecipes.cfg config/cherishedworlds/favorites.dat +config/embeddium-fingerprint.json +config/everycomp-hazardous.properties +# .minecraft +crash-reports/* +kubejs1/* +logs/* +saves/* +ldlib/ +local/* +modernfix/* +XaeroWaypoints* +XaeroWorldMap/* +xaero/* +defaultconfigs/* +CustomSkinLoader/* +screenshots/* +shaderpacks/* +chiselsandbits/* +.vscode/* +.new_mods/* + +# Extensions +**/*.log +**/*.gz +**/*.DS_Store +**/*.jar + # Client data .vscode/ .idea/ @@ -56,6 +83,7 @@ visualores/ screenshots/ shaderpacks/ chiselsandbits/ +backups/ .curseclient .sl_password @@ -89,4 +117,4 @@ knownkeys.txt !.github/buildtools/serverpack/user_jvm_args.txt !.github/buildtools/serverpack/minecraft_server.jar .github/buildtools/serverpack/* - +/icon-exports-x32 diff --git a/CHANGELOG.md b/CHANGELOG.md index f5e25ff48..721758666 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,45 @@ # Changelog +## [0.8.0] - ?? +### TODO + +### Changes +- Replaced TFC ore gen with GT oregen. +- Fixed most of bad langs from TFG-Core. +- Fixed compat for firmaciv 1.0.+. +- Disabled HotOrNot. +- Moved some textures from TFG-Core to KJS. +- Moved 90% of recipes from TFG-Core to KJS. +- Added custom biome tag for all TFC biomes (used for oregen). +- Proper way to remove #dusts tag from TFC powders. +- Enabled HighTier machines from GTM (but without circuit recipes). +- Moved some custom items from TFG-Core to KJS (like molds and etc). +- Make ores spawn inside grid with 5x5 sized with 32block offset (was 3x3 with 16). +- Now nether availiable to research (dig ores, drink lava, kill pigmens, what?). +- Small changes for loottables for nether. +- You can now fill sprinkler(firmalife greenhouse) from any fluid source (example: GT pipes). +- Unlocked steel steam machines (again, yes). +- Added translation for ru_ru inside TFG-Core. +- Fixed alternator multiblock (now works fine). +- Return raw ore blocks from GregTech. +- True way to remove TFC ores from EMI. +- True way to remove Firmelife ores from EMI. +- True way to hide AE2 facades. +- True way to hide chisel and bits bits, yes. +- Fix double removing honey liquid from EMI. +- Fixed bug when foods cant root inside EMI (of course not by mod dev (by myself)). +- Now it is impossible to pour liquid from the TFC blast furnace into the GT pipe, which fixes the releated crash. +- Fixed a bug where an item with the last durab broke the ore, then the ore did not dropped out. +- Added recipes for crushing raw ores to crushed ores by workbench. +- Fixed bug when electronic tools run out their durability, the tool breaks up without returning any power unit. +- Alternator multiblock now works as intended. +- Alternator recipes was sligthly nerfed. +- Fixed bug when some items wont display inside EMI. +- Simplified alternator multiblock reques and it controller block recipe. +- Added better recipes for any wood (nether wood too). +- Added stripping recipes in emi world interaction page. +- ... +### Updated mods +- ?? ## [0.7.14] - 01.10.2024 ### Changes @@ -82,6 +123,48 @@ - XaerosWorldMap 1.38.4 -> 1.39.0 - YetAnotherConfigLib 3.4.4 -> 3.5.0 +## [0.8.0] - ?? +### TODO + +### Changes +- Replaced TFC ore gen with GT oregen. +- Fixed most of bad langs from TFG-Core. +- Fixed compat for firmaciv 1.0.+. +- Disabled HotOrNot. +- Moved some textures from TFG-Core to KJS. +- Moved 90% of recipes from TFG-Core to KJS. +- Added custom biome tag for all TFC biomes (used for oregen). +- Proper way to remove #dusts tag from TFC powders. +- Enabled HighTier machines from GTM (but without circuit recipes). +- Moved some custom items from TFG-Core to KJS (like molds and etc). +- Make ores spawn inside grid with 5x5 sized with 32block offset (was 3x3 with 16). +- Now nether availiable to research (dig ores, drink lava, kill pigmens, what?). +- Small changes for loottables for nether. +- You can now fill sprinkler(firmalife greenhouse) from any fluid source (example: GT pipes). +- Unlocked steel steam machines (again, yes). +- Added translation for ru_ru inside TFG-Core. +- Fixed alternator multiblock (now works fine). +- Return raw ore blocks from GregTech. +- True way to remove TFC ores from EMI. +- True way to remove Firmelife ores from EMI. +- True way to hide AE2 facades. +- True way to hide chisel and bits bits, yes. +- Fix double removing honey liquid from EMI. +- Fixed bug when foods cant root inside EMI (of course not by mod dev (by myself)). +- Now it is impossible to pour liquid from the TFC blast furnace into the GT pipe, which fixes the releated crash. +- Fixed a bug where an item with the last durab broke the ore, then the ore did not dropped out. +- Added recipes for crushing raw ores to crushed ores by workbench. +- Fixed bug when electronic tools run out their durability, the tool breaks up without returning any power unit. +- Alternator multiblock now works as intended. +- Alternator recipes was sligthly nerfed. +- Fixed bug when some items wont display inside EMI. +- Simplified alternator multiblock reques and it controller block recipe. +- Added better recipes for any wood (nether wood too). +- Added stripping recipes in emi world interaction page. +- ... +### Updated mods +- ?? + ## [0.7.12] - 03.06.2024 ### Changes - Small fixes in quests. (FriendlyCube) diff --git a/config/Advancedperipherals/general.toml b/config/Advancedperipherals/general.toml index efb0f4139..ec7d08b28 100644 --- a/config/Advancedperipherals/general.toml +++ b/config/Advancedperipherals/general.toml @@ -11,3 +11,9 @@ #Range: > 0 initialCooldownSensitiveLevel = 6000 +[Unsafe] + #By setting this value to true, I understand all operations below are danger to my adventure, and if they caused unexpected behavior in my world, I will not consider it as AP's liability + enableUnsafe = false + #Ignore turtle peripheral item's NBT when equipping. **YOU WILL LOSE ALL NBT ON THE ITEM** + ignoreTurtlePeripheralItemNBT = false + diff --git a/config/Advancedperipherals/peripherals.toml b/config/Advancedperipherals/peripherals.toml index f6af043b7..72728f1b2 100644 --- a/config/Advancedperipherals/peripherals.toml +++ b/config/Advancedperipherals/peripherals.toml @@ -57,6 +57,12 @@ chatBoxMaxRange = -1 #If true, the chat box is able to send messages to other dimensions than its own chatBoxMultiDimensional = true + #If true, the chat box cannot use 'run_command' action + chatBoxPreventRunCommand = false + #If true, the chat box will wrap and execute 'run_command' or 'suggest_command' action with zero permission, in order to prevent operators accidently run dangerous commands. + chatBoxWrapCommand = true + #These commands below will not be able to send by 'run_command' or 'suggest_command' action. It will match as prefix if starts with '/', other wise use regex pattern + chatBoxBannedCommands = ["/execute", "/op", "/deop", "/gamemode", "/gamerule", "/stop", "/give", "/fill", "/setblock", "/summon", "/whitelist", "^/ban-(?:ip)?\\s*", "^/pardon-(?:ip)?\\s*", "^/save-(?:on|off)\\s*"] [Peripherals.ME_Bridge] #Enable the Me Bridge or not. @@ -103,6 +109,12 @@ [Peripherals.Compass_Turtle] #Enable the compass turtle or not. enableCompassTurtle = true + #The maximum distance the compass can locate accurately with in each axis. + #Range: 0 ~ 8 + compassAccurePlaceRadius = 3 + #The free distance the compass can locate accurately with in each axis. + #Range: 0 ~ 4 + compassAccurePlaceFreeRadius = 1 [Peripherals.Powered_Peripherals] #Enable RF storage for peripherals, that could use it @@ -158,4 +170,8 @@ scanEntitiesExtraBlockCost = 0.17 #Range: > 1000 chatMessageCooldown = 1000 + #Range: > 1000 + accurePlaceCooldown = 1000 + #Range: > 0 + accurePlaceCost = 1 diff --git a/config/InventoryHUD/curios.json b/config/InventoryHUD/curios.json index c15a953f3..e771f7a92 100644 --- a/config/InventoryHUD/curios.json +++ b/config/InventoryHUD/curios.json @@ -1 +1 @@ -{"clothes_hat":{"x":20,"y":98,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"gtceu_magnet":{"x":0,"y":40,"enabled":false,"halign":"LEFT","valign":"TOP"},"feet":{"x":0,"y":60,"enabled":false,"halign":"LEFT","valign":"TOP"},"hands":{"x":2,"y":80,"enabled":true,"halign":"LEFT","valign":"TOP"},"belt":{"x":2,"y":62,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"ring":{"x":2,"y":117,"enabled":true,"halign":"LEFT","valign":"TOP"},"back":{"x":2,"y":80,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"bracelet":{"x":2,"y":-3,"enabled":true,"halign":"LEFT","valign":"CENTER"},"necklace":{"x":2,"y":146,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"body":{"x":2,"y":126,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"clothes_torso":{"x":20,"y":80,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"curio":{"x":2,"y":136,"enabled":true,"halign":"LEFT","valign":"TOP"},"head":{"x":2,"y":98,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"charm":{"x":2,"y":99,"enabled":true,"halign":"LEFT","valign":"TOP"},"clothes_pants":{"x":20,"y":62,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"clothes_socks":{"x":20,"y":44,"enabled":true,"halign":"LEFT","valign":"BOTTOM"}} \ No newline at end of file +{"clothes_hat":{"x":20,"y":98,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"gtceu_magnet":{"x":0,"y":40,"enabled":false,"halign":"LEFT","valign":"TOP"},"feet":{"x":0,"y":60,"enabled":false,"halign":"LEFT","valign":"TOP"},"hands":{"x":2,"y":80,"enabled":true,"halign":"LEFT","valign":"TOP"},"belt":{"x":2,"y":62,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"ring":{"x":2,"y":117,"enabled":true,"halign":"LEFT","valign":"TOP"},"back":{"x":2,"y":80,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"bracelet":{"x":2,"y":-3,"enabled":true,"halign":"LEFT","valign":"CENTER"},"necklace":{"x":2,"y":146,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"body":{"x":2,"y":126,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"clothes_torso":{"x":20,"y":80,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"curio":{"x":2,"y":136,"enabled":true,"halign":"LEFT","valign":"TOP"},"head":{"x":2,"y":98,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"charm":{"x":2,"y":99,"enabled":true,"halign":"LEFT","valign":"TOP"},"clothes_pants":{"x":20,"y":62,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"clothes_socks":{"x":20,"y":44,"enabled":true,"halign":"LEFT","valign":"BOTTOM"},"petrolpark_badge":{"x":0,"y":100,"enabled":false,"halign":"LEFT","valign":"TOP"}} \ No newline at end of file diff --git a/config/alekiships-client.toml b/config/alekiships-client.toml new file mode 100644 index 000000000..5c7dd40f8 --- /dev/null +++ b/config/alekiships-client.toml @@ -0,0 +1,4 @@ +#Change how the rudder behaves on boats that have them +#Allowed Values: RETURN_TO_CENTER, STAY_IN_PLACE +tillerControlScheme = "RETURN_TO_CENTER" + diff --git a/config/boatiview-client.toml b/config/boatiview-client.toml new file mode 100644 index 000000000..ddc4bbd83 --- /dev/null +++ b/config/boatiview-client.toml @@ -0,0 +1,9 @@ + +["Client Settings"] + #Toggle whether the hand should be rendered whilst the boat is moving + showHandsInMovingBoat = true + #List of items that will make the hand display when a boat is moving + #Seperate every entry except the last one with commas + #To include all items for a particular modid use the wildcard character '*'. E.g. modid:* + itemsToShowInMovingBoat = ["minecraft:filled_map"] + diff --git a/config/craftpresence.json b/config/craftpresence.json index e1289566c..43a3c676b 100644 --- a/config/craftpresence.json +++ b/config/craftpresence.json @@ -42,7 +42,9 @@ "default": { "textOverride": "Playing on {server.motd.raw}" } - } + }, + "pingRateInterval": 5, + "pingRateUnit": "minutes" }, "statusMessages": { "mainMenuData": { @@ -99,7 +101,8 @@ "playerSkinEndpoint": "https://mc-heads.net/avatar/{getOrDefault(player.uuid.short, player.name)}", "allowDuplicatePackets": false, "maxConnectionAttempts": 10, - "enableClassGraph": false + "enableClassGraph": false, + "useClassLoader": false }, "accessibilitySettings": { "languageId": "en_us", @@ -131,7 +134,6 @@ } }, "dynamicIcons": { - "Xikaro": "https://mc-heads.net/avatar/57b3dfb5f8a649e28b544e4ffc63256f", "default": "https://via.placeholder.com/256.png" }, "dynamicVariables": { diff --git a/config/create-client.toml b/config/create-client.toml index d6e4278e4..de7fd4849 100644 --- a/config/create-client.toml +++ b/config/create-client.toml @@ -50,6 +50,9 @@ #. #Setting this to true will prevent Create from sending you a warning when playing with Fabulous graphics enabled ignoreFabulousWarning = false + #. + #Disable to prevent being rotated while seated on a Moving Contraption + rotateWhenSeated = true #. #Configure your vision range when submerged in Create's custom fluids diff --git a/config/create_connected-common.toml b/config/create_connected-common.toml index 055dc7bf0..dae5d6bad 100644 --- a/config/create_connected-common.toml +++ b/config/create_connected-common.toml @@ -38,5 +38,26 @@ migrateCopycatsOnInitialize = false fluid_vessel = true large_crank_wheel = true crank_wheel = true - fan_freezing_catalyst = true + inventory_access_port = true + inventory_bridge = true + +#. +#Enable/disable categories of features. Disabling a category hides all related features. Values on server override clients +[feature_categories] + #. + #. + #All kinetic components, such as gearboxes and crank wheels + kinetic = true + #. + #All redstone components, such as linked transmitter and sequenced pulse generator + redstone = true + #. + #All components related to item and fluid transport + logistics = true + #. + #All copycats (Install Create: Copycats+ to upgrade) + copycats = true + #. + #All building palette blocks + palette = true diff --git a/config/createlowheated-common.toml b/config/createlowheated-common.toml new file mode 100644 index 000000000..381c3bbeb --- /dev/null +++ b/config/createlowheated-common.toml @@ -0,0 +1,19 @@ + +##Basic Burner Requirements +[basic_burner] + #When set to true, an active Basic Burner produces the same heat as a Kindled Blaze Burner and an empowered Basic Burner produces the same heat as a Seething Blaze Burner. Inactive state is unaffected. + hotBurners = false + #When set to false, it disables Basic Burner role in the steam engine heating system, only leaving it for recipes. This will also re-enable all passive heaters as a consequence. The Basic Burner Block tooltip must be altered via changing the lang file, if you use this and the inaccuracy bothers you. + basicBurnerBoiler = true + #When set to true, ignores Basic Burner Fuel Item Tag Whitelist, instead accepts anything with a valid BurnTime. + ignoresFuelTagWhitelist = true + #How much more fuel a non-empowered Basic Burner consumes. Use fanMultiplier for fan-empowered burners. Intended for use with the hotBurners option, the default value of 1 is recommended otherwise. + #Range: > 1 + baseMultiplier = 1 + #How much more fuel a Basic Burner consumes when empowered by an encased fan. + #Range: > 1 + fanMultiplier = 32 + #How much fan speed is needed for the Basic Burner to be empowered. + #Range: > 1 + fanSpeedRequired = 256 + diff --git a/config/createpickywheels-common.toml b/config/createpickywheels-common.toml new file mode 100644 index 000000000..f9ff7626c --- /dev/null +++ b/config/createpickywheels-common.toml @@ -0,0 +1,43 @@ + +##Waterwheel requirements +[waterwheels] + #Enable waterwheels modifications? + waterwheelsEnabled = true + #Only enable pickyness onPlacement, if the water wheel was instead generated during worldgen, it works as default. + waterwheelsPickyOnPlacement = true + #Penalty for Waterwheels placed on whitelisted but not on preferential biomes [waterwheel_boosted biome tag]. + #Range: 0.0 ~ 1.0 + waterwheelPenalty = 0.25 + #The minimum amount of fluid blocks the waterwheel needs to find before rotation begins. + #Range: > 1 + waterwheelThreshold = 2048 + #The maximum distance a waterwheel can consider fluid blocks from. + #Range: > 1 + waterwheelRange = 128 + +##Windmill requirements +[windmills] + #Enable windmills modifications? + windmillsEnabled = true + #Penalty for Windmills placed on whitelisted but not on preferential biomes [windmills_boosted biome tag]. + #Range: 0.0 ~ 1.0 + windmillPenalty = 0.75 + #The minimum floor area required. Default: 1/4 of the max area [PI * 32 ^ 2]. + #Range: > 1 + windmillThreshold = 804 + #The minimum length of air current required. + #Range: > 1 + windmillRequiredRange = 24 + #The minimum amount of points that must hit windmillRequiredRange. + #Range: > 1 + windmillRequiredRangePoints = 128 + #The maximum distance a waterwheel can consider air blocks from. + #Range: > 1 + windmillMaxRange = 32 + #The percentage of Generated Speed only given if windmills are raised enough. + #Range: 0.0 ~ 1.0 + windmillAbovePenalty = 0.5 + #The height required for the full benefit from windmillAbovePenalty. + #Range: > 1 + windmillAbove = 12 + diff --git a/config/cyclopscore-common.toml b/config/cyclopscore-common.toml new file mode 100644 index 000000000..134cfdb9c --- /dev/null +++ b/config/cyclopscore-common.toml @@ -0,0 +1,23 @@ + +[core] + + [core.general] + #If mod compatibility loader should crash hard if errors occur in that process. + crashOnModCompatCrash = false + #Set 'true' to enable development debug mode. This will result in a lower performance! + debug = false + #The anonymous id used by the analytics service. + anonymousAnalyticsID = "1892b4c4-92f9-4e3a-9116-b11bad1b1b8f" + #If the recipe loader should crash when finding invalid recipes. + crashOnInvalidRecipe = false + #If an anonymous mod startup analytics request may be sent to our analytics service. + analytics = true + #If the version checker should be enabled. + versionChecker = true + +[general] + + [general.general] + #If a button should be added to the main menu to open a dev world (shift-click creates a new world). + devWorldButton = false + diff --git a/config/decay_2012-client.toml b/config/decay_2012-client.toml new file mode 100644 index 000000000..983a12b51 --- /dev/null +++ b/config/decay_2012-client.toml @@ -0,0 +1,21 @@ + +[general] + #(THIS OPTION ALWAYS OVERRIDES THE TFC OPTION) Food expiry tooltip display style. This affects what information is shown on the food item stack tooltips. + #NONE - Shows nothing. Maximum mystery! + #EXPIRY - e.g. 'Expires on June 3, 05:00 + #TIME_LEFT - e.g. 'Expires in about 3 day(s) + #BOTH - Shows both of the above, e.g. Expires on June 3, 05:00 (in about 3 day(s)). + #Allowed Values: NONE, EXPIRY, TIME_LEFT, BOTH + foodExpiryTooltipStyle = "BOTH" + #If true, food stack counts will render behind the weight bar + enableFoodShowsStackCount = false + #The value that should be displayed as the maximum ounces (or whatever kind of weight type you choose) a food item could weigh. By default, a full stack is 160 ounces. + #Range: > 1 + maxOunces = 16 + #Enable rendering a food weight bar + enableFoodWeightRender = true + #Enable rendering a food weight bar + enableFoodDecayRender = true + #If true, SI units will be used for food weight instead of the traditional oz. The name of this config option is a joke, I know SI units are used outside of Europe. + enableEuropeanMode = false + diff --git a/config/deepresonance-client.toml b/config/deepresonance-client.toml new file mode 100644 index 000000000..ea7a6c690 --- /dev/null +++ b/config/deepresonance-client.toml @@ -0,0 +1,19 @@ +#Base generator volume +#Range: 0.0 ~ 1.0 +baseGeneratorVolume = 1.0 +#Loop volume factor +#Range: 0.0 ~ 1.0 +loopVolumeFactor = 1.0 +#The color for the radiation overlay text in case the radiation monitor is in the players hand +#Range: > -2147483648 +radiationOverlayColor = -65536 +#The color for the radiation overlay text in case the radiation monitor is in the players hand (in case there is no radiation) +#Range: > -2147483648 +radiationOverlayColorNoRadiation = -16711936 +#The X coordinate (with 0 being left) for the radiation overlay text. Use -1 to disable +#Range: > -1 +radiationOverlayX = 10 +#The Y coordinate (with 0 being top) for the radiation overlay text. Use -1 to disable +#Range: > -1 +radiationOverlayY = 10 + diff --git a/config/deepresonance-common.toml b/config/deepresonance-common.toml new file mode 100644 index 000000000..eff709027 --- /dev/null +++ b/config/deepresonance-common.toml @@ -0,0 +1,23 @@ +#Enable this if you want to get retrogen (generation of ores/crystals) for already existing chunks +retrogen = true +#Enable this if you want to see in the log where crystals are spawned +verboseSpawn = false +#Enable this if you want resonating ore in nether biomes +generateOreNether = true +#Enable this if you want resonating ore in end biomes +generateOreEnd = false +#Enable this if you want resonating ore in other biomes (if they have stone) +generateOreOther = true +#Biome blacklist, resonant crystals will not spawn in biomes listed here +otherBiomeBlacklist = ["minecraft:the_void"] +#Enable this if you want resonating crystals in nether biomes +generateCrystalsNether = true +#Enable this if you want resonating crystals in other dimensions biomes (if they have stone caves) +generateCrystalsOther = true +#The chance that a crystal will spawn in a chunk. (0 = never, 1 = every chunk +#Range: 0.0 ~ 1.0 +crystalSpawnChance = 0.3 +#The number of times that the worldgen will try to spawn a crystal in a chunk before it fails. +#Range: 1 ~ 32 +crystalSpawnTries = 20 + diff --git a/config/defaultoptions/keybindings.txt b/config/defaultoptions/keybindings.txt deleted file mode 100644 index e93a6bf5b..000000000 --- a/config/defaultoptions/keybindings.txt +++ /dev/null @@ -1,116 +0,0 @@ -key_key.attack:key.mouse.left:NONE -key_key.use:key.mouse.right:NONE -key_key.forward:key.keyboard.w:NONE -key_key.left:key.keyboard.a:NONE -key_key.back:key.keyboard.s:NONE -key_key.right:key.keyboard.d:NONE -key_key.jump:key.keyboard.space:NONE -key_key.sneak:key.keyboard.left.shift:NONE -key_key.sprint:key.keyboard.left.control:NONE -key_key.drop:key.keyboard.q:NONE -key_key.inventory:key.keyboard.e:NONE -key_key.chat:key.keyboard.t:NONE -key_key.playerlist:key.keyboard.tab:NONE -key_key.pickItem:key.mouse.middle:NONE -key_key.command:key.keyboard.slash:NONE -key_key.socialInteractions:key.keyboard.p:NONE -key_key.screenshot:key.keyboard.f2:NONE -key_key.togglePerspective:key.keyboard.f5:NONE -key_key.smoothCamera:key.keyboard.unknown:NONE -key_key.fullscreen:key.keyboard.f11:NONE -key_key.spectatorOutlines:key.keyboard.unknown:NONE -key_key.swapOffhand:key.keyboard.f:NONE -key_key.saveToolbarActivator:key.keyboard.c:NONE -key_key.loadToolbarActivator:key.keyboard.x:NONE -key_key.advancements:key.keyboard.unknown:NONE -key_key.hotbar.1:key.keyboard.1:NONE -key_key.hotbar.2:key.keyboard.2:NONE -key_key.hotbar.3:key.keyboard.3:NONE -key_key.hotbar.4:key.keyboard.4:NONE -key_key.hotbar.5:key.keyboard.5:NONE -key_key.hotbar.6:key.keyboard.6:NONE -key_key.hotbar.7:key.keyboard.7:NONE -key_key.hotbar.8:key.keyboard.8:NONE -key_key.hotbar.9:key.keyboard.9:NONE -key_key.clienttweaks.hideOffhandItem:key.keyboard.unknown:NONE -key_key.clienttweaks.disableStepAssist:key.keyboard.unknown:NONE -key_key.clienttweaks.disableLogStripping:key.keyboard.unknown:NONE -key_key.argonauts.open_party_chat:key.keyboard.y:NONE -key_key.argonauts.open_guild_chat:key.keyboard.u:NONE -key_gui.xaero_open_map:key.keyboard.m:NONE -key_gui.xaero_open_settings:key.keyboard.right.bracket:NONE -key_gui.xaero_map_zoom_in:key.keyboard.unknown:NONE -key_gui.xaero_map_zoom_out:key.keyboard.unknown:NONE -key_gui.xaero_quick_confirm:key.keyboard.right.shift:NONE -key_placebo.toggleTrails:key.keyboard.unknown:NONE -key_placebo.toggleWings:key.keyboard.unknown:NONE -key_key.modernfix.config:key.keyboard.unknown:NONE -key_key.heracles.open_quests:key.keyboard.unknown:NONE -key_keybind.sophisticatedbackpacks.open_backpack:key.keyboard.b:NONE -key_keybind.sophisticatedbackpacks.inventory_interaction:key.keyboard.c:NONE -key_keybind.sophisticatedbackpacks.tool_swap:key.keyboard.unknown:NONE -key_keybind.sophisticatedbackpacks.sort:key.mouse.middle:NONE -key_keybind.sophisticatedbackpacks.toggle_upgrade_1:key.keyboard.unknown:NONE -key_keybind.sophisticatedbackpacks.toggle_upgrade_2:key.keyboard.unknown:NONE -key_keybind.sophisticatedbackpacks.toggle_upgrade_3:key.keyboard.unknown:NONE -key_keybind.sophisticatedbackpacks.toggle_upgrade_4:key.keyboard.unknown:NONE -key_keybind.sophisticatedbackpacks.toggle_upgrade_5:key.keyboard.unknown:NONE -key_key.corpse.death_history:key.keyboard.unknown:NONE -key_tfc.key.place_block:key.keyboard.v:NONE -key_tfc.key.cycle_chisel_mode:key.keyboard.n:NONE -key_tfc.key.stack_food:key.keyboard.i:NONE -key_key.jade.config:key.keyboard.keypad.0:NONE -key_key.jade.show_overlay:key.keyboard.keypad.1:NONE -key_key.jade.toggle_liquid:key.keyboard.keypad.2:NONE -key_key.jade.show_recipes:key.keyboard.keypad.3:NONE -key_key.jade.show_uses:key.keyboard.keypad.4:NONE -key_key.jade.narrate:key.keyboard.keypad.5:NONE -key_key.jade.show_details:key.keyboard.left.shift:NONE -key_key.ae2.guide:key.keyboard.unknown:NONE -key_key.ae2.wireless_pattern_access_terminal:key.keyboard.unknown:NONE -key_key.ae2.ae2wtlib_restock:key.keyboard.unknown:NONE -key_key.ae2.ae2wtlib_magnet:key.keyboard.unknown:NONE -key_key.ae2.portable_item_cell:key.keyboard.unknown:NONE -key_key.ae2.portable_fluid_cell:key.keyboard.unknown:NONE -key_key.ae2.wireless_pattern_encoding_terminal:key.keyboard.unknown:NONE -key_key.ae2.wireless_terminal:key.keyboard.unknown:NONE -key_key.astikorcarts.desc:key.keyboard.r:NONE -key_key.curios.open.desc:key.keyboard.unknown:NONE -key_create.keyinfo.toolmenu:key.keyboard.left.alt:NONE -key_create.keyinfo.toolbelt:key.keyboard.left.alt:NONE -key_gui.xaero_switch_waypoint_set:key.keyboard.unknown:NONE -key_gui.xaero_instant_waypoint:key.keyboard.unknown:NONE -key_gui.xaero_toggle_slime:key.keyboard.unknown:NONE -key_gui.xaero_toggle_grid:key.keyboard.unknown:NONE -key_gui.xaero_toggle_waypoints:key.keyboard.unknown:NONE -key_gui.xaero_toggle_map_waypoints:key.keyboard.unknown:NONE -key_gui.xaero_toggle_map:key.keyboard.unknown:NONE -key_gui.xaero_enlarge_map:key.keyboard.z:NONE -key_gui.xaero_waypoints_key:key.keyboard.unknown:NONE -key_gui.xaero_zoom_in:key.keyboard.equal:NONE -key_gui.xaero_zoom_out:key.keyboard.minus:NONE -key_gui.xaero_new_waypoint:key.keyboard.semicolon:NONE -key_gui.xaero_display_all_sets:key.keyboard.unknown:NONE -key_gui.xaero_toggle_light_overlay:key.keyboard.unknown:NONE -key_gui.xaero_toggle_entity_radar:key.keyboard.unknown:NONE -key_gui.xaero_reverse_entity_radar:key.keyboard.unknown:NONE -key_gui.xaero_toggle_manual_cave_mode:key.keyboard.unknown:NONE -key_gui.xaero_alternative_list_players:key.keyboard.unknown:NONE -key_gui.xaero_toggle_tracked_players:key.keyboard.unknown:NONE -key_gui.xaero_toggle_pac_chunk_claims:key.keyboard.unknown:NONE -key_gui.xaero_minimap_settings:key.keyboard.unknown:NONE -key_iris.keybind.reload:key.keyboard.r:ALT -key_iris.keybind.toggleShaders:key.keyboard.unknown:NONE -key_iris.keybind.shaderPackSelection:key.keyboard.unknown:NONE -key_key.prometheus.open_homes:key.keyboard.unknown:NONE -key_key.inventoryhud.toggle:key.keyboard.unknown:NONE -key_key.inventoryhud.openconfig:key.keyboard.unknown:NONE -key_key.inventoryhud.togglepot:key.keyboard.unknown:NONE -key_key.inventoryhud.togglearm:key.keyboard.unknown:NONE -key_key.inventoryhud.toggleall:key.keyboard.unknown:NONE -key_Reload Menu | CTRL + ALT + :key.keyboard.r:NONE -key_Toggle Customization Overlay | CTRL + ALT + :key.keyboard.c:NONE -key_cos.key.opencosarmorinventory:key.keyboard.unknown:NONE -key_key.entityculling.toggle:key.keyboard.unknown:NONE -key_key.craftpresence.config_keycode.name:key.keyboard.unknown:NONE -key_gui.xaero_pac_key_open_menu:key.keyboard.apostrophe:NONE diff --git a/config/embeddium-fingerprint.json b/config/embeddium-fingerprint.json deleted file mode 100644 index 618c3676b..000000000 --- a/config/embeddium-fingerprint.json +++ /dev/null @@ -1 +0,0 @@ -{"v":1,"s":"c0b34a5e7fe2306365598eb027e8815f373072d20ef2e26717874e8e30594b9bbd068eba006de61846d89591a025981c2b98df37cbacfacf4e13db9f73038778","u":"2dbcf038c3ef19d1f5a31ac3148b5afa2b60297c006096fe3e227ad4f46fc1fe455cab09ab37a47d1538232228964d418e9c638a2d950a7018139f111df590d0","p":"0c28fe5e1ff70726b8b0b8a606841056ca88e827c25f5a417a21fa3ee7d47a3f48fc7071f8a97b66842401effe31260e7380dcae3c6fe5f0decc3800ed1d3db5","t":1714472035} \ No newline at end of file diff --git a/config/embeddium-options.json b/config/embeddium-options.json index ff443abf5..1456a73f7 100644 --- a/config/embeddium-options.json +++ b/config/embeddium-options.json @@ -2,7 +2,8 @@ "quality": { "weather_quality": "DEFAULT", "leaves_quality": "DEFAULT", - "enable_vignette": true + "enable_vignette": true, + "use_quad_normals_for_shading": false }, "advanced": { "enable_memory_tracing": false, @@ -18,7 +19,7 @@ "use_fog_occlusion": true, "use_block_face_culling": true, "use_compact_vertex_format": true, - "use_translucent_face_sorting": false, + "use_translucent_face_sorting_v2": true, "use_no_error_g_l_context": true }, "notifications": { diff --git a/config/emi.css b/config/emi.css index 45f5f26a0..d9344f8d1 100644 --- a/config/emi.css +++ b/config/emi.css @@ -96,9 +96,10 @@ empty-search-sidebar-focus: none; /** - * The amount of vertical margin to give in the recipe screen. + * The maximum height the recipe screen will grow to be if space is available in + * pixels. */ - vertical-margin: 20; + maximum-recipe-screen-height: 256; /** * The minimum width of the recipe screen in pixels. Controls how many tabs there @@ -107,6 +108,11 @@ */ minimum-recipe-screen-width: 176; + /** + * The amount of vertical margin to give in the recipe screen. + */ + vertical-margin: 20; + /** * Where to show workstations in the recipe screen */ @@ -292,7 +298,7 @@ toggle-visibility: "key.keyboard.unknown"; /** - * Focuse the search bar. + * Focuses the search bar. */ focus-search: "ctrl key.keyboard.f"; diff --git a/config/everycomp-common.toml b/config/everycomp-common.toml index 866518931..53915b7bd 100644 --- a/config/everycomp-common.toml +++ b/config/everycomp-common.toml @@ -19,56 +19,3 @@ #Only show on advanced settings show_on_advanced_tooltips = false - #Disables certain types - [general.types] - - [general.types.leaves_type] - - [general.types.leaves_type.gtceu] - rubber = false - - [general.types.wood_type] - - [general.types.wood_type.gtceu] - rubber = false - - [general.types.wood_type.tfc] - acacia = true - ash = true - aspen = true - birch = true - blackwood = true - chestnut = true - douglas_fir = true - hickory = true - kapok = true - mangrove = true - maple = true - oak = true - palm = true - pine = true - rosewood = true - sequoia = true - spruce = true - sycamore = true - white_cedar = true - willow = true - - #Disables specific entries - [general.entries] - - [general.entries.wood_type] - - [general.entries.wood_type.storagedrawers] - full_drawers_2 = true - half_drawers_1 = true - full_drawers_4 = true - half_drawers_4 = true - trim = true - half_drawers_2 = true - full_drawers_1 = true - - [general.entries.wood_type.create] - window_pane = true - window = true - diff --git a/config/everycomp-entries.toml b/config/everycomp-entries.toml new file mode 100644 index 000000000..ee27b897b --- /dev/null +++ b/config/everycomp-entries.toml @@ -0,0 +1,79 @@ + +#Disables certain types. Note that all these configs, like in any other mod, only hide stuff from tabs and disable their recipes +[types] + + [types.leaves_type] + + [types.leaves_type.gtceu] + rubber = false + + [types.wood_type] + + [types.wood_type.tfc] + acacia = true + ash = true + aspen = true + birch = true + blackwood = true + chestnut = true + douglas_fir = true + hickory = true + kapok = true + mangrove = true + maple = true + oak = true + palm = true + pine = true + rosewood = true + sequoia = true + spruce = true + sycamore = true + white_cedar = true + willow = true + + [types.wood_type.gtceu] + rubber = false + + [types.stone_type] + + [types.stone_type.gtceu] + coke_oven = false + red_granite = false + marble = false + light_concrete = false + dark_concrete = false + + [types.stone_type.create] + cut_granite = false + cut_diorite = false + cut_andesite = false + cut_calcite = false + cut_dripstone = false + cut_deepslate = false + cut_tuff = false + cut_asurine = false + cut_crimsite = false + cut_limestone = false + cut_ochrum = false + cut_scoria = false + cut_scorchia = false + cut_veridium = false + +#Disables specific entries +[entries] + + [entries.wood_type] + + [entries.wood_type.create] + window_pane = true + window = true + + [entries.wood_type.storagedrawers] + full_drawers_2 = true + half_drawers_1 = true + full_drawers_4 = true + half_drawers_4 = true + trim = true + half_drawers_2 = true + full_drawers_1 = true + diff --git a/config/everycomp-hazardous.properties b/config/everycomp-hazardous.properties deleted file mode 100644 index 20072f7ba..000000000 --- a/config/everycomp-hazardous.properties +++ /dev/null @@ -1,2 +0,0 @@ -#Hard disable entire modules. Use at your own risk and don't ask for support if you use this -#Mon Apr 22 18:18:22 NOVT 2024 diff --git a/config/fancymenu/options.txt b/config/fancymenu/options.txt index 337a74303..3ac5845e4 100644 --- a/config/fancymenu/options.txt +++ b/config/fancymenu/options.txt @@ -72,4 +72,9 @@ B:debug_overlay_show_basic_screen_category = 'true'; B:debug_overlay_show_system_category = 'true'; B:debug_overlay_show_advanced_screen_category = 'true'; B:show_debug_overlay = 'false'; -B:debug_overlay_show_resources_category = 'true'; \ No newline at end of file +B:debug_overlay_show_resources_category = 'true'; + + +##[tutorial] + +B:show_welcome_screen = 'false'; \ No newline at end of file diff --git a/config/forgivingworld.json b/config/forgivingworld.json new file mode 100644 index 000000000..67f90ae32 --- /dev/null +++ b/config/forgivingworld.json @@ -0,0 +1,51 @@ +{ + "disableVanillaPortals": { + "desc:": "Disables vanilla portals, default:false", + "disableVanillaPortals": false + }, + "teleportCooldown": { + "desc:": "Sets a delay before you can teleport again, default:15 seconds", + "teleportCooldown": 15 + }, + "instantTeleport": { + "desc:": "Instantly teleports instead of notifying the user over time,(Note this causes some lag, due to loading chunks directly) default:false", + "instantTeleport": false + }, + "teleportedRidden": { + "desc:": "Teleport ridden entities too, default:true", + "teleportedRidden": true + }, + "teleportLeashed": { + "desc:": "Teleport leashed entities too, default:true", + "teleportLeashed": true + }, + "debuglogging": { + "desc:": "Enable debug logging, default:false", + "debuglogging": false + }, + "dimensionconnections": [ + { + "from": "minecraft:overworld", + "to": "minecraft:the_nether", + "xcoordmultiplier": 0.125, + "zcoordmultiplier": 0.125, + "teleporttype": { + "teleporttype": "AIR", + "teleport_to_y": 125 + }, + "belowy": -60, + "slowfallticks": 400 + }, + { + "from": "minecraft:the_nether", + "to": "minecraft:overworld", + "xcoordmultiplier": 8.0, + "zcoordmultiplier": 8.0, + "teleporttype": { + "teleporttype": "CAVE", + "teleport_to_y": -60 + }, + "abovey": 121 + } + ] +} \ No newline at end of file diff --git a/config/ftbquests/quests/chapters/ae2.snbt b/config/ftbquests/quests/chapters/ae2.snbt index 4c38b476a..010ca0959 100644 --- a/config/ftbquests/quests/chapters/ae2.snbt +++ b/config/ftbquests/quests/chapters/ae2.snbt @@ -1922,7 +1922,7 @@ Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - "ftbfiltersystem:filter": "or(item(gtceu:rich_raw_certus_quartz)item(gtceu:raw_certus_quartz)item(gtceu:poor_raw_certus_quartz))" + "ftbfiltersystem:filter": "or(item(gtceu:rich_raw_certus_quartz)item(gtceu:raw_certus_quartz)item(gtceu:poor_raw_certus_quartz))" } } title: "Any #forge:ores/certus_quartz" diff --git a/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt b/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt index a328e0bac..20696066a 100644 --- a/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt +++ b/config/ftbquests/quests/chapters/luv__ludicrous_voltage.snbt @@ -613,7 +613,7 @@ "" "&l&3Lore:&r&o There may be a rebalance for these in the future. See the Multiblock Miner quest for details." ] - hide: true + hide_until_deps_visible: true id: "1BE779AF4487E3EB" shape: "rsquare" size: 0.66d diff --git a/config/ftbquests/quests/chapters/primitive_age.snbt b/config/ftbquests/quests/chapters/primitive_age.snbt index 73181c5cd..979cc3d12 100644 --- a/config/ftbquests/quests/chapters/primitive_age.snbt +++ b/config/ftbquests/quests/chapters/primitive_age.snbt @@ -371,11 +371,7 @@ } { dependencies: ["76EF4D00586A8B74"] - description: [ - "{quests.387DEEADF4922AB3.d1}" - "" - "{ \"text\": \"Excel Link (Tap here)\", \"color\":\"#02FF00\", \"clickEvent\": { \"action\": \"open_url\", \"value\": \"https://docs.google.com/spreadsheets/d/1P3Baz4y5vgJ3XrCoNs4l3BXGPiFEPlW7i4taPEWpTB4\" } }" - ] + description: ["{quests.387DEEADF4922AB3.d1}"] icon: "gtceu:shale_aluminium_ore" id: "387DEEADF4922AB3" subtitle: "{quests.387DEEADF4922AB3.st}" @@ -1736,8 +1732,9 @@ hide_dependency_lines: true id: "3029097F88B8AABF" size: 1.5d + subtitle: "Broke ore using Hammer (Not Mining Hammer)" tasks: [{ - id: "37D21B5266C73385" + id: "0F58D0E86DAC23CD" item: "gtceu:crushed_graphite_ore" type: "item" }] @@ -2233,12 +2230,12 @@ hide_dependency_lines: true id: "73BF0075860E666B" tasks: [{ - id: "54334DA4AC22438E" + id: "0B0CF81DC4968709" item: { Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - "ftbfiltersystem:filter": "or(item(gtceu:poor_raw_chalcopyrite)item(gtceu:raw_chalcopyrite)item(gtceu:rich_raw_chalcopyrite)item(tfc:ore/small_tetrahedrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:raw_tetrahedrite)item(gtceu:rich_raw_tetrahedrite)item(tfc:ore/small_malachite)item(gtceu:poor_raw_malachite)item(gtceu:raw_malachite)item(gtceu:rich_raw_malachite)item(tfc:ore/small_native_copper)item(gtceu:poor_raw_copper)item(minecraft:raw_copper)item(gtceu:rich_raw_copper))" + "ftbfiltersystem:filter": "or(item(gtceu:tiny_copper_dust)item(gtceu:tiny_chalcopyrite_dust)item(gtceu:tiny_tetrahedrite_dust)item(gtceu:tiny_malachite_dust)item(minecraft:raw_copper)item(gtceu:raw_chalcopyrite)item(gtceu:raw_tetrahedrite)item(gtceu:raw_malachite)item(gtceu:rich_raw_copper)item(gtceu:rich_raw_chalcopyrite)item(gtceu:rich_raw_tetrahedrite)item(gtceu:rich_raw_malachite)item(gtceu:poor_raw_copper)item(gtceu:poor_raw_chalcopyrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:poor_raw_malachite)item(tfc:ore/small_native_copper)item(tfc:ore/small_malachite)item(tfc:ore/small_tetrahedrite))" } } title: "Any Copper Ore" @@ -2263,32 +2260,29 @@ id: "2DEEDED2F21E60B9" tasks: [ { - id: "024533C5E4B89787" + id: "61FBFAD12DD6486F" item: { Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - display: { - Name: "{\"text\":\"any tin ore\"}" - } - "ftbfiltersystem:filter": "or(item(tfc:ore/small_cassiterite)item(gtceu:raw_tin)item(gtceu:raw_cassiterite)item(gtceu:raw_cassiterite_sand)item(gtceu:poor_raw_tin)item(gtceu:poor_raw_cassiterite)item(gtceu:poor_raw_cassiterite_sand)item(gtceu:rich_raw_tin)item(gtceu:rich_raw_cassiterite)item(gtceu:rich_raw_cassiterite_sand))" - } - } - title: "Any Tin Ore" - type: "item" - } - { - id: "26C207A03F30FB27" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:poor_raw_chalcopyrite)item(gtceu:raw_chalcopyrite)item(gtceu:rich_raw_chalcopyrite)item(tfc:ore/small_tetrahedrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:raw_tetrahedrite)item(gtceu:rich_raw_tetrahedrite)item(tfc:ore/small_malachite)item(gtceu:poor_raw_malachite)item(gtceu:raw_malachite)item(gtceu:rich_raw_malachite)item(tfc:ore/small_native_copper)item(gtceu:poor_raw_copper)item(minecraft:raw_copper)item(gtceu:rich_raw_copper))" + "ftbfiltersystem:filter": "or(item(gtceu:tiny_copper_dust)item(gtceu:tiny_chalcopyrite_dust)item(gtceu:tiny_tetrahedrite_dust)item(gtceu:tiny_malachite_dust)item(minecraft:raw_copper)item(gtceu:raw_chalcopyrite)item(gtceu:raw_tetrahedrite)item(gtceu:raw_malachite)item(gtceu:rich_raw_copper)item(gtceu:rich_raw_chalcopyrite)item(gtceu:rich_raw_tetrahedrite)item(gtceu:rich_raw_malachite)item(gtceu:poor_raw_copper)item(gtceu:poor_raw_chalcopyrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:poor_raw_malachite)item(tfc:ore/small_native_copper)item(tfc:ore/small_malachite)item(tfc:ore/small_tetrahedrite))" } } title: "Any Copper Ore" type: "item" } + { + id: "4A4A9E47E7251680" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfc:ore/small_cassiterite)item(gtceu:tiny_tin_dust)item(gtceu:tiny_cassiterite_sand_dust)item(gtceu:tiny_cassiterite_dust)item(gtceu:raw_tin)item(gtceu:raw_cassiterite)item(gtceu:raw_cassiterite_sand)item(gtceu:rich_raw_tin)item(gtceu:rich_raw_cassiterite)item(gtceu:rich_raw_cassiterite_sand)item(gtceu:poor_raw_tin)item(gtceu:poor_raw_cassiterite)item(gtceu:poor_raw_cassiterite_sand))" + } + } + title: "Any Tin Ore" + type: "item" + } ] title: "Resources for ordinary bronze" x: 18.5d @@ -2299,12 +2293,12 @@ hide_dependency_lines: true id: "566FA805413004CF" tasks: [{ - id: "7E987D9B30125F52" + id: "74026020BB7FD0C8" item: { Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - "ftbfiltersystem:filter": "or(item(gtceu:rich_raw_hematite)item(gtceu:raw_hematite)item(tfc:ore/small_hematite)item(gtceu:poor_raw_hematite)item(gtceu:rich_raw_yellow_limonite)item(tfc:ore/small_limonite)item(gtceu:poor_raw_yellow_limonite)item(gtceu:raw_yellow_limonite)item(tfc:ore/small_magnetite)item(gtceu:poor_raw_magnetite)item(gtceu:raw_magnetite)item(gtceu:rich_raw_magnetite)item(gtceu:poor_raw_iron)item(minecraft:raw_iron)item(gtceu:rich_raw_iron)item(gtceu:poor_raw_goethite)item(gtceu:raw_goethite)item(gtceu:rich_raw_goethite)item(gtceu:poor_raw_pyrite)item(gtceu:raw_pyrite)item(gtceu:rich_raw_pyrite)item(gtceu:crushed_yellow_limonite_ore))" + "ftbfiltersystem:filter": "or(item(minecraft:raw_iron)item(tfc:ore/small_hematite)item(tfc:ore/small_magnetite)item(tfc:ore/small_limonite)item(gtceu:tiny_iron_dust)item(gtceu:tiny_hematite_dust)item(gtceu:tiny_goethite_dust)item(gtceu:tiny_magnetite_dust)item(gtceu:tiny_pyrite_dust)item(gtceu:tiny_yellow_limonite_dust)item(gtceu:raw_hematite)item(gtceu:raw_goethite)item(gtceu:raw_pyrite)item(gtceu:raw_yellow_limonite)item(gtceu:poor_raw_iron)item(gtceu:poor_raw_hematite)item(gtceu:poor_raw_goethite)item(gtceu:poor_raw_magnetite)item(gtceu:poor_raw_pyrite)item(gtceu:poor_raw_yellow_limonite)item(gtceu:rich_raw_iron)item(gtceu:rich_raw_hematite)item(gtceu:rich_raw_goethite)item(gtceu:rich_raw_magnetite)item(gtceu:rich_raw_pyrite)item(gtceu:rich_raw_yellow_limonite))" } } title: "Any Iron Ore" @@ -2400,47 +2394,41 @@ subtitle: "Cheap and shiny" tasks: [ { - id: "7EBB6EC50EE8CFA1" + id: "72D482BA2D14A873" item: { Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - display: { - Name: "{\"text\":\"any bismuth ore\"}" - } - "ftbfiltersystem:filter": "or(item(tfc:ore/small_bismuthinite)item(gtceu:raw_bismuth)item(gtceu:poor_raw_bismuth)item(gtceu:rich_raw_bismuth))" - } - } - title: "Any Bismuth Ore" - type: "item" - } - { - id: "51BEF595B2A3014C" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - display: { - Name: "{\"text\":\"any sphalerite ore\"}" - } - "ftbfiltersystem:filter": "or(item(tfc:ore/small_sphalerite)item(gtceu:raw_sphalerite)item(gtceu:poor_raw_sphalerite)item(gtceu:rich_raw_sphalerite))" - } - } - title: "Any Sphalerite Ore" - type: "item" - } - { - id: "74F88351793C165A" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:poor_raw_chalcopyrite)item(gtceu:raw_chalcopyrite)item(gtceu:rich_raw_chalcopyrite)item(tfc:ore/small_tetrahedrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:raw_tetrahedrite)item(gtceu:rich_raw_tetrahedrite)item(tfc:ore/small_malachite)item(gtceu:poor_raw_malachite)item(gtceu:raw_malachite)item(gtceu:rich_raw_malachite)item(tfc:ore/small_native_copper)item(gtceu:poor_raw_copper)item(minecraft:raw_copper)item(gtceu:rich_raw_copper))" + "ftbfiltersystem:filter": "or(item(gtceu:tiny_copper_dust)item(gtceu:tiny_chalcopyrite_dust)item(gtceu:tiny_tetrahedrite_dust)item(gtceu:tiny_malachite_dust)item(minecraft:raw_copper)item(gtceu:raw_chalcopyrite)item(gtceu:raw_tetrahedrite)item(gtceu:raw_malachite)item(gtceu:rich_raw_copper)item(gtceu:rich_raw_chalcopyrite)item(gtceu:rich_raw_tetrahedrite)item(gtceu:rich_raw_malachite)item(gtceu:poor_raw_copper)item(gtceu:poor_raw_chalcopyrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:poor_raw_malachite)item(tfc:ore/small_native_copper)item(tfc:ore/small_malachite)item(tfc:ore/small_tetrahedrite))" } } title: "Any Copper Ore" type: "item" } + { + id: "7EE7D70C8B855FD4" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfc:ore/small_sphalerite)item(gtceu:tiny_zinc_dust)item(gtceu:tiny_sphalerite_dust)item(gtceu:raw_sphalerite)item(gtceu:poor_raw_sphalerite)item(gtceu:rich_raw_sphalerite))" + } + } + title: "Any Zinc Ore" + type: "item" + } + { + id: "0828B00285E5DBD8" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(gtceu:tiny_bismuth_dust)item(tfc:ore/small_bismuthinite)item(gtceu:raw_bismuth)item(gtceu:rich_raw_bismuth)item(gtceu:poor_raw_bismuth))" + } + } + title: "Any Bismuth Ore" + type: "item" + } ] title: "Resources for Bismuth bronze" x: 18.5d @@ -2463,39 +2451,36 @@ subtitle: "Expensive and black" tasks: [ { - id: "1294B28A98775920" + id: "45C62339992715C9" item: { Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - display: { - Name: "{\"text\":\"any silver ore\"}" - } - "ftbfiltersystem:filter": "or(item(tfc:ore/small_native_silver)item(gtceu:poor_raw_silver)item(gtceu:rich_raw_silver)item(gtceu:raw_silver))" - } - } - title: "Any Silver Ore" - type: "item" - } - { - id: "53F7A77859F53B3D" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(gtceu:poor_raw_chalcopyrite)item(gtceu:raw_chalcopyrite)item(gtceu:rich_raw_chalcopyrite)item(tfc:ore/small_tetrahedrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:raw_tetrahedrite)item(gtceu:rich_raw_tetrahedrite)item(tfc:ore/small_malachite)item(gtceu:poor_raw_malachite)item(gtceu:raw_malachite)item(gtceu:rich_raw_malachite)item(tfc:ore/small_native_copper)item(gtceu:poor_raw_copper)item(minecraft:raw_copper)item(gtceu:rich_raw_copper))" + "ftbfiltersystem:filter": "or(item(gtceu:tiny_copper_dust)item(gtceu:tiny_chalcopyrite_dust)item(gtceu:tiny_tetrahedrite_dust)item(gtceu:tiny_malachite_dust)item(minecraft:raw_copper)item(gtceu:raw_chalcopyrite)item(gtceu:raw_tetrahedrite)item(gtceu:raw_malachite)item(gtceu:rich_raw_copper)item(gtceu:rich_raw_chalcopyrite)item(gtceu:rich_raw_tetrahedrite)item(gtceu:rich_raw_malachite)item(gtceu:poor_raw_copper)item(gtceu:poor_raw_chalcopyrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:poor_raw_malachite)item(tfc:ore/small_native_copper)item(tfc:ore/small_malachite)item(tfc:ore/small_tetrahedrite))" } } title: "Any Copper Ore" type: "item" } { - id: "755505207091F3E2" + id: "5461C4FA5EAD78F0" item: { Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - "ftbfiltersystem:filter": "or(item(minecraft:raw_gold)item(gtceu:rich_raw_gold)item(gtceu:poor_raw_gold)item(tfc:ore/small_native_gold))" + "ftbfiltersystem:filter": "or(item(tfc:ore/small_native_silver)item(gtceu:tiny_silver_dust)item(gtceu:raw_silver)item(gtceu:rich_raw_silver)item(gtceu:poor_raw_silver))" + } + } + title: "Any Silver Ore" + type: "item" + } + { + id: "0DE4CC2BCDE489C0" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(minecraft:raw_gold)item(tfc:ore/small_native_gold)item(gtceu:poor_raw_gold)item(gtceu:rich_raw_gold)item(gtceu:tiny_gold_dust))" } } title: "Any Gold Ore" @@ -2742,7 +2727,11 @@ y: 7.5d } { - dependencies: ["2765DB2E20A745F8"] + dependencies: [ + "2765DB2E20A745F8" + "48AED37B4E20A99A" + ] + dependency_requirement: "one_completed" description: ["{quests.478D0DF94D7495EF.d1}"] id: "478D0DF94D7495EF" subtitle: "{quests.478D0DF94D7495EF.st}" @@ -3022,6 +3011,7 @@ dependencies: ["0EB682B44D83D12A"] hide_dependency_lines: true id: "253860AD4DF4224C" + subtitle: "Broke ore using Hammer (Not Mining Hammer)" tasks: [{ id: "6E70D453F693036D" item: "gtceu:crushed_sulfur_ore" @@ -3250,15 +3240,12 @@ type: "item" } { - id: "305EFF0F0ECD2E16" + id: "45979C3F7588F352" item: { Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - display: { - Name: "{\"text\":\"Any Nickel Ore\"}" - } - "ftbfiltersystem:filter": "or(item(gtceu:raw_nickel)item(gtceu:raw_garnierite)item(gtceu:raw_pentlandite)item(gtceu:rich_raw_nickel)item(gtceu:rich_raw_garnierite)item(gtceu:rich_raw_pentlandite)item(gtceu:poor_raw_nickel)item(gtceu:poor_raw_garnierite)item(gtceu:poor_raw_pentlandite))" + "ftbfiltersystem:filter": "or(item(gtceu:tiny_nickel_dust)item(gtceu:tiny_garnierite_dust)item(gtceu:raw_nickel)item(gtceu:raw_garnierite)item(tfc:ore/small_garnierite)item(gtceu:poor_raw_nickel)item(gtceu:poor_raw_garnierite)item(gtceu:rich_raw_nickel)item(gtceu:rich_raw_garnierite))" } } title: "Any Nickel Ore" @@ -3576,24 +3563,24 @@ id: "483D7FE6554FDC96" tasks: [ { - id: "184806817B6D9921" + id: "7ED98EFD0C27E0FD" item: { Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - "ftbfiltersystem:filter": "or(item(tfc:ore/small_native_gold)item(gtceu:poor_raw_gold)item(minecraft:raw_gold)item(gtceu:rich_raw_gold))" + "ftbfiltersystem:filter": "or(item(minecraft:raw_gold)item(tfc:ore/small_native_gold)item(gtceu:poor_raw_gold)item(gtceu:rich_raw_gold)item(gtceu:tiny_gold_dust))" } } title: "Any Gold Ore" type: "item" } { - id: "3101B42F9E34CDA1" + id: "2A88B5EB303D2265" item: { Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - "ftbfiltersystem:filter": "or(item(tfc:ore/small_tetrahedrite)item(tfc:ore/small_malachite)item(gtceu:poor_raw_malachite)item(gtceu:raw_malachite)item(gtceu:rich_raw_malachite)item(gtceu:rich_raw_tetrahedrite)item(gtceu:raw_tetrahedrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:poor_raw_chalcopyrite)item(gtceu:raw_chalcopyrite)item(gtceu:rich_raw_chalcopyrite)item(gtceu:rich_raw_copper)item(minecraft:raw_copper)item(gtceu:poor_raw_copper)item(tfc:ore/small_native_copper))" + "ftbfiltersystem:filter": "or(item(gtceu:tiny_copper_dust)item(gtceu:tiny_chalcopyrite_dust)item(gtceu:tiny_tetrahedrite_dust)item(gtceu:tiny_malachite_dust)item(minecraft:raw_copper)item(gtceu:raw_chalcopyrite)item(gtceu:raw_tetrahedrite)item(gtceu:raw_malachite)item(gtceu:rich_raw_copper)item(gtceu:rich_raw_chalcopyrite)item(gtceu:rich_raw_tetrahedrite)item(gtceu:rich_raw_malachite)item(gtceu:poor_raw_copper)item(gtceu:poor_raw_chalcopyrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:poor_raw_malachite)item(tfc:ore/small_native_copper)item(tfc:ore/small_malachite)item(tfc:ore/small_tetrahedrite))" } } title: "Any Copper Ore" @@ -3620,27 +3607,24 @@ id: "758B2176634789F6" tasks: [ { - id: "763128F1BD1FEB9B" + id: "10F5386F960AE8C8" item: { Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - display: { - Name: "{\"text\":\"any sphalerite ore\"}" - } - "ftbfiltersystem:filter": "or(item(tfc:ore/small_sphalerite)item(gtceu:raw_sphalerite)item(gtceu:poor_raw_sphalerite)item(gtceu:rich_raw_sphalerite))" + "ftbfiltersystem:filter": "or(item(tfc:ore/small_sphalerite)item(gtceu:tiny_zinc_dust)item(gtceu:tiny_sphalerite_dust)item(gtceu:raw_sphalerite)item(gtceu:poor_raw_sphalerite)item(gtceu:rich_raw_sphalerite))" } } - title: "Any Sphalerite Ore" + title: "Any Zinc Ore" type: "item" } { - id: "34F5CDD35DDE2295" + id: "1F79B37BB871845A" item: { Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - "ftbfiltersystem:filter": "or(item(tfc:ore/small_tetrahedrite)item(tfc:ore/small_malachite)item(gtceu:poor_raw_malachite)item(gtceu:raw_malachite)item(gtceu:rich_raw_malachite)item(gtceu:rich_raw_tetrahedrite)item(gtceu:raw_tetrahedrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:poor_raw_chalcopyrite)item(gtceu:raw_chalcopyrite)item(gtceu:rich_raw_chalcopyrite)item(gtceu:rich_raw_copper)item(minecraft:raw_copper)item(gtceu:poor_raw_copper)item(tfc:ore/small_native_copper))" + "ftbfiltersystem:filter": "or(item(gtceu:tiny_copper_dust)item(gtceu:tiny_chalcopyrite_dust)item(gtceu:tiny_tetrahedrite_dust)item(gtceu:tiny_malachite_dust)item(minecraft:raw_copper)item(gtceu:raw_chalcopyrite)item(gtceu:raw_tetrahedrite)item(gtceu:raw_malachite)item(gtceu:rich_raw_copper)item(gtceu:rich_raw_chalcopyrite)item(gtceu:rich_raw_tetrahedrite)item(gtceu:rich_raw_malachite)item(gtceu:poor_raw_copper)item(gtceu:poor_raw_chalcopyrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:poor_raw_malachite)item(tfc:ore/small_native_copper)item(tfc:ore/small_malachite)item(tfc:ore/small_tetrahedrite))" } } title: "Any Copper Ore" @@ -3667,32 +3651,29 @@ id: "0E0C589495AA31E8" tasks: [ { - id: "3E9AC72D1AF2CE1A" + id: "27FEFEA3A46F09FD" item: { Count: 1 id: "ftbfiltersystem:smart_filter" tag: { - display: { - Name: "{\"text\":\"any silver ore\"}" - } - "ftbfiltersystem:filter": "or(item(tfc:ore/small_native_silver)item(gtceu:poor_raw_silver)item(gtceu:rich_raw_silver)item(gtceu:raw_silver))" - } - } - title: "Any Silver Ore" - type: "item" - } - { - id: "4E12D679975AEE9A" - item: { - Count: 1 - id: "ftbfiltersystem:smart_filter" - tag: { - "ftbfiltersystem:filter": "or(item(tfc:ore/small_tetrahedrite)item(tfc:ore/small_malachite)item(gtceu:poor_raw_malachite)item(gtceu:raw_malachite)item(gtceu:rich_raw_malachite)item(gtceu:rich_raw_tetrahedrite)item(gtceu:raw_tetrahedrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:poor_raw_chalcopyrite)item(gtceu:raw_chalcopyrite)item(gtceu:rich_raw_chalcopyrite)item(gtceu:rich_raw_copper)item(minecraft:raw_copper)item(gtceu:poor_raw_copper)item(tfc:ore/small_native_copper))" + "ftbfiltersystem:filter": "or(item(gtceu:tiny_copper_dust)item(gtceu:tiny_chalcopyrite_dust)item(gtceu:tiny_tetrahedrite_dust)item(gtceu:tiny_malachite_dust)item(minecraft:raw_copper)item(gtceu:raw_chalcopyrite)item(gtceu:raw_tetrahedrite)item(gtceu:raw_malachite)item(gtceu:rich_raw_copper)item(gtceu:rich_raw_chalcopyrite)item(gtceu:rich_raw_tetrahedrite)item(gtceu:rich_raw_malachite)item(gtceu:poor_raw_copper)item(gtceu:poor_raw_chalcopyrite)item(gtceu:poor_raw_tetrahedrite)item(gtceu:poor_raw_malachite)item(tfc:ore/small_native_copper)item(tfc:ore/small_malachite)item(tfc:ore/small_tetrahedrite))" } } title: "Any Copper Ore" type: "item" } + { + id: "6897CE0365F602F1" + item: { + Count: 1 + id: "ftbfiltersystem:smart_filter" + tag: { + "ftbfiltersystem:filter": "or(item(tfc:ore/small_native_silver)item(gtceu:tiny_silver_dust)item(gtceu:raw_silver)item(gtceu:rich_raw_silver)item(gtceu:poor_raw_silver))" + } + } + title: "Any Silver Ore" + type: "item" + } ] title: "Materials for Sterling Silver" x: 30.5d @@ -4863,7 +4844,12 @@ y: 24.0d } { - dependencies: ["2765DB2E20A745F8"] + dependencies: [ + "2765DB2E20A745F8" + "48AED37B4E20A99A" + "39E8CE6A86731567" + ] + dependency_requirement: "one_completed" id: "04D4E196824D53C4" tasks: [{ id: "0121A0A3EFBF3A46" @@ -4967,7 +4953,7 @@ } ] title: "Copper Waxing [WIP]" - x: -8.0d + x: -9.5d y: 0.0d } { @@ -4977,7 +4963,7 @@ title: "Cellar [WIP]" type: "checkmark" }] - x: -7.0d + x: -8.5d y: -1.0d } { @@ -4987,7 +4973,7 @@ title: "Bees [WIP]" type: "checkmark" }] - x: -7.0d + x: -8.5d y: 1.0d } { @@ -4997,7 +4983,7 @@ title: "Greenhouse [WIP]" type: "checkmark" }] - x: -7.0d + x: -8.5d y: 0.0d } { @@ -5127,8 +5113,8 @@ item: "etched:etching_table" type: "item" }] - x: 24.5d - y: 25.5d + x: 8.0d + y: 24.5d } { dependencies: ["6156D157921CC5A8"] @@ -5138,8 +5124,8 @@ item: "etched:album_jukebox" type: "item" }] - x: 23.0d - y: 24.0d + x: 6.5d + y: 23.0d } { dependencies: ["6156D157921CC5A8"] @@ -5149,8 +5135,8 @@ item: "etched:radio" type: "item" }] - x: 26.0d - y: 25.5d + x: 9.5d + y: 24.5d } { dependencies: ["6156D157921CC5A8"] @@ -5160,8 +5146,8 @@ item: "etched:jukebox_minecart" type: "item" }] - x: 23.0d - y: 25.5d + x: 6.5d + y: 24.5d } { dependencies: ["6156D157921CC5A8"] @@ -5171,8 +5157,8 @@ item: "etched:boombox" type: "item" }] - x: 26.0d - y: 24.0d + x: 9.5d + y: 23.0d } { dependencies: ["754CA10FD1725EC6"] @@ -5188,8 +5174,8 @@ } type: "item" }] - x: 24.5d - y: 23.0d + x: 8.0d + y: 22.0d } { dependencies: [ @@ -5203,8 +5189,8 @@ item: "etched:album_cover" type: "item" }] - x: 24.5d - y: 22.0d + x: 8.0d + y: 21.0d } { dependencies: ["38469FBD2B7998C1"] @@ -5214,9 +5200,69 @@ item: "etched:blank_music_disc" type: "item" }] + x: 8.0d + y: 23.0d + } + { + dependencies: ["23DD6D6E78F62757"] + id: "2B862C1ED65D0526" + shape: "gear" + size: 3.0d + tasks: [{ + id: "7DB951FDB7063659" + item: "gtceu:steel_brick_casing" + type: "item" + }] x: 24.5d y: 24.0d } + { + dependencies: ["445E060EF3300A49"] + id: "23DD6D6E78F62757" + tasks: [{ + count: 5L + id: "1C607358F45ABAD6" + item: { + Count: 1 + ForgeCaps: { + "tfc:item_heat": { + heat: 0.0f + ticks: 0L + } + } + id: "gtceu:steel_plate" + } + type: "item" + }] + x: 24.5d + y: 22.0d + } + { + dependencies: ["76EF4D00586A8B74"] + description: ["But how? Try to descend to a depth of y = -60 blocks. Or perhaps lower?"] + id: "30C61004FB5FA9AC" + tasks: [{ + dimension: "minecraft:the_nether" + id: "2928FC0BBF500E88" + title: "Visit Nether" + type: "dimension" + }] + x: -5.5d + y: 0.0d + } + { + dependencies: ["30C61004FB5FA9AC"] + description: ["Maybe you need to climb as high as possible? But I'm not sure."] + id: "53C8B91A1A5BBE3E" + tasks: [{ + dimension: "minecraft:overworld" + id: "162808CB268A36CE" + title: "How to escape from Alcatrazzz?" + type: "dimension" + }] + x: -7.0d + y: 0.0d + } ] title: "Primitive Age" } diff --git a/config/ftbquests/quests/chapters/steam_age.snbt b/config/ftbquests/quests/chapters/steam_age.snbt index 7a6f50fc8..937b38540 100644 --- a/config/ftbquests/quests/chapters/steam_age.snbt +++ b/config/ftbquests/quests/chapters/steam_age.snbt @@ -10,58 +10,71 @@ { id: "1C86D83D29134EBE" linked_quest: "253860AD4DF4224C" - x: 5.5d + x: -2.5d y: -6.0d } { id: "09E0E263CC81CD99" linked_quest: "2658E7679CD42ACD" - x: 9.0d - y: 4.5d + shape: "circle" + x: 3.5d + y: 1.0d } { id: "26D1A18BE2F694C4" linked_quest: "6E13B0241CB1D536" - x: 7.5d - y: 3.0d + x: -4.0d + y: -3.0d } { id: "580358D6164B9CEA" linked_quest: "04D4E196824D53C4" - x: 2.5d - y: -1.5d + x: -5.5d + y: 0.0d } { id: "4DFB0BF29099F2A1" linked_quest: "5BBF0B6AED98072E" - x: 2.5d - y: 0.0d + shape: "circle" + x: -6.5d + y: 1.5d } { id: "190A7A8C49F390C2" linked_quest: "478D0DF94D7495EF" - x: 1.0d - y: -4.5d + x: -5.5d + y: -3.0d } { id: "3426BCAE1210DAE4" linked_quest: "3FB3EE093DDC6B56" shape: "gear" size: 3.0d - x: -7.5d + x: -12.5d y: 0.0d } - { - id: "3E93FFAACC24EEA5" - linked_quest: "7B74DB051202E97E" - x: 11.5d - y: -1.0d - } { id: "5554A5384B8FBED2" linked_quest: "3E82C14AF32AA103" - x: -4.5d - y: -3.0d + shape: "gear" + size: 2.0d + x: -7.5d + y: -9.0d + } + { + id: "53F621640316AE50" + linked_quest: "2B862C1ED65D0526" + shape: "gear" + size: 3.0d + x: -10.0d + y: 5.98333333333332d + } + { + id: "4B34A70CD02F5F2D" + linked_quest: "7B74DB051202E97E" + shape: "circle" + x: -4.0d + y: -1.5d } ] quests: [ @@ -85,7 +98,7 @@ type: "item" }] title: "S is for Sulfur" - x: 5.5d + x: -2.5d y: -4.5d } { @@ -109,7 +122,7 @@ type: "item" }] title: "The First of Many Motors" - x: 7.5d + x: 2.0d y: -3.0d } { @@ -128,7 +141,7 @@ "&l&3Lore:&r&o These drums are actually ported from GregTech 6." ] id: "2B74E56C9E138F18" - shape: "rsquare" + shape: "circle" size: 1.0d subtitle: "Just kidding, tanks for fluids" tasks: [{ @@ -137,8 +150,8 @@ type: "item" }] title: "Armoured Tanks" - x: -9.0d - y: -3.0d + x: -13.5d + y: -3.5d } { dependencies: ["3F087862270F649A"] @@ -171,11 +184,14 @@ } ] title: "Molding" - x: 2.5d - y: -3.0d + x: -1.0d + y: -4.5d } { - dependencies: ["5BBF0B6AED98072E"] + dependencies: [ + "5BBF0B6AED98072E" + "612C0D994EAF0CB6" + ] description: [ "Not many items are made in the &3Extractor&r during the &6Steam Age&r, but it's used to make &9Rubber&r, which you'll need after Steel." "" @@ -187,12 +203,12 @@ subtitle: "The Steam Extractor extracts..." tasks: [{ id: "12A46916B1BC17EC" - item: "gtceu:hp_steam_extractor" + item: "gtceu:lp_steam_extractor" type: "item" }] title: "Steam Extractor" - x: 4.0d - y: 0.0d + x: -4.0d + y: 3.0d } { dependencies: [ @@ -226,7 +242,7 @@ } ] title: "Rubbering up" - x: 5.5d + x: -1.0d y: -3.0d } { @@ -251,8 +267,8 @@ type: "item" }] title: "Electronics #1: Resistors" - x: 9.0d - y: 3.0d + x: 2.0d + y: 1.0d } { dependencies: ["3FB3EE093DDC6B56"] @@ -289,30 +305,11 @@ type: "item" }] title: "Fluid Pipes" - x: -7.5d - y: -3.0d + x: -12.5d + y: -2.0d } { - dependencies: ["3F087862270F649A"] - description: [ - "&dSteam Machines&r accept any Steam that is pumped from nearby Boilers into their internal storage tank. They will run recipes from JEI up to 32 EU/t (&7LV&r-tier)." - "" - "&6This quest unlocks a new tutorial on Steam in the &lTips and Tricks&r&6 tab - check it out to learn more!&r" - ] - id: "03DBF1961AE21C76" - shape: "square" - size: 1.0d - tasks: [{ - id: "03BA041BE9C347FD" - item: "gtceu:steel_brick_casing" - type: "item" - }] - title: "Steam Machine Behaviour" - x: -0.5d - y: 0.0d - } - { - dependencies: ["03DBF1961AE21C76"] + dependencies: ["612C0D994EAF0CB6"] description: [ "The &bAlloy Smelter&r is used for, well, alloys. You'll want it for the efficient &6Bronze&r recipe, and for &4Red Alloy&r in the near future." "" @@ -324,15 +321,18 @@ subtitle: "The Alloy Smelter makes alloys..." tasks: [{ id: "2F3B195A110E41C2" - item: "gtceu:hp_steam_alloy_smelter" + item: "gtceu:lp_steam_alloy_smelter" type: "item" }] title: "Steam Alloy Smelter" - x: 2.5d - y: 1.5d + x: -5.5d + y: 3.0d } { - dependencies: ["04D4E196824D53C4"] + dependencies: [ + "04D4E196824D53C4" + "7B74DB051202E97E" + ] description: [ "Crafting Vacuum Tubes might make you question your existence. Sorry about that." "" @@ -350,8 +350,8 @@ type: "item" }] title: "Electronics #3: Vacuum Tubes" - x: 4.0d - y: -1.5d + x: -4.0d + y: 0.0d } { dependencies: ["48AED37B4E20A99A"] @@ -372,7 +372,7 @@ type: "item" }] title: "Red Alloy" - x: 4.0d + x: -4.0d y: 1.5d } { @@ -414,7 +414,7 @@ } ] title: "Electronics #4: The Circuit" - x: 9.0d + x: 2.0d y: -1.0d } { @@ -432,7 +432,7 @@ ] icon: "gtceu:potin_normal_fluid_pipe" id: "3C70B0717E9377A4" - shape: "rsquare" + shape: "circle" size: 1.0d subtitle: "...I'm going into battle, and I need only your finest Potin." tasks: [{ @@ -448,11 +448,11 @@ type: "item" }] title: "Potin Seller..." - x: -7.5d - y: -4.5d + x: -12.5d + y: -3.5d } { - dependencies: ["03DBF1961AE21C76"] + dependencies: ["612C0D994EAF0CB6"] description: [ "With the creation of this machine, many recipes that once required you to use a hammer can instead be made here!" "" @@ -468,15 +468,15 @@ subtitle: "The Forge Hammer hammers..." tasks: [{ id: "4F4074D7CE5A61A0" - item: "gtceu:hp_steam_forge_hammer" + item: "gtceu:lp_steam_forge_hammer" type: "item" }] title: "Steam Forge Hammer" - x: 1.0d - y: -1.5d + x: -1.0d + y: 3.0d } { - dependencies: ["03DBF1961AE21C76"] + dependencies: ["612C0D994EAF0CB6"] description: [ "The &bMacerator&r frees you from the painful process of &egrinding stuff into dust&r with a &3Mortar&r, but at the steep cost of time. Processing a single piece of Iron Ore in this machine will take &ctwenty seconds&r - twice the time it takes to smelt an ingot in a furnace!" "" @@ -492,11 +492,11 @@ subtitle: "The Macerator macerates..." tasks: [{ id: "6DFD6AC8CF31305C" - item: "gtceu:hp_steam_macerator" + item: "gtceu:lp_steam_macerator" type: "item" }] title: "Steam Macerator" - x: -0.5d + x: -2.5d y: 3.0d } { @@ -530,8 +530,8 @@ } ] title: "Electronics #2: Circuit Boards" - x: 5.5d - y: 3.0d + x: -2.5d + y: -3.0d } { dependencies: ["1C50A758A1DE25CB"] @@ -555,7 +555,7 @@ type: "checkmark" }] title: "What is this Mess?!" - x: -0.5d + x: -3.0d y: 4.5d } { @@ -569,7 +569,7 @@ ] icon: "gtceu:steam_grinder" id: "7FF95F1216D104B2" - shape: "square" + shape: "circle" size: 1.0d subtitle: "The Steam Oven's elder brother" tasks: [ @@ -601,11 +601,11 @@ } ] title: "Steam Grinder" - x: 1.0d + x: -2.0d y: 4.5d } { - dependencies: ["011EC2CE0111C9A0"] + dependencies: ["3B8D9846F50DEF34"] description: [ "&o...or little brother. Don't let him know!&r" "" @@ -656,24 +656,24 @@ } ] title: "Steam Oven" - x: -6.0d - y: 4.5d + x: -7.5d + y: -1.5d } { - dependencies: ["03DBF1961AE21C76"] + dependencies: ["612C0D994EAF0CB6"] description: ["The Steam Compressor unlocks some tantalising new recipes that will help you to progress towards Steel."] id: "07415D6305C3B1D2" - shape: "rsquare" + shape: "square" size: 1.0d subtitle: "The Steam Compressor compresses..." tasks: [{ id: "21C99D59F1BE48A3" - item: "gtceu:hp_steam_compressor" + item: "gtceu:lp_steam_compressor" type: "item" }] title: "Steam Compressor" - x: -0.5d - y: -1.5d + x: 0.5d + y: 3.0d } { dependencies: ["48AED37B4E20A99A"] @@ -700,7 +700,7 @@ ] icon: "gtceu:tin_small_item_pipe" id: "539CF1B85725786D" - shape: "rsquare" + shape: "circle" size: 1.0d tasks: [{ id: "158F4EEDC214A3BA" @@ -718,30 +718,30 @@ type: "item" }] title: "Item Pipes" - x: 2.5d + x: -6.5d y: 4.5d } { - dependencies: ["3F087862270F649A"] + dependencies: ["3B8D9846F50DEF34"] id: "011EC2CE0111C9A0" tasks: [{ id: "7A1C685F48E09F6B" item: "gtceu:hp_steam_furnace" type: "item" }] - x: -6.0d - y: 3.0d + x: -7.5d + y: 6.0d } { - dependencies: ["3F087862270F649A"] + dependencies: ["2F44D9034CBEB774"] id: "41F23E44E154C3E9" tasks: [{ id: "22542CDE2F0C0524" item: "gtceu:hp_steam_rock_crusher" type: "item" }] - x: -3.0d - y: 3.0d + x: 2.0d + y: 6.0d } { dependencies: [ @@ -755,12 +755,13 @@ item: "gtceu:glass_dust" type: "item" }] - x: 1.0d - y: -3.0d + x: -5.5d + y: -1.5d } { dependencies: ["3FB3EE093DDC6B56"] id: "7470E713F599B891" + shape: "circle" tasks: [{ id: "0DF1243A3267F636" item: { @@ -770,19 +771,17 @@ "ftbfiltersystem:filter": "or(item(gtceu:lp_steam_solid_boiler)item(gtceu:lp_steam_liquid_boiler)item(gtceu:lp_steam_solar_boiler))" } } - title: "Any Low Pressure Boiler" + title: "Any Low Pressure Steam Boiler" type: "item" }] - x: -6.0d - y: -3.0d + x: -11.5d + y: -3.5d } { - dependencies: [ - "3FB3EE093DDC6B56" - "445E060EF3300A49" - ] + dependencies: ["2B862C1ED65D0526"] id: "3F087862270F649A" - size: 2.0d + shape: "circle" + size: 1.0d tasks: [{ id: "0BBF678F5A0517D7" item: { @@ -795,8 +794,8 @@ title: "Any High Pressure Boiler" type: "item" }] - x: -4.5d - y: 0.0d + x: -10.0d + y: 9.5d } { dependencies: ["3E82C14AF32AA103"] @@ -807,19 +806,22 @@ item: "gtceu:treated_wood_planks" type: "item" }] - x: -4.5d - y: -5.5d + x: -4.0d + y: -9.0d } { - dependencies: ["0A522CC855BF3FEC"] + dependencies: [ + "0A522CC855BF3FEC" + "55DD22C8ECBEE079" + ] id: "252FD7ED5BF225DD" tasks: [{ id: "5E4B2C29C7893EF8" item: "gtceu:treated_wood_plate" type: "item" }] - x: -4.5d - y: -7.0d + x: -2.5d + y: -9.0d } { dependencies: [ @@ -829,15 +831,182 @@ icon: "create:large_cogwheel" id: "5CB27C93795281AB" shape: "gear" - size: 2.0d + size: 3.0d tasks: [{ id: "0D3B31329089CFE4" item: "create:cogwheel" type: "item" }] title: "The beginning of Create" - x: -0.5d - y: -7.0d + x: 0.5d + y: -9.0d + } + { + dependencies: ["07415D6305C3B1D2"] + description: ["The Steam Compressor unlocks some tantalising new recipes that will help you to progress towards Steel."] + id: "54CA9AF368FCC274" + size: 1.0d + subtitle: "The Steam Compressor compresses..." + tasks: [{ + id: "5CA938E8348E4228" + item: "gtceu:hp_steam_compressor" + type: "item" + }] + title: "Steam Compressor" + x: 0.5d + y: 6.0d + } + { + dependencies: ["1C50A758A1DE25CB"] + description: [ + "The &bMacerator&r frees you from the painful process of &egrinding stuff into dust&r with a &3Mortar&r, but at the steep cost of time. Processing a single piece of Iron Ore in this machine will take &ctwenty seconds&r - twice the time it takes to smelt an ingot in a furnace!" + "" + "The Macerator also marks the advent of &eOre Processing&r, but that's a scary topic that we'll dip our toes into in the next quest." + "{@pagebreak}" + "The macerator will output only the first item shown in recipes from JEI. The other slots are locked until you make a &6HV&r Macerator. How unfortunate..." + "" + "Our (&oimportant!&r) advice: it's actually better to keep directly smelting for now! The efficiency loss is made up with faster mining. Use the Macerator to make things like &aClay Dust&r instead!" + ] + id: "79F8CCB9AAC2418A" + shape: "square" + size: 1.0d + subtitle: "The Macerator macerates..." + tasks: [{ + id: "63E61AE537B5ED1F" + item: "gtceu:hp_steam_macerator" + type: "item" + }] + title: "Steam Macerator" + x: -2.5d + y: 6.0d + } + { + dependencies: ["48AED37B4E20A99A"] + description: [ + "The &bAlloy Smelter&r is used for, well, alloys. You'll want it for the efficient &6Bronze&r recipe, and for &4Red Alloy&r in the near future." + "" + "Out of all the &6Steam Age&r machines, this is the most steam-hungry. If you ever find yourself running out of steam, give your machine a &alove-tap&r with &dany Soft Mallet&r to momentarily pause it." + ] + id: "33B6BA83EA354B24" + shape: "square" + size: 1.0d + subtitle: "The Alloy Smelter makes alloys..." + tasks: [{ + id: "320681036ECB878D" + item: "gtceu:hp_steam_alloy_smelter" + type: "item" + }] + title: "Steam Alloy Smelter" + x: -5.5d + y: 6.0d + } + { + dependencies: ["1436DB89E21264F3"] + description: [ + "Not many items are made in the &3Extractor&r during the &6Steam Age&r, but it's used to make &9Rubber&r, which you'll need after Steel." + "" + "You can also process Dirt in the Extractor for &aBones&r, which makes getting &aBone Meal&r a lot easier for Peaceful players." + ] + id: "152A238740E6ADA8" + shape: "square" + size: 1.0d + subtitle: "The Steam Extractor extracts..." + tasks: [{ + id: "3167FD92D7FB37B5" + item: "gtceu:hp_steam_extractor" + type: "item" + }] + title: "Steam Extractor" + x: -4.0d + y: 6.0d + } + { + dependencies: ["1931FC6DEAC29646"] + description: [ + "With the creation of this machine, many recipes that once required you to use a hammer can instead be made here!" + "" + "It can process &bCobblestone into Gravel&r, and &dGravel into Sand&r - and it's zippy at that to boot." + "" + "Last but not least, it makes &aPlates&r at a better ratio: &6three Ingots for two Plates&r. A worthwhile investment!" + "" + "You know what? &aBonus&r! We'll give you the &8Anvil&r back if you craft the Forge Hammer. This is a gentle reminder that you can repair GregTech tools in an Anvil." + ] + id: "2AD496393F5F9421" + shape: "square" + size: 1.0d + subtitle: "The Forge Hammer hammers..." + tasks: [{ + id: "08DB1E42BA032AAD" + item: "gtceu:hp_steam_forge_hammer" + type: "item" + }] + title: "Steam Forge Hammer" + x: -1.0d + y: 6.0d + } + { + dependencies: ["3FB3EE093DDC6B56"] + description: [ + "&dSteam Machines&r accept any Steam that is pumped from nearby Boilers into their internal storage tank. They will run recipes from JEI up to 32 EU/t (&7LV&r-tier)." + "" + "&6This quest unlocks a new tutorial on Steam in the &lTips and Tricks&r&6 tab - check it out to learn more!&r" + ] + id: "3E1DF79F85C2AD99" + shape: "gear" + subtitle: "Open me, its important, or not?" + tasks: [{ + id: "635CBC166F9FD406" + title: "Some useful info about steam" + type: "checkmark" + }] + x: -10.0d + y: 0.0d + } + { + dependencies: ["3E1DF79F85C2AD99"] + id: "612C0D994EAF0CB6" + shape: "gear" + size: 3.0d + tasks: [{ + id: "78EB6ABEE40D1867" + item: "gtceu:bronze_machine_casing" + type: "item" + }] + x: -10.0d + y: 3.0d + } + { + dependencies: ["3E1DF79F85C2AD99"] + id: "3B8D9846F50DEF34" + tasks: [{ + id: "5C54AF2AC3307B4A" + item: "gtceu:lp_steam_furnace" + type: "item" + }] + x: -7.5d + y: 0.0d + } + { + dependencies: ["612C0D994EAF0CB6"] + id: "2F44D9034CBEB774" + tasks: [{ + id: "6F2953EC4D8DEF27" + item: "gtceu:lp_steam_rock_crusher" + type: "item" + }] + x: 2.0d + y: 3.0d + } + { + dependencies: ["1C50A758A1DE25CB"] + id: "55DD22C8ECBEE079" + tasks: [{ + id: "5B70E7F9DB1372B0" + item: "gtceu:treated_wood_dust" + type: "item" + }] + x: -2.5d + y: -7.5d } ] subtitle: ["Harness the power of Steam and learn the basics"] diff --git a/config/gcyr.yaml b/config/gcyr.yaml index 0d7c2db45..7253ab308 100644 --- a/config/gcyr.yaml +++ b/config/gcyr.yaml @@ -32,6 +32,11 @@ server: # Default: -270.0 spaceTemperature: -270.0 + # The Maximum size of a single space station. + # DO NOT CHANGE AFTER LOADING THE SPACE STATION WORLD, THAT WILL BREAK THE WORLD BORDER + # Default: 512 + spaceStationMaxSize: 512 + machine: # Damage caused by standing in an active dyson system controller's beam. (per tick) # Default: 5.0 @@ -39,25 +44,25 @@ machine: rocket: # How much fuel is required to travel to a moon or back? - # note: this is platform-specific. # Default: 8 buckets. moonFuelAmount: 8000 # How much fuel is required to travel to a planet in the same solar system? - # note: this is platform-specific. # Default: 14 buckets. solarSystemFuelAmount: 14000 # How much fuel is required to travel to a planet in the same galaxy? - # note: this is platform-specific. # Default: 26 buckets. galaxyFuelAmount: 26000 # How much fuel is required to travel to a planet anywhere? - # note: this is platform-specific. # Default: 48 buckets. anywhereFuelAmount: 48000 + # Do rockets explode if landing is executed improperly? + # Default: true. + doCrashLandingExplosion: true + client: # Offset of the oxygen bar from the left side of the screen. # Default: 32 diff --git a/config/gtceu.yaml b/config/gtceu.yaml index 613f02ac1..c9c9def8f 100644 --- a/config/gtceu.yaml +++ b/config/gtceu.yaml @@ -14,16 +14,16 @@ recipes: # Whether to make crafting recipes for Bricks, Firebricks, Nether Bricks, and Coke Bricks harder. # Default: false - harderBrickRecipes: false + harderBrickRecipes: true # Whether to nerf Wood crafting to 2 Planks from 1 Log, and 2 Sticks from 2 Planks. # Default: false - nerfWoodCrafting: false + nerfWoodCrafting: true # Whether to make Wood related recipes harder. # Excludes sticks and planks. # Default: false - hardWoodRecipes: false + hardWoodRecipes: true # Recipes for Buckets, Cauldrons, Hoppers, and Iron Bars require Iron Plates, Rods, and more. # Default: true @@ -31,16 +31,16 @@ recipes: # Whether to make Redstone related recipes harder. # Default: false - hardRedstoneRecipes: false + hardRedstoneRecipes: true # Whether to make Vanilla Tools and Armor recipes harder. # Excludes Flint and Steel, and Buckets. # Default: false - hardToolArmorRecipes: false + hardToolArmorRecipes: true # Whether to make miscellaneous recipes harder. # Default: false - hardMiscRecipes: false + hardMiscRecipes: true # Whether to make Glass related recipes harder. Default: true hardGlassRecipes: true @@ -51,7 +51,7 @@ recipes: # Recipes for items like Iron Doors, Trapdoors, Anvil require Iron Plates, Rods, and more. # Default: false - hardAdvancedIronRecipes: false + hardAdvancedIronRecipes: true # Whether to make coloring blocks like Concrete or Glass harder. # Default: false @@ -79,10 +79,18 @@ recipes: # Whether to nerf the output amounts of the first circuit in a set to 1 (from 2) and SoC to 2 (from 4). # Default: false - harderCircuitRecipes: false + harderCircuitRecipes: true + + # Whether to nerf machine controller recipes. + # Default: false + hardMultiRecipes: false + + # Whether tools should have enchants or not. Like the flint sword getting fire aspect. + # Default: true + enchantedTools: true worldgen: - # Rubber Tree spawn chance (% per chunk) + # Rubber Tree spawn chance (decimal % per chunk) # Default: 0.5 rubberTreeSpawnChance: 0.0 @@ -107,11 +115,11 @@ worldgen: oreVeins: # The grid size (in chunks) for ore vein generation # Default: 3 - oreVeinGridSize: 3 + oreVeinGridSize: 5 # The maximum random offset (in blocks) from the grid for generating an ore vein. # Default: 12 - oreVeinRandomOffset: 12 + oreVeinRandomOffset: 32 # Prevents regular vanilla ores from being generated outside GregTech ore veins # Default: true @@ -182,7 +190,7 @@ machines: # Whether Steam Multiblocks should use Steel instead of Bronze. # Default: false - steelSteamMultiblocks: true + steelSteamMultiblocks: false # Whether to enable the cleanroom, required for various recipes. # Default: true @@ -247,12 +255,102 @@ machines: # Default: 50 ldFluidPipeMinDistance: 50 + # Whether non owners can open a machine gui + # Default: false + machineOwnerGUI: true + + # Whether non owners can break a machine + # Default: false + machineOwnerBreak: true + # If High Tier (>UV-tier) GT content should be registered. # Items and Machines enabled with this config will have missing recipes by default. # This is intended for modpack developers only, and is not playable without custom tweaks or addons. # Other mods can override this to true, regardless of the config file. # Default: false - highTierContent: false + highTierContent: true + + # Whether the Assembly Line should require the item inputs to be in order. + # Default: true + orderedAssemblyLineItems: true + + # Whether the Assembly Line should require the fluid inputs to be in order. + # (Requires Ordered Assembly Line Item Inputs to be enabled.) + # Default: false + orderedAssemblyLineFluids: true + + # Let Dual Hatch has more ability. (DEPRECATED: does nothing now) + # When enabled it, Dual Hatch will can used to assemble line and so on. + # Need restart Minecraft to apply. + enableMoreDualHatchAbility: true + + # Default maximum parallel of steam multiblocks + # Default: 8 + steamMultiParallelAmount: 8 + + # Small Steam Boiler Options + smallBoilers: + # The amount of steam a Steam Solid Boiler produces per second at max temperature. + # Default: 120 + solidBoilerBaseOutput: 120 + + # The amount of steam a High Pressure Steam Solid Boiler produces per second at max temperature. + # Default: 300 + hpSolidBoilerBaseOutput: 300 + + # The amount of steam a Steam Liquid Boiler produces per second at max temperature. + # Default: 240 + liquidBoilerBaseOutput: 240 + + # The amount of steam a High Pressure Steam Liquid Boiler produces per second at max temperature. + # Default: 600 + hpLiquidBoilerBaseOutput: 600 + + # The amount of steam a Steam Solar Boiler produces per second at max temperature. + # Default: 120 + solarBoilerBaseOutput: 120 + + # The amount of steam a High Pressure Steam Solar Boiler produces per second at max temperature. + # Default: 360 + hpSolarBoilerBaseOutput: 360 + + # Large Steam Boiler Options + largeBoilers: + # The conversion rate between water and steam in Large Boilers. + # Default: 160 + steamPerWater: 160 + + # The max temperature of the Large Bronze Boiler. + # Default: 800 + bronzeBoilerMaxTemperature: 800 + + # The heat speed of the Large Bronze Boiler. + # Default: 1 + bronzeBoilerHeatSpeed: 1 + + # The max temperature of the Large Steel Boiler. + # Default: 1800 + steelBoilerMaxTemperature: 1800 + + # The heat speed of the Large Steel Boiler. + # Default: 1 + steelBoilerHeatSpeed: 1 + + # The max temperature of the Large Titanium Boiler. + # Default: 3200 + titaniumBoilerMaxTemperature: 3200 + + # The heat speed of the Large Titanium Boiler. + # Default: 1 + titaniumBoilerHeatSpeed: 1 + + # The max temperature of the Large Tungstensteel Boiler. + # Default: 6400 + tungstensteelBoilerMaxTemperature: 6400 + + # The heat speed of the Large Tungstensteel Boiler. + # Default: 2 + tungstensteelBoilerHeatSpeed: 2 client: # Whether or not to enable Emissive Textures for GregTech Machines. @@ -273,12 +371,12 @@ client: defaultPaintingColor: #FFFFFF # The default color to overlay onto Machine (and other) UIs. - # 16777215 (#FFFFFF) is no coloring (like GTCE). - # 13819135 (#D2DCFF in decimal) is the classic blue from GT5 (default). + # 16777215 (#FFFFFF) is no coloring (like GTCE) (default). + # 13819135 (#D2DCFF in decimal) is the classic blue from GT5. defaultUIColor: #FFFFFF # Use VBO cache for multiblock preview. - # Disable it if you have issues with rendering multiblocks. + # Disable if you have issues with rendering multiblocks. # Default: true useVBO: true @@ -317,12 +415,74 @@ tools: # Default: 16 sprayCanChainLength: 16 + # NanoSaber Options + nanoSaber: + # The additional damage added when the NanoSaber is powered. + # Default: 20.0 + nanoSaberDamageBoost: 20.0 + + # The base damage of the NanoSaber. + # Default: 5.0 + nanoSaberBaseDamage: 5.0 + + # Should Zombies spawn with charged, active NanoSabers on hard difficulty? + # Default: true + zombieSpawnWithSabers: true + + # The EU/t consumption of the NanoSaber. + # Default: 64 + energyConsumption: 64 + + # NightVision Goggles Voltage Tier. Default: 1 (LV) + voltageTierNightVision: 1 + + # NanoSuit Voltage Tier. Default: 3 (HV) + voltageTierNanoSuit: 3 + + # Advanced NanoSuit Chestplate Voltage Tier. + # Default: 3 (HV) + voltageTierAdvNanoSuit: 3 + + # QuarkTech Suit Voltage Tier. + # Default: 5 (IV) + voltageTierQuarkTech: 5 + + # Advanced QuarkTech Suit Chestplate Voltage Tier. + # Default: 5 (LuV) + voltageTierAdvQuarkTech: 6 + + # Electric Impeller Jetpack Voltage Tier. + # Default: 2 (MV) + voltageTierImpeller: 2 + + # Advanced Electric Jetpack Voltage Tier. + # Default: 3 (HV) + voltageTierAdvImpeller: 3 + # Config options for Game Mechanics gameplay: # Enable hazardous materials # Default: true hazardsEnabled: true + # Whether hazards are applied to all valid items, or just GT's. + # true = all, false = GT only. + # Default: true + universalHazards: true + + # Whether environmental hazards like pollution or radiation are active + # Default: true + environmentalHazards: true + + # How much environmental hazards decay per chunk, per tick. + # Default: 0.001 + environmentalHazardDecayRate: 0.001 + + # Whether the GTCEu's ingame guidebook, 'Compass', be enabled. + # WARNING: INCOMPLETE + # Default: false + enableCompass: false + # Config options for Mod Compatibility compat: # Config options regarding GTEU compatibility with other energy systems @@ -346,6 +506,17 @@ compat: # Default: 4 FE/Energy == 1 EU euToPlatformRatio: 4 + # Config options regarding GTCEu compatibility with AE2 + ae2: + # The interval between ME Hatch/Bus interact ME network. + # It may cause lag if the interval is too small. + # Default: 2 sec + updateIntervals: 40 + + # The energy consumption of ME Hatch/Bus. + # Default: 1.0AE/t + meHatchEnergyUsage: 1.0 + # Whether to hide facades of all blocks in JEI and creative search menu. # Default: true hideFacadesInJEI: true @@ -354,12 +525,20 @@ compat: # Default: true hideFilledCellsInJEI: true + # Whether to hide the ore processing diagrams in JEI + # Default: false + hideOreProcessingDiagrams: false + # Whether Gregtech should remove smelting recipes from the vanilla furnace for ingots requiring the Electric Blast Furnace. # Default: true removeSmeltingForEBFMetals: true + # Whether dimension marker should show dimension tier. + # Default: false + showDimensionTier: true + dev: - # Debug general events? (will print placed veins to server's debug.log) + # Debug general events? (will print recipe conficts etc. to server's debug.log) # Default: false debug: false diff --git a/config/iconexporter-common.toml b/config/iconexporter-common.toml new file mode 100644 index 000000000..2ad215612 --- /dev/null +++ b/config/iconexporter-common.toml @@ -0,0 +1,17 @@ + +[core] + + [core.general] + #If mod compatibility loader should crash hard if errors occur in that process. + crashOnModCompatCrash = false + #The default image width in px to render at. + defaultScale = 32 + #If the NBT tag should be hashed with MD5 when constructing the file name, and if an auxiliary txt file should be created with the full tag contents. + fileNameHashTag = false + #If the recipe loader should crash when finding invalid recipes. + crashOnInvalidRecipe = false + #If an anonymous mod startup analytics request may be sent to our analytics service. + analytics = true + #If the version checker should be enabled. + versionChecker = true + diff --git a/config/icterine.yml b/config/icterine.yml new file mode 100644 index 000000000..87836718f --- /dev/null +++ b/config/icterine.yml @@ -0,0 +1,36 @@ +# Report issues on Github https://github.com/Mephodio/Icterine/issues +# Discuss, get help or report issues on Discord https://discord.gg/2SpfwvM7dm + +# Enables debug logs +# Will worsen your performance, please do not enable if you don't need it! +debug_mode: false + +# Cancels advancement check when stack becomes empty (for example, when player throws out the whole stack). +# Injects into InventoryChangeTrigger. +# Disable if you have mixin conflict or some advancements became unobtainable (and also report on github/discord!). +ignore_triggers_for_emptied_stacks: true + +# Cancels advancement check when stack size decreases (for example, when player throws out one item from stack). +# Injects into InventoryChangeTrigger, ItemStack, AbstractContainerMenu. +# Disable if you have mixin conflict or some advancements became unobtainable (and also report on github/discord!). +ignore_triggers_for_decreased_stacks: true + +# Optimizes advancement check for advancements that require multiple items (for example, "Cover me in debris" requires full netherite armor set). +# Injects into InventoryChangeTriggerInstance. +# Disable if you have mixin conflict or some advancements became unobtainable (and also report on github/discord!). +optimize_multiple_predicate_trigger: true + +# Disables advancement check when you just open any container (for example, chest or backpack). +# Injects into AbstractContainerMenu. +# Disable if you have mixin conflict or problems with any container (and also report on github/discord!). +initialize_inventory_last_slots: true + +# Skips advancement check when you pick up or otherwise increase stack size if this change doesn't pass any advancement threshold. +# For example, dirt stack size increased from 52 to 53, but there's no advancement for getting 53 dirt in your modpack. +optimize_triggers_for_increased_stacks: true + +# When checking each item criterion, first check the count requirement and see if it was fulfilled before. +# For example, there is advancement for getting stone block, any amount. You have 52 dirt, and you pick up one more. There is +# no way you can the get stone advancement from this action, because it requires any amount of item, and you already had some. +# Another example: there is no way you can get the advancement for 64 emerald blocks if you don't have dirt and you pick up 5 dirt. +check_count_before_item_predicate_match: true \ No newline at end of file diff --git a/config/inventoryhud-client.toml b/config/inventoryhud-client.toml index 3964470b7..7c8b246a5 100644 --- a/config/inventoryhud-client.toml +++ b/config/inventoryhud-client.toml @@ -217,7 +217,7 @@ #Notification settings [notification] #Last notified mod version - lastNotifiedVersion = "3.4.22" + lastNotifiedVersion = "3.4.26" #Notify more than once keepNotifying = true diff --git a/config/invtweaks-client.toml b/config/invtweaks-client.toml new file mode 100644 index 000000000..b6a8834c8 --- /dev/null +++ b/config/invtweaks-client.toml @@ -0,0 +1,150 @@ + +#Sorting customization +[sorting] + #Rules for sorting + #Each element is of the form + #A-D is the row from top to bottom + #1-9 is the column from left to right + #POS denotes the target slots + #Exs. POS = D3 means 3rd slot of hotbar + # POS = B means 2nd row, left to right + # POS = 9 means 9th column, bottom to top + # POS = A1-C9 means slots A1,A2,…,A9,B1,…,B9,C1,…,C9 + # POS = A9-C1 means slots A9,A8,…,A1,B9,…,B1,C9,…,C1 + #Append v to POS of the form A1-C9 to move in columns instead of rows + #Append r to POS of the form B or 9 to reverse slot order + #CATEGORY is the item category to designate the slots to + #CATEGORY = /LOCKED prevents slots from moving in sorting + #CATEGORY = /FROZEN has the effect of /LOCKED and, in addition, ignores slot in auto-refill + #CATEGORY = /OTHER covers all remaining items after other rules are exhausted + rules = ["D /LOCKED", "A1-C9 /OTHER"] + + #Custom settings per GUI + #x = x-position of external sort button relative to GUI top left + #y = same as above except for the y-position + #Omit x and y to leave position unchanged + #sortRange = slots to sort + #E.g. sortRange = "5,0-2" sorts slots 5,0,1,2 in that order + #sortRange = "" disables sorting for that container + #Out-of-bound slots are ignored + #Omit sortRange to leave as default + [[sorting.containerOverrides]] + containerClass = "appeng.client.gui.implementations.*Screen" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "appeng.client.gui.me.items.*Screen" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "de.mari_023.ae2wtlib.wct.*Screen" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "com.github.glodblock.epp.client.gui.*" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "org.cyclops.integrateddynamics.inventory.container.*" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "org.cyclops.integratedterminals.inventory.container.ContainerTerminalStoragePart" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "com.refinedmods.refinedstorage.screen.*" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "net.p3pp3rf1y.sophisticatedbackpacks.common.gui.BackpackContainer" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "net.p3pp3rf1y.sophisticatedstorage.common.gui.StorageContainerMenu" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "tfar.craftingstation.CraftingStationMenu" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "tfar.dankstorage.container.DankContainers" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "mcjty.rftoolsutility.modules.crafter.blocks.CrafterContainer" + sortRange = "" + + [[sorting.containerOverrides]] + containerClass = "gripe._90.megacells.menu.MEGAInterfaceMenu" + sortRange = "" + + #Categor(y/ies) for sorting + # + #name: the name of the category + # + #spec: + #Each element denotes a series of semicolon-separated clauses + #Items need to match all clauses of at least one element + #Items matching earlier elements are earlier in order + #A clause of the form /tag: matches a tag + #Clauses /instanceof: or /class: check if item is + #instance of class or exactly of that class respectively + #Specifying an item's registry name as a clause checks for that item + #Prepending an exclamation mark at the start of a clause inverts it + [[sorting.category]] + name = "sword" + spec = ["/instanceof:net.minecraft.world.item.SwordItem"] + + [[sorting.category]] + name = "axe" + spec = ["/instanceof:net.minecraft.world.item.AxeItem"] + + [[sorting.category]] + name = "pickaxe" + spec = ["/instanceof:net.minecraft.world.item.PickaxeItem"] + + [[sorting.category]] + name = "shovel" + spec = ["/instanceof:net.minecraft.world.item.ShovelItem"] + + [[sorting.category]] + name = "hoe" + spec = ["/instanceof:net.minecraft.world.item.HoeItem"] + + [[sorting.category]] + name = "acceptableFood" + spec = ["/isFood:; !minecraft:rotten_flesh; !minecraft:spider_eye; !minecraft:poisonous_potato; !minecraft:pufferfish"] + + [[sorting.category]] + name = "torch" + spec = ["minecraft:torch"] + + [[sorting.category]] + name = "cheapBlocks" + spec = ["/tag:forge:cobblestone", "/tag:minecraft:dirt"] + + [[sorting.category]] + name = "blocks" + spec = ["/instanceof:net.minecraft.world.item.BlockItem"] + +#Tweaks +[tweaks] + #0 = disable buttons (i.e. keybind only) + #1 = buttons for player sorting only + #2 = buttons for external sorting only + #3 = all buttons enabled (default) + #Range: 0 ~ 3 + enableButtons = 3 + #Enable auto-refill + autoRefill = true + #0 = disable sorting + #1 = player sorting only + #2 = external sorting only + #3 = all sorting enabled (default) + #Range: 0 ~ 3 + enableSort = 3 + #Enable a quick view of how many items that you're currently holding exists in your inventory by displaying it next your hotbar. + quickView = true + diff --git a/config/jade/plugins.json b/config/jade/plugins.json index 8df2f645f..562aa0487 100644 --- a/config/jade/plugins.json +++ b/config/jade/plugins.json @@ -22,6 +22,7 @@ "crop_progress": true, "command_block": true, "mob_growth": true, + "waxed": true, "harvest_tool.new_line": false, "entity_health.max_for_render": 40, "entity_health.show_fractions": false, @@ -53,11 +54,29 @@ "painting": true, "chiseled_bookshelf": true }, + "deepresonance": { + "crystal": true, + "generator_part": true + }, "gtceu": { - "recipe_logic_provider": true, + "primitive_pump": true, + "auto_output_info": true, "workable_provider": true, + "transformer": true, + "controllable_provider": true, + "me_pattern_buffer": true, + "exhaust_vent_info": true, + "me_pattern_buffer_proxy": true, + "multiblock_structure": true, + "recipe_logic_provider": true, + "maintenance_info": true, + "machine_mode": true, "electric_container_provider": true, - "controllable_provider": true + "recipe_output_info": true, + "stained_color": true, + "hazard_cleaner_provider": true, + "cable_info": true, + "parallel_info": true }, "jade": { "coordinates.rel": false, @@ -67,10 +86,20 @@ "registry_name": "OFF", "mod_name": true }, + "alekiships": { + "furnace": true, + "jukebox": true, + "brewing_stand": true, + "block": true, + "note_block": true + }, "expatternprovider": { "jade_chamber": true, "jade_wireless": true }, + "mcjtylib": { + "jadeaddons": true + }, "ae2": { "part_icon": true, "charger": true, @@ -84,18 +113,19 @@ "part_name": true }, "firmalife": { - "oven_top": true, - "solar_drier": true, + "barrel_press": true, "string": true, "vat": true, + "drying_mat": true, + "tumbler": true, + "cheese": true, + "shelf": true, + "oven_top": true, + "solar_drier": true, "oven_bottom": true, "fruit_tree_sapling": true, "jarbnet": true, - "drying_mat": true, - "tumbler": true, - "hanger": true, - "cheese": true, - "shelf": true + "hanger": true }, "tfc": { "bloomery": true, @@ -127,6 +157,7 @@ "sheet_pile": true, "quern": true, "pit_kiln_above": true, + "hot_poured_glass": true, "gearbox": true, "axle": true, "chested_horse": true, @@ -149,6 +180,10 @@ "firepit": true, "ingot_pile": true }, + "firmaciv": { + "tfc_chest": true, + "barrel": true + }, "jadeaddons": { "equipment_requirement": "" }, @@ -175,5 +210,11 @@ }, "treetap": { "tap": true + }, + "storagedrawers": { + "display.stacklimit": true, + "main": true, + "display.content": true, + "display.status": true } } \ No newline at end of file diff --git a/config/jade/sort-order.json b/config/jade/sort-order.json index 2fdfcc63d..900201476 100644 --- a/config/jade/sort-order.json +++ b/config/jade/sort-order.json @@ -10,6 +10,11 @@ "ae2:pattern_provider": null, "ae2:power_storage": null, "ae2:server_data": null, + "alekiships:block": null, + "alekiships:brewing_stand": null, + "alekiships:furnace": null, + "alekiships:jukebox": null, + "alekiships:note_block": null, "corpse:corpse": null, "create:backtank_capacity": null, "create:blaze_burner": null, @@ -21,6 +26,8 @@ "create:goggles": null, "create:hide_boiler_tanks": null, "create:placard": null, + "deepresonance:crystal": null, + "deepresonance:generator_part": null, "expatternprovider:jade_chamber": null, "expatternprovider:jade_wireless": null, "expatternprovider:tile_data": null, @@ -39,6 +46,9 @@ "extendedcrafting:flux_crafter": null, "extendedcrafting:ultimate_auto_table": null, "extendedcrafting:ultimate_table": null, + "firmaciv:barrel": null, + "firmaciv:tfc_chest": null, + "firmalife:barrel_press": null, "firmalife:cheese": null, "firmalife:drying_mat": null, "firmalife:fruit_tree_sapling": null, @@ -52,10 +62,24 @@ "firmalife:tumbler": null, "firmalife:vat": null, "framedblocks:framed_item_frame": null, + "gtceu:auto_output_info": null, + "gtceu:cable_info": null, "gtceu:controllable_provider": null, "gtceu:electric_container_provider": null, + "gtceu:exhaust_vent_info": null, "gtceu:fluid_storage": null, + "gtceu:hazard_cleaner_provider": null, + "gtceu:machine_mode": null, + "gtceu:maintenance_info": null, + "gtceu:me_pattern_buffer": null, + "gtceu:me_pattern_buffer_proxy": null, + "gtceu:multiblock_structure": null, + "gtceu:parallel_info": null, + "gtceu:primitive_pump": null, "gtceu:recipe_logic_provider": null, + "gtceu:recipe_output_info": null, + "gtceu:stained_color": null, + "gtceu:transformer": null, "gtceu:workable_provider": null, "jade:block_face": null, "jade:distance": null, @@ -63,6 +87,7 @@ "jade:object_name": null, "jade:registry_name": null, "lootr:inventory": null, + "mcjtylib:jadeaddons": null, "minecraft:animal_owner": null, "minecraft:armor_stand": null, "minecraft:beehive": null, @@ -102,7 +127,9 @@ "minecraft:tnt_stability": null, "minecraft:total_enchantment_power": null, "minecraft:villager_profession": null, + "minecraft:waxed": null, "minecraft:zombie_villager": null, + "storagedrawers:main": null, "tfc:animal": null, "tfc:axle": null, "tfc:barrel": null, diff --git a/config/jei/ingredient-list-mod-sort-order.ini b/config/jei/ingredient-list-mod-sort-order.ini index 84eeb20ba..bc2f97d58 100644 --- a/config/jei/ingredient-list-mod-sort-order.ini +++ b/config/jei/ingredient-list-mod-sort-order.ini @@ -4,23 +4,35 @@ Applied Energistics 2 AstikorCarts Redux Create Create Crafts & Additions -Create: Steam 'n' Rails -Exposure FTB Filter System FTB Quests Firma: Civilization Firmalife -GregTech -Gregicality Rocketry Jumbo Furnace More Red +TerraFirmaCraft +AE2 Insert Export Card +AE2NetworkAnalyzer +Advanced Peripherals +CC: Tweaked +Create Low-Heated +Create: Connected +ExtendedAE +FramedBlocks +Hang Glider +MEGA Cells +aleki's Nifty Ships +aleki's Ridiculously Simple Roofs +TFC Water Flasks +Tool Belt +Tree Tap +Create: Steam 'n' Rails Sophisticated Core +Storage Drawers TFC Aged Alcohol TFC Ambiental TFC Astikor Carts +TFC Canes TFC Casting with Channels -TFC Water Flasks -TerraFirmaCraft -TerraFirmaGreg-Core -Tool Belt -Tree Tap +TFC: Grooming Station +Tfc Electrical Appliances diff --git a/config/jei/jei-client.ini b/config/jei/jei-client.ini index b0fbe9a60..324191b82 100644 --- a/config/jei/jei-client.ini +++ b/config/jei/jei-client.ini @@ -1,9 +1,56 @@ -[advanced] +[appearance] # Description: Display search bar in the center # Valid Values: [true, false] # Default Value: false CenterSearch = false + # Description: Max. recipe gui height + # Valid Values: Any integer greater than or equal to 175 + # Default Value: 350 + RecipeGuiHeight = 350 + + +[cheat_mode] + # Description: How items should be handed to you + # Valid Values: [INVENTORY, MOUSE_PICKUP] + # Default Value: MOUSE_PICKUP + GiveMode = MOUSE_PICKUP + + # Description: Enable cheating items into the hotbar by using the shift+number keys. + # Valid Values: [true, false] + # Default Value: false + CheatToHotbarUsingHotkeysEnabled = false + + # Description: Enable showing items that are not in the creative menu. + # Valid Values: [true, false] + # Default Value: false + ShowHiddenItems = false + + +[bookmarks] + # Description: Add new bookmarks to the front of the bookmark list instead of the end. + # Valid Values: [true, false] + # Default Value: false + AddBookmarksToFrontEnabled = false + + # Description: Extra features for bookmark tooltips + # Valid Values: A comma-separated list containing values of: + # [PREVIEW, INGREDIENTS] + # Default Value: PREVIEW + BookmarkTooltipFeatures = PREVIEW + + # Description: Hold shift to show bookmark tooltip features + # Valid Values: [true, false] + # Default Value: true + HoldShiftToShowBookmarkTooltipFeatures = true + + # Description: Drag bookmarks to rearrange them in the list + # Valid Values: [true, false] + # Default Value: true + DragToRearrangeBookmarksEnabled = true + + +[advanced] # Description: Set low-memory mode (makes search very slow, but uses less RAM) # Valid Values: [true, false] # Default Value: false @@ -14,16 +61,6 @@ # Default Value: true CatchRenderErrorsEnabled = true - # Description: Enable cheating items into the hotbar by using the shift+number keys. - # Valid Values: [true, false] - # Default Value: false - CheatToHotbarUsingHotkeysEnabled = false - - # Description: Enable adding new bookmarks to the front of the bookmark list. - # Valid Values: [true, false] - # Default Value: true - AddBookmarksToFrontEnabled = true - # Description: When looking up recipes with items that contain fluids, also look up recipes for the fluids. # Valid Values: [true, false] # Default Value: false @@ -34,15 +71,27 @@ # Default Value: true lookupBlockTagsEnabled = true - # Description: How items should be handed to you - # Valid Values: [INVENTORY, MOUSE_PICKUP] - # Default Value: MOUSE_PICKUP - GiveMode = MOUSE_PICKUP + # Description: Show recipes for ingredient tags, like Item Tags and Block Tags + # Valid Values: [true, false] + # Default Value: false + showTagRecipesEnabled = false - # Description: Max. recipe gui height - # Valid Values: Any integer greater than or equal to 175 - # Default Value: 350 - RecipeGuiHeight = 350 + # Description: Show creative tab names in ingredient tooltips. + # Valid Values: [true, false] + # Default Value: false + showCreativeTabNamesEnabled = false + + +[input] + # Description: Number of milliseconds before a long mouse click is considered to become a drag operation + # Valid Values: An integer in the range [0, 1000] (inclusive) + # Default Value: 150 + dragDelayInMilliseconds = 150 + + # Description: Scroll rate for scrolling the mouse wheel in smooth-scrolling scroll boxes. Measured in pixels. + # Valid Values: An integer in the range [1, 50] (inclusive) + # Default Value: 9 + smoothScrollRate = 9 [sorting] @@ -52,6 +101,24 @@ # Default Value: MOD_NAME, INGREDIENT_TYPE, CREATIVE_MENU IngredientSortStages = MOD_NAME, INGREDIENT_TYPE, CREATIVE_MENU + # Description: Sorting order for displayed recipes + # Valid Values: A comma-separated list containing values of: + # [BOOKMARKED, CRAFTABLE] + # Default Value: BOOKMARKED, CRAFTABLE + RecipeSorterStages = BOOKMARKED, CRAFTABLE + + +[tags] + # Description: Show tag content in tooltips + # Valid Values: [true, false] + # Default Value: true + TagContentTooltipEnabled = true + + # Description: Hide tags that only have 1 ingredient + # Valid Values: [true, false] + # Default Value: true + HideSingleIngredientTagsEnabled = true + [search] # Description: Search mode for Mod Names (prefix: @) @@ -79,11 +146,31 @@ # Default Value: DISABLED ResourceLocationSearchMode = DISABLED + # Description: Search mode for Creative Tabs (prefix: %) + # Valid Values: [ENABLED, REQUIRE_PREFIX, DISABLED] + # Default Value: DISABLED + CreativeTabSearchMode = DISABLED + # Description: Search advanced tooltips (visible with F3+H) # Valid Values: [true, false] # Default Value: false SearchAdvancedTooltips = false + # Description: Search mod ids in addition to mod names + # Valid Values: [true, false] + # Default Value: true + SearchModIds = true + + # Description: Search by the shorthand first letters of a mod's name + # Valid Values: [true, false] + # Default Value: true + SearchShortModNames = true + + # Description: Search ingredient aliases (alternative names) that are added by plugins, in addition to ingredient names + # Valid Values: [true, false] + # Default Value: true + SearchIngredientAliases = true + [IngredientList] # Description: Max number of rows shown diff --git a/config/jei/jei-debug.ini b/config/jei/jei-debug.ini index f2171e61e..eb75fc9b4 100644 --- a/config/jei/jei-debug.ini +++ b/config/jei/jei-debug.ini @@ -4,14 +4,29 @@ # Default Value: false DebugMode = false + # Description: Debug GUIs enabled + # Valid Values: [true, false] + # Default Value: false + DebugGuis = false + # Description: Debug inputs enabled # Valid Values: [true, false] # Default Value: false DebugInputs = false + # Description: Add debug information to ingredient tooltips when advanced tooltips are enabled + # Valid Values: [true, false] + # Default Value: false + debugInfoTooltipsEnabled = false + # Description: Adds ingredients to JEI that intentionally crash, to help debug JEI. # Valid Values: [true, false] # Default Value: false CrashingTestItemsEnabled = false + # Description: Log information about the suffix trees used for searching, to help debug JEI + # Valid Values: [true, false] + # Default Value: false + logSuffixTreeStats = false + diff --git a/config/jei/recipe-category-sort-order.ini b/config/jei/recipe-category-sort-order.ini index 85146b9e5..5ec0c31be 100644 --- a/config/jei/recipe-category-sort-order.ini +++ b/config/jei/recipe-category-sort-order.ini @@ -43,8 +43,6 @@ create:wood_cutting createaddition:charging createaddition:liquid_burning createaddition:rolling -exposure:photograph_printing -exposure:photograph_stacking firmalife:drying firmalife:mixing_bowl firmalife:oven @@ -78,10 +76,16 @@ tfc:sealed_barrel tfc:simple_pot tfc:soup_pot tfc:welding -treetap:tap_extract ftbquests:loot_crate ftbquests:quest firmalife:bowl_pot firmalife:stinky_soup -framedblocks:framing_saw tfc:sewing +firmalife:press +firmalife:stomping +treetap:tap_extract +deepresonance:laser +deepresonance:purifier +deepresonance:smelter +exposure:photograph_printing +exposure:photograph_stacking diff --git a/config/lmft.json b/config/lmft.json new file mode 100644 index 000000000..f874764cf --- /dev/null +++ b/config/lmft.json @@ -0,0 +1,3 @@ +{ + "disableIngameError": false +} \ No newline at end of file diff --git a/config/mcjtylib-client.toml b/config/mcjtylib-client.toml new file mode 100644 index 000000000..1f8f6c8a9 --- /dev/null +++ b/config/mcjtylib-client.toml @@ -0,0 +1,144 @@ + +#Style settings for all mods using mcjtylib +[style] + #Color: slider top left border + colorSliderTopLeft = "2b2b2b" + #Color: slider bottom right border + colorSliderBottomRight = "ffffff" + #Color: slider background + colorSliderFiller = "636363" + #Color: slider knob top left border + colorSliderKnobTopLeft = "eeeeee" + #Color: slider knob bottom right border + colorSliderKnobBottomRight = "333333" + #Color: slider knob background + colorSliderKnobFiller = "8b8b8b" + #Color: slider knob top left border while dragging + colorSliderKnobDraggingTopLeft = "5c669d" + #Color: slider knob bottom right border while dragging + colorSliderKnobDraggingBottomRight = "bcc5ff" + #Color: slider knob background while dragging + colorSliderKnobDraggingFiller = "7f89bf" + #Color: slider knob top left border while hovering + colorSliderKnobHoveringTopLeft = "a5aac5" + #Color: slider knob bottom right border while hovering + colorSliderKnobHoveringBottomRight = "777c99" + #Color: slider knob background while hovering + colorSliderKnobHoveringFiller = "858aa5" + #Color: slider knob little marker lines + colorSliderKnobMarkerLine = "4e4e4e" + #Color: text normal + colorTextNormal = "303030" + #Color: text as used in lists + colorTextInListNormal = "151515" + #Color: text disabled + colorTextDisabled = "a0a0a0" + #Color: textfield top left border + colorTextFieldTopLeft = "2b2b2b" + #Color: textfield bottom right border + colorTextFieldBottomRight = "ffffff" + #Color: textfield background + colorTextFieldFiller = "c6c6c6" + #Color: textfield backbground while focused + colorTextFieldFocusedFiller = "eeeeee" + #Color: textfield backbground while hovering + colorTextFieldHoveringFiller = "dadada" + #Color: textfield cursor + colorTextFieldCursor = "0" + #Color: energy bar top left border + colorEnergyBarTopLeft = "2b2b2b" + #Color: energy bar bottom right border + colorEnergyBarBottomRight = "ffffff" + #Color: energy bar high energy level + colorEnergyBarHighEnergy = "dd0000" + #Color: energy bar low energy level + colorEnergyBarLowEnergy = "631111" + #Color: energy bar spacer (between every energy level bar) + colorEnergyBarSpacer = "430000" + #Color: energy bar text + colorEnergyBarText = "ffffff" + #Color: list background + colorListBackground = "8b8b8b" + #Color: list separator line + colorListSeparatorLine = "5c5c5c" + #Color: list selected and highlighted gradient + colorListSelectedHighlightedGradient1 = "bbbb00" + #Color: list selected and highlighted gradient + colorListSelectedHighlightedGradient2 = "999900" + #Color: list selected gradient + colorListSelectedGradient1 = "616161" + #Color: list selected gradient + colorListSelectedGradient2 = "414141" + #Color: list highlighted gradient + colorListHighlightedGradient1 = "717120" + #Color: list highlighted gradient + colorListHighlightedGradient2 = "515110" + #Color: standard bevel bright border color + colorBackgroundBevelBright = "ffffff" + #Color: standard bevel dark border color + colorBackgroundBevelDark = "2b2b2b" + #Color: standard background color + colorBackgroundFiller = "c6c6c6" + #Color: toggle button normal top left border + colorToggleNormalBorderTopLeft = "eeeeee" + #Color: toggle button normal bottom right border + colorToggleNormalBorderBottomRight = "777777" + #Color: toggle button normal background + colorToggleNormalFiller = "c6c6c6" + #Color: toggle button disabled top left border + colorToggleDisabledBorderTopLeft = "eeeeee" + #Color: toggle button disabled bottom right border + colorToggleDisabledBorderBottomRight = "777777" + #Color: toggle button disabled background + colorToggleDisabledFiller = "c6c6c6" + #Color: toggle button normal text + colorToggleTextNormal = "303030" + #Color: toggle button disabled text + colorToggleTextDisabled = "a0a0a0" + #Color: cycle button small triangle + colorCycleButtonTriangleNormal = "0" + #Color: cycle button disabled small triangle + colorCycleButtonTriangleDisabled = "888888" + #Color: external border around buttons and some other components + colorButtonExternalBorder = "0" + #Color: button top left border + colorButtonBorderTopLeft = "eeeeee" + #Color: button bottom right border + colorButtonBorderBottomRight = "777777" + #Color: button background + colorButtonFiller = "c6c6c6" + #Color: button background gradient + colorButtonFillerGradient1 = "b1b1b1" + #Color: button background gradient + colorButtonFillerGradient2 = "e1e1e1" + #Color: disabled button top left border + colorButtonDisabledBorderTopLeft = "eeeeee" + #Color: disabled button bottom right border + colorButtonDisabledBorderBottomRight = "777777" + #Color: disabled button background + colorButtonDisabledFiller = "c6c6c6" + #Color: disabled button background gradient + colorButtonDisabledFillerGradient1 = "b1b1b1" + #Color: disabled button background gradient + colorButtonDisabledFillerGradient2 = "e1e1e1" + #Color: selected button top left border + colorButtonSelectedBorderTopLeft = "5c669d" + #Color: selected button bottom right border + colorButtonSelectedBorderBottomRight = "bcc5ff" + #Color: selected button background + colorButtonSelectedFiller = "7f89bf" + #Color: selected button background gradient + colorButtonSelectedFillerGradient1 = "6a74aa" + #Color: selected button background gradient + colorButtonSelectedFillerGradient2 = "949ed4" + #Color: hovering button top left border + colorButtonHoveringBorderTopLeft = "a5aac5" + #Color: hovering button bottom right border + colorButtonHoveringBorderBottomRight = "999ebb" + #Color: hovering button background + colorButtonHoveringFiller = "a2a7c2" + #Color: hovering button background gradient + colorButtonHoveringFillerGradient1 = "8d92ad" + #Color: hovering button background gradient + colorButtonHoveringFillerGradient2 = "babfda" + diff --git a/config/modernfix-mixins.properties b/config/modernfix-mixins.properties index 3986f867a..5b64dd174 100644 --- a/config/modernfix-mixins.properties +++ b/config/modernfix-mixins.properties @@ -52,6 +52,7 @@ # mixin.perf.cache_profile_texture_url=true # (default) # mixin.perf.cache_strongholds=true # (default) # mixin.perf.cache_upgraded_structures=true # (default) +# mixin.perf.chunk_meshing=true # (default) # mixin.perf.clear_mixin_classinfo=false # (default) # mixin.perf.compact_bit_storage=true # (default) # mixin.perf.datapack_reload_exceptions=true # (default) diff --git a/config/packetfixer.properties b/config/packetfixer.properties index 85d13a3bc..0235e498b 100644 --- a/config/packetfixer.properties +++ b/config/packetfixer.properties @@ -1,7 +1,7 @@ #Packet Fixer config file. #Default values (minecraft default): nbtMaxSize 2097152, packetSize 1048576, decoderSize 2097152 and varInt21Size 3. #Max values are 2147483647 for packetSize/decoderSize/varInt21 and 9223372036854775807 for nbtMaxSize. -#Tue Oct 01 12:13:54 YEKT 2024 +#Sun Sep 22 01:59:51 YEKT 2024 nbtMaxSize=209715200 decoderSize=838860800 packetSize=104857600 diff --git a/config/resourceful-config-web.json b/config/resourceful-config-web.json new file mode 100644 index 000000000..6eadf185b --- /dev/null +++ b/config/resourceful-config-web.json @@ -0,0 +1,12 @@ +{ + "enabled": false, + "port": 7903, + "validator": { + "uuids": [], + "if": { + "password": "bb4ee1f6-ea54-434a-b4e4-d538be159dd1", + "type": "password" + }, + "type": "if" + } +} \ No newline at end of file diff --git a/config/rftoolsbuilder-client.toml b/config/rftoolsbuilder-client.toml new file mode 100644 index 000000000..f5edb212b --- /dev/null +++ b/config/rftoolsbuilder-client.toml @@ -0,0 +1,21 @@ + +#Settings for the builder +[builder] + #If true a holo hud with current progress is shown above the builder + showProgressHud = true + +#Settings for the scanner, composer, and projector +[scanner] + #Height of the beacon in case beacons are used + #Range: > 0 + locatorBeaconHeight = 30 + #The amount of milliseconds before the client will remove shape render data that hasn't been used. Decreasing this will free memory faster at the cost of having to update shape renders more often + #Range: 100 ~ 1000000 + clientRenderDataTimeout = 10000 + #The amount of milliseconds that a scanline 'flash' will exist on the client + #Range: 10 ~ 1000000 + projectorFlashTimeout = 400 + #The volume for the projector sound (0.0 is off) + #Range: 0.0 ~ 1.0 + baseProjectorVolume = 0.4 + diff --git a/config/rftoolsdim-common.toml b/config/rftoolsdim-common.toml new file mode 100644 index 000000000..9ce9c0431 --- /dev/null +++ b/config/rftoolsdim-common.toml @@ -0,0 +1,10 @@ +#Maximum health of the common blob +#Range: > 0 +commonBlobMaxHealth = 30 +#Maximum health of the rare blob +#Range: > 0 +rareBlobMaxHealth = 250 +#Maximum health of the legendary blob +#Range: > 0 +legendaryBlobMaxHealth = 5000 + diff --git a/config/rftoolsutility-client.toml b/config/rftoolsutility-client.toml new file mode 100644 index 000000000..31b725b2e --- /dev/null +++ b/config/rftoolsutility-client.toml @@ -0,0 +1,15 @@ + +#Settings for the screen system +[screen] + #Set to true for TrueType font, set to false for vanilla font + useTruetype = false + #Set to true for force TrueType to be disabled in all cases. Use this in case the truetype font is causing issues + forceNoTruetype = false + #The default truetype font to use + fontName = "rftoolsutility:ubuntu" + #The size of the font + #Range: 0.0 ~ 1000000.0 + fontSize = 40.0 + #Additional characters that should be supported by the truetype system + additionalCharacters = "" + diff --git a/config/sodiumdynamiclights-client.toml b/config/sodiumdynamiclights-client.toml new file mode 100644 index 000000000..9d6bd7783 --- /dev/null +++ b/config/sodiumdynamiclights-client.toml @@ -0,0 +1,20 @@ + +[sodiumdynamiclights] + #Lighting mode + #Allowed Values: OFF, SLOW, FAST, REALTIME + mode = "REALTIME" + #Enable entities light source. + entities = true + #Enable first-person player light source. + self = true + #Enable block entities light source. + block_entities = true + #Enables water-sensitive light sources check. This means that water-sensitive items will not light up when submerged in water. + water_sensitive_check = true + #TNT lighting mode. May be off, simple or fancy. + #Allowed Values: OFF, SIMPLE, FANCY + tnt = "SIMPLE" + #Creeper lighting mode. May be off, simple or fancy. + #Allowed Values: OFF, SIMPLE, FANCY + creeper = "OFF" + diff --git a/config/embeddium++.toml b/config/sodiumextras-client.toml similarity index 61% rename from config/embeddium++.toml rename to config/sodiumextras-client.toml index d01a7333d..b0b133d6c 100644 --- a/config/embeddium++.toml +++ b/config/sodiumextras-client.toml @@ -1,31 +1,80 @@ -[embeddiumplus] +[embeddiumextras] - [embeddiumplus.general] - #Configure FPS Display mode - #Complete mode gives you min FPS count and average count - #Allowed Values: OFF, SIMPLE, ADVANCED - fpsDisplay = "OFF" - #Shows GPU and memory usage onto FPS display - #Allowed Values: OFF, ON, GPU, RAM - fpsDisplaySystem = "OFF" + [embeddiumextras.general] #Set Fullscreen mode #Borderless let you change between screens more faster and move your mouse across monitors #Allowed Values: WINDOWED, BORDERLESS, FULLSCREEN - fullscreen = "FULLSCREEN" + fullscreen = "WINDOWED" + #Configure FPS Display mode + #Complete mode gives you min FPS count and average count + #Allowed Values: OFF, SIMPLE, ADVANCED + fpsDisplay = "SIMPLE" #Configure FPS Display gravity #Places counter on specified corner of your screen #Allowed Values: LEFT, CENTER, RIGHT fpsDisplayGravity = "LEFT" - #Toggle FPS Display shadow - #In case sometimes you can't see the text - fpsDisplayShadow = false + #Shows GPU and memory usage onto FPS display + #Allowed Values: OFF, ON, GPU, RAM + fpsDisplaySystem = "OFF" #Configure FPS Display margin #Give some space between corner and text #Range: 0 ~ 48 fpsDisplayMargin = 12 + #Toggle FPS Display shadow + #In case sometimes you can't see the text + fpsDisplayShadow = false - [embeddiumplus.performance] + [embeddiumextras.quality] + #Toggle fog feature + #Fog was a vanilla feature, toggling off may increases performance + fog = true + #Raise clouds + #Modify clouds height perfect for a adaptative world experience + #Range: 0 ~ 512 + cloudsHeight = 192 + #Chunks fade in speed + #This option doesn't affect performance, just changes speed + #Allowed Values: OFF, FAST, SLOW + chunkFadeSpeed = "SLOW" + + [embeddiumextras.quality.darkness] + #Configure Darkness Mode + #Each config changes what is considered 'true darkness' + #Allowed Values: PITCH_BLACK, TOTAL_DARKNESS, DARK, DIM, OFF + mode = "DARK" + #Toggle Darkness on Overworld dimension + enableOnOverworld = true + #Toggle Darkness on Nether dimension + enableOnNether = false + #Configure fog brightness on nether when darkness is enabled + #Range: 0.0 ~ 1.0 + netherFogBright = 0.5 + #Toggle Darkness on End dimension + enableOnEnd = false + #Configure fog brightness on nether when darkness is enabled + #Range: 0.0 ~ 1.0 + endFogBright = 0.5 + #Toggle Darkness default mode for modded dimensions + valueByDefault = false + #List of all dimensions to use True Darkness + #This option overrides 'valueByDefault' state + dimensionWhitelist = [] + #Toggle darkness when dimension has no SkyLight + enableOnNoSkyLight = false + #Disables all bright sources of darkness like moon or fog + #Only affects darkness effect + enableBlockLightOnly = false + #Toggles if moon phases affects darkness in the overworld + affectedByMoonPhase = true + #Configure max moon brightness level with darkness + #Range: 0.0 ~ 1.0 + fullMoonBright = 0.25 + #Configure min moon brightness level with darkness + #Range: 0.0 ~ 1.0 + newMoonBright = 0.0 + + [embeddiumextras.performance] #Toggles JREI item rendering until searching #Increases performance a little bit and cleans your screen when you don't want to use it hideJREI = false @@ -33,58 +82,13 @@ #Depending of the case may increase performance #Gives a flat style text fontShadows = true - #Sets culling mode - #Reduces number of visible faces when the neighbor blocks are leaves - #Allowed Values: ALL, OFF - leavesCulling = "OFF" - [embeddiumplus.performance.distanceCulling] + [embeddiumextras.performance.distanceCulling] - [embeddiumplus.performance.distanceCulling.entities] - #Toggles distance culling for entities, doesn't affect monsters culling - #Check the options below - enable = true - #List of all Entities to be ignored by distance culling - #Uses ResourceLocation to identify it - #Example 1: "minecraft:bat" - Ignores bats only - #Example 2: "alexsmobs:*" - ignores all entities for alexmobs mod - whitelist = [] - #Configure horizontal max distance before cull entities - #Value is squared, default was 64^2 (or 64x64) - #Range: > 0 - cullingMaxDistanceX = 4096 - #Configure vertical max distance before cull entities - #Value is raw - #Range: 0 ~ 512 - cullingMaxDistanceY = 32 - - [embeddiumplus.performance.distanceCulling.entities.monsters] - #Toggles distance culling for monsters (or hostile entities, whatever you want to call it), doesn't affect neutral/pacific entities - #Check the options above - enable = false - #Configure horizontal max distance before cull monster entities - #Value is squared, default was 64^2 (or 64x64) - #Range: > 0 - cullingMaxDistanceX = 16384 - #Configure vertical max distance before cull monster entities - #Value is raw - #Range: 0 ~ 512 - cullingMaxDistanceY = 64 - #List of all monster entities to be ignored by distance culling - #Uses ResourceLocation to identify it - #Example 1: "minecraft:bat" - Ignores bats only - #Example 2: "alexsmobs:*" - ignores all entities for alexmobs mod - whitelist = ["minecraft:ghast", "minecraft:ender_dragon", "iceandfire:*", "create:*"] - - [embeddiumplus.performance.distanceCulling.tileEntities] + [embeddiumextras.performance.distanceCulling.tileEntities] #Toggles distance culling for Block Entities #Maybe you use another mod for that :( enable = true - #List of all Block Entities to be ignored by distance culling - #Uses ResourceLocation to identify it - #Example 1: "minecraft:chest" - Ignores chests only - #Example 2: "ae2:*" - ignores all Block entities from Applied Energetics 2 - whitelist = [] #Configure horizontal max distance before cull Block entities #Value is squared, default was 64^2 (or 64x64) #Range: > 0 @@ -93,84 +97,35 @@ #Value is raw #Range: 0 ~ 512 cullingMaxDistanceY = 32 + #List of all Block Entities to be ignored by distance culling + #Uses ResourceLocation to identify it + #Example 1: "minecraft:chest" - Ignores chests only + #Example 2: "ae2:*" - ignores all Block entities from Applied Energetics 2 + whitelist = ["waterframes:*"] - [embeddiumplus.performance.fastModels] - #Toggles FastChest feature - #Without flywheel installed or using any backend, it increases FPS significatly on chest rooms - enableChests = false - #Toggles FastBeds feature - enableBeds = false + [embeddiumextras.performance.distanceCulling.entities] + #Toggles distance culling for entities + #Maybe you use another mod for that :( + enable = true + #Configure horizontal max distance before cull entities + #Value is squared, default was 64^2 (or 64x64) + #Range: > 0 + cullingMaxDistanceX = 4096 + #Configure vertical max distance before cull entities + #Value is raw + #Range: 0 ~ 512 + cullingMaxDistanceY = 32 + #List of all Entities to be ignored by distance culling + #Uses ResourceLocation to identify it + #Example 1: "minecraft:bat" - Ignores bats only + #Example 2: "alexsmobs:*" - ignores all entities for alexmobs mod + whitelist = ["minecraft:ghast", "minecraft:ender_dragon", "iceandfire:*", "create:*"] - [embeddiumplus.dynlights] - #Toggle if Block Entities should have dynamic lights - onTileEntities = true - #Configure how fast light whould be updated - #Allowed Values: OFF, SLOW, NORMAL, FAST, SUPERFAST, FASTESTS, REALTIME - updateSpeed = "NORMAL" - #Toggle if Entities should have dynamic lights - onEntities = true - updateOnlyOnPositionChange = true - - [embeddiumplus.others] + [embeddiumextras.others] #Configure if borderless fullscreen option should be attached to F11 or replace vanilla fullscreen #Allowed Values: ATTACH, REPLACE, OFF - borderlessAttachModeOnF11 = "OFF" + borderlessAttachModeOnF11 = "REPLACE" #Toggles fast language reload #Embeddedt points it maybe cause troubles to JEI, so ¿why not add it as a toggleable option? fastLanguageReload = true - [embeddiumplus.quality] - #Chunks fade in speed - #This option doesn't affect performance, just changes speed - #Allowed Values: OFF, FAST, SLOW - chunkFadeSpeed = "SLOW" - #Raise clouds - #Modify clouds height perfect for a adaptative world experience - #Range: 0 ~ 512 - cloudsHeight = 256 - #Toggle fog feature - #Fog was a vanilla feature - fog = true - #Clean my skies - #Blue band was a vanilla feature, toggle off will show sky color directly - blueBand = true - #Do not show me your name - #disables nametag rendering for players and entities - disableNameTagRendering = false - - [embeddiumplus.quality.darkness] - #Configure fog brightness on nether when darkness is enabled - #Range: 0.0 ~ 1.0 - endFogBright = 0.5 - #Configure min moon brightness level with darkness - #Range: 0.0 ~ 1.0 - newMoonBright = 0.0 - #Toggle Darkness on End dimension - enableOnEnd = false - #Toggle Darkness default mode for modded dimensions - valueByDefault = false - #Configure Darkness Mode - #Each config changes what is considered 'true darkness' - #Allowed Values: TOTAL_DARKNESS, PITCH_BLACK, DARK, DIM, OFF - mode = "PITCH_BLACK" - #Toggles if moon phases affects darkness in the overworld - affectedByMoonPhase = true - #Configure max moon brightness level with darkness - #Range: 0.0 ~ 1.0 - fullMoonBright = 0.25 - #Configure fog brightness on nether when darkness is enabled - #Range: 0.0 ~ 1.0 - netherFogBright = 0.5 - #Toggle Darkness on Nether dimension - enableOnNether = false - #Toggle darkness when dimension has no SkyLight - enableOnNoSkyLight = false - #Disables all bright sources of darkness like moon or fog - #Only affects darkness effect - enableBlockLightOnly = false - #Toggle Darkness on Overworld dimension - enableOnOverworld = true - #List of all dimensions to use True Darkness - #This option overrides 'valueByDefault' state - dimensionWhitelist = [] - diff --git a/config/sound_physics_remastered/allowed_sounds.properties b/config/sound_physics_remastered/allowed_sounds.properties new file mode 100644 index 000000000..e0f59b1df --- /dev/null +++ b/config/sound_physics_remastered/allowed_sounds.properties @@ -0,0 +1,1866 @@ +# Allowed sounds +# Set to 'false' to disable sound physics for that sound + +minecraft\:entity.parrot.imitate.vindicator=true +tfc\:block.thin.fall=true +minecraft\:item.bucket.fill=true +gtceu\:chemical=true +minecraft\:entity.sniffer.digging=true +minecraft\:block.lodestone.place=true +minecraft\:music.overworld.bamboo_jungle=true +minecraft\:entity.hoglin.death=true +minecraft\:block.cherry_wood_fence_gate.open=true +minecraft\:entity.parrot.imitate.witch=true +minecraft\:entity.pillager.celebrate=true +minecraft\:block.chiseled_bookshelf.insert.enchanted=true +minecraft\:entity.mule.eat=true +minecraft\:item.trident.thunder=true +minecraft\:block.bamboo_wood_door.open=true +minecraft\:entity.piglin.ambient=true +minecraft\:block.pink_petals.step=true +create_connected\:interlude_music=true +tfc\:block.charcoal.break=true +minecraft\:block.bamboo_wood_pressure_plate.click_on=true +minecraft\:music.overworld.jagged_peaks=true +tfc\:entity.lake_trout.ambient=true +minecraft\:block.bamboo_sapling.break=true +minecraft\:block.note_block.banjo=true +minecraft\:entity.llama.step=true +create\:clipboard_check=true +tfc\:item.armor.equip_steel=true +minecraft\:item.flintandsteel.use=true +minecraft\:entity.shulker.open=true +minecraft\:block.note_block.imitate.creeper=true +minecraft\:entity.skeleton_horse.hurt=true +minecraft\:block.powder_snow.break=true +minecraft\:entity.camel.eat=true +tfc\:entity.wildebeest.death=true +minecraft\:entity.mule.death=true +minecraft\:entity.magma_cube.hurt_small=true +tfc\:entity.penguin.ambient=true +minecraft\:block.roots.hit=true +minecraft\:entity.sniffer.step=true +minecraft\:entity.player.attack.crit=true +minecraft\:entity.silverfish.death=true +minecraft\:entity.axolotl.splash=true +minecraft\:block.frogspawn.hatch=true +minecraft\:music.overworld.cherry_grove=true +create\:sanding_short=true +minecraft\:entity.camel.saddle=true +minecraft\:block.froglight.hit=true +etched\:ui.etching_table.take_result=true +minecraft\:block.nether_sprouts.place=true +minecraft\:block.fungus.place=true +minecraft\:block.gilded_blackstone.step=true +minecraft\:entity.piglin.retreat=true +minecraft\:entity.armor_stand.hit=true +minecraft\:ambient.basalt_deltas.loop=true +minecraft\:entity.skeleton_horse.step_water=true +minecraft\:music.menu=true +minecraft\:block.sculk_vein.place=true +create\:whistle_low=true +minecraft\:block.anvil.hit=true +minecraft\:entity.chicken.step=true +minecraft\:entity.cat.beg_for_food=true +minecraft\:block.wood.fall=true +minecraft\:entity.camel.hurt=true +minecraft\:entity.zombie.break_wooden_door=true +create\:mechanical_press_activation_belt_compounded_1=true +minecraft\:entity.goat.screaming.horn_break=true +tfc\:entity.dog.attack=true +minecraft\:entity.sniffer.digging_stop=true +minecraft\:ambient.warped_forest.mood=true +tfc\:entity.boar.death=true +exposure\:item.photograph.rustle=true +minecraft\:block.wood.place=true +minecraft\:block.anvil.land=true +tfc\:entity.peafowl.hurt=true +minecraft\:item.firecharge.use=true +minecraft\:entity.horse.jump=true +minecraft\:block.pointed_dripstone.drip_lava=true +tfc\:entity.bear.sleep=true +tfc\:entity.hyena.death=true +exposure\:item.camera.dial_click=true +minecraft\:entity.parrot.imitate.pillager=true +tfc\:entity.hyena.attack=true +minecraft\:entity.ravager.death=true +minecraft\:block.grindstone.use=true +minecraft\:entity.firework_rocket.twinkle_far=true +minecraft\:block.powder_snow.place=true +minecraft\:entity.illusioner.prepare_blindness=true +minecraft\:entity.camel.death=true +minecraft\:entity.llama.chest=true +tfc\:entity.turkey.step=true +minecraft\:block.ladder.fall=true +minecraft\:block.candle.step=true +minecraft\:block.coral_block.break=true +minecraft\:block.soul_sand.step=true +tfc\:entity.dog.hurt=true +tfc\:entity.smallmouth_bass.ambient=true +minecraft\:block.cherry_sapling.step=true +minecraft\:entity.evoker.prepare_summon=true +minecraft\:entity.armor_stand.fall=true +minecraft\:block.netherite_block.place=true +minecraft\:entity.turtle.ambient_land=true +minecraft\:block.bamboo_sapling.place=true +minecraft\:entity.piglin.admiring_item=true +minecraft\:block.calcite.fall=true +minecraft\:block.cherry_wood.break=true +minecraft\:entity.enderman.stare=true +tfc\:entity.boar.step=true +minecraft\:entity.generic.big_fall=true +minecraft\:block.cherry_leaves.hit=true +tfc\:entity.cougar.hurt=true +minecraft\:entity.wandering_trader.no=true +minecraft\:block.wool.hit=true +minecraft\:entity.tadpole.flop=true +minecraft\:block.netherrack.place=true +minecraft\:block.ladder.step=true +minecraft\:block.candle.fall=true +tfc\:entity.bear.step=true +minecraft\:block.packed_mud.hit=true +minecraft\:entity.phantom.flap=true +minecraft\:item.hoe.till=true +minecraft\:block.tuff.step=true +minecraft\:block.cherry_sapling.fall=true +minecraft\:block.gilded_blackstone.fall=true +minecraft\:block.wart_block.step=true +minecraft\:entity.turtle.hurt=true +minecraft\:entity.dolphin.play=true +minecraft\:block.note_block.bit=true +minecraft\:block.sculk_sensor.fall=true +minecraft\:entity.villager.celebrate=true +minecraft\:block.lodestone.break=true +astikorcarts\:entity.cart.detach=true +minecraft\:block.basalt.step=true +minecraft\:entity.polar_bear.hurt=true +exposure\:item.photograph_frame.remove_item=true +minecraft\:entity.parrot.imitate.wither=true +gtceu\:jet_engine=true +minecraft\:entity.fox.screech=true +minecraft\:block.sculk_sensor.clicking_stop=true +minecraft\:entity.vex.death=true +tfc\:entity.tfc_wolf.ambient=true +minecraft\:entity.bee.loop=true +minecraft\:entity.vex.charge=true +minecraft\:block.beehive.work=true +gtceu\:cooling=true +createaddition\:little_zap=true +minecraft\:entity.skeleton_horse.jump_water=true +minecraft\:entity.zombie_villager.death=true +tfc\:item.javelin.hit=true +tfc\:block.thin.place=true +minecraft\:entity.horse.ambient=true +minecraft\:entity.villager.work_armorer=true +minecraft\:block.mud_bricks.fall=true +minecraft\:entity.phantom.death=true +minecraft\:block.tripwire.detach=true +minecraft\:block.deepslate.place=true +tfc\:block.charcoal.place=true +tfc\:entity.jellyfish.hurt=true +minecraft\:entity.ender_dragon.death=true +minecraft\:block.sand.hit=true +minecraft\:entity.leash_knot.place=true +minecraft\:entity.strider.retreat=true +minecraft\:entity.cow.step=true +minecraft\:entity.allay.item_taken=true +minecraft\:block.note_block.imitate.zombie=true +minecraft\:entity.mooshroom.convert=true +minecraft\:entity.warden.death=true +minecraft\:block.sculk_sensor.step=true +tfc\:entity.cougar.ambient=true +minecraft\:item.armor.equip_leather=true +minecraft\:block.bell.resonate=true +minecraft\:entity.mooshroom.milk=true +minecraft\:block.dispenser.fail=true +minecraft\:entity.endermite.death=true +minecraft\:entity.goat.screaming.prepare_ram=true +minecraft\:block.nether_sprouts.break=true +minecraft\:block.respawn_anchor.ambient=true +gtceu\:drill=true +astikorcarts\:entity.cart.place=true +minecraft\:item.crossbow.shoot=true +minecraft\:entity.bee.sting=true +minecraft\:block.deepslate.break=true +minecraft\:block.chest.open=true +minecraft\:block.netherite_block.break=true +minecraft\:block.note_block.cow_bell=true +minecraft\:block.iron_door.open=true +minecraft\:block.fungus.break=true +gtceu\:motor=true +tfc\:block.thin.break=true +minecraft\:entity.strider.happy=true +gtceu\:turbine=true +tfc\:entity.alpaca.hurt=true +minecraft\:ambient.soul_sand_valley.additions=true +minecraft\:block.slime_block.place=true +tfc\:item.knapping.leather=true +minecraft\:block.sculk_vein.break=true +minecraft\:block.fire.ambient=true +minecraft\:block.wooden_trapdoor.open=true +gtceu\:spray_can=true +minecraft\:entity.ravager.stunned=true +minecraft\:block.nether_wood.fall=true +minecraft\:entity.fox.aggro=true +minecraft\:entity.player.levelup=true +minecraft\:entity.dolphin.hurt=true +exposure\:item.camera.lens_insert=true +minecraft\:entity.glow_item_frame.place=true +minecraft\:entity.player.small_fall=true +tfc\:block.charcoal.fall=true +minecraft\:entity.skeleton.step=true +minecraft\:music_disc.13=true +minecraft\:entity.bee.death=true +minecraft\:entity.parrot.imitate.wither_skeleton=true +minecraft\:music_disc.11=true +minecraft\:block.wart_block.hit=true +minecraft\:block.wet_grass.step=true +minecraft\:entity.pillager.ambient=true +minecraft\:entity.experience_bottle.throw=true +minecraft\:entity.wither_skeleton.ambient=true +minecraft\:item.trident.riptide_3=true +minecraft\:item.trident.riptide_2=true +minecraft\:block.calcite.break=true +minecraft\:block.pointed_dripstone.fall=true +minecraft\:entity.piglin_brute.hurt=true +minecraft\:block.nether_gold_ore.fall=true +minecraft\:entity.fox.eat=true +minecraft\:block.azalea.break=true +minecraft\:entity.armor_stand.place=true +minecraft\:item.trident.riptide_1=true +minecraft\:block.wet_grass.fall=true +minecraft\:block.mud_bricks.step=true +minecraft\:entity.pig.hurt=true +minecraft\:block.bamboo_wood_hanging_sign.fall=true +minecraft\:entity.wolf.pant=true +minecraft\:block.sweet_berry_bush.place=true +minecraft\:entity.parrot.imitate.endermite=true +minecraft\:block.tuff.fall=true +minecraft\:block.ancient_debris.hit=true +gtceu\:mixer=true +minecraft\:block.netherite_block.step=true +minecraft\:entity.frog.death=true +minecraft\:entity.endermite.hurt=true +minecraft\:block.deepslate.hit=true +minecraft\:entity.evoker.prepare_wololo=true +minecraft\:entity.warden.sniff=true +tfc\:entity.gazelle.hurt=true +tfc\:entity.rainbow_trout.flop=true +minecraft\:entity.polar_bear.ambient_baby=true +tfc\:item.armor.equip_black_steel=true +minecraft\:block.sculk.hit=true +minecraft\:block.gravel.place=true +minecraft\:block.deepslate_bricks.break=true +tfc\:block.charcoal.step=true +minecraft\:entity.warden.nearby_closer=true +minecraft\:entity.wolf.shake=true +minecraft\:entity.firework_rocket.launch=true +minecraft\:block.basalt.break=true +tfc\:entity.rat.step=true +minecraft\:block.hanging_roots.fall=true +minecraft\:block.ender_chest.open=true +minecraft\:entity.piglin.jealous=true +create\:controller_take=true +minecraft\:block.sculk_sensor.hit=true +minecraft\:entity.camel.step_sand=true +tfc\:entity.quail.ambient=true +minecraft\:block.bamboo_wood.break=true +minecraft\:entity.parrot.imitate.ender_dragon=true +minecraft\:block.dispenser.dispense=true +minecraft\:block.sculk.fall=true +minecraft\:block.water.ambient=true +minecraft\:entity.donkey.eat=true +minecraft\:item.bucket.empty_tadpole=true +minecraft\:block.moss_carpet.hit=true +minecraft\:ambient.underwater.enter=true +minecraft\:entity.puffer_fish.hurt=true +minecraft\:entity.piglin.celebrate=true +minecraft\:entity.husk.ambient=true +gtceu\:combustion=true +tfc\:entity.dog.sleep=true +minecraft\:entity.guardian.death=true +minecraft\:entity.stray.step=true +minecraft\:entity.shulker.death=true +minecraft\:entity.camel.dash_ready=true +minecraft\:entity.iron_golem.repair=true +minecraft\:block.large_amethyst_bud.break=true +minecraft\:block.shulker_box.close=true +minecraft\:block.deepslate_bricks.place=true +minecraft\:entity.guardian.flop=true +minecraft\:entity.piglin_brute.ambient=true +minecraft\:entity.chicken.death=true +minecraft\:entity.glow_item_frame.remove_item=true +minecraft\:entity.salmon.hurt=true +minecraft\:entity.spider.death=true +create\:clipboard_erase=true +minecraft\:entity.turtle.shamble_baby=true +create\:mixing=true +create\:confirm=true +minecraft\:ui.button.click=true +tfc\:entity.boar.ambient=true +tfc\:entity.bluegill.hurt=true +minecraft\:entity.generic.death=true +minecraft\:block.bamboo_wood_button.click_off=true +minecraft\:block.sculk_vein.fall=true +minecraft\:entity.hoglin.retreat=true +minecraft\:block.wooden_trapdoor.close=true +minecraft\:block.roots.fall=true +minecraft\:block.shroomlight.hit=true +minecraft\:block.flowering_azalea.break=true +tfc\:entity.tfc_wolf.death=true +minecraft\:block.nether_wood.step=true +tfc\:entity.rooster.cry=true +tfc\:entity.bongo.ambient=true +minecraft\:block.sculk_shrieker.hit=true +minecraft\:block.honey_block.fall=true +minecraft\:block.hanging_roots.hit=true +gtceu\:wrench=true +minecraft\:block.moss_carpet.fall=true +minecraft\:item.trident.throw=true +minecraft\:entity.armor_stand.break=true +minecraft\:entity.goat.prepare_ram=true +tfc\:entity.turkey.ambient=true +minecraft\:entity.player.attack.nodamage=true +minecraft\:entity.cow.milk=true +minecraft\:entity.hoglin.ambient=true +minecraft\:entity.llama.ambient=true +minecraft\:block.nylium.fall=true +minecraft\:block.sculk.step=true +minecraft\:entity.strider.step_lava=true +minecraft\:block.sweet_berry_bush.break=true +minecraft\:block.calcite.place=true +minecraft\:entity.snow_golem.ambient=true +tfc\:entity.rainbow_trout.death=true +minecraft\:block.metal.step=true +minecraft\:entity.donkey.angry=true +gtceu\:replicator=true +tfc\:entity.bluegill.ambient=true +minecraft\:ui.toast.in=true +minecraft\:block.wart_block.fall=true +minecraft\:block.slime_block.break=true +minecraft\:entity.enderman.ambient=true +minecraft\:item.crossbow.loading_start=true +minecraft\:entity.shulker.shoot=true +minecraft\:entity.drowned.swim=true +minecraft\:block.wet_grass.break=true +minecraft\:block.note_block.bass=true +tfc\:entity.lion.hurt=true +minecraft\:block.stem.hit=true +minecraft\:entity.parrot.imitate.ghast=true +minecraft\:block.honey_block.step=true +tfc\:entity.bongo.death=true +minecraft\:entity.squid.ambient=true +minecraft\:entity.strider.ambient=true +minecraft\:entity.ghast.ambient=true +exposure\:item.camera.generic_click=true +minecraft\:ambient.underwater.loop=true +tfc\:entity.lake_trout.flop=true +minecraft\:block.respawn_anchor.set_spawn=true +minecraft\:block.wooden_pressure_plate.click_off=true +minecraft\:entity.experience_orb.pickup=true +minecraft\:entity.villager.work_fisherman=true +minecraft\:block.hanging_roots.step=true +minecraft\:entity.skeleton.ambient=true +minecraft\:music.overworld.forest=true +minecraft\:item.trident.return=true +minecraft\:entity.turtle.egg_crack=true +minecraft\:block.gilded_blackstone.break=true +tfc\:entity.pheasant.step=true +minecraft\:entity.magma_cube.jump=true +tfc\:entity.duck.step=true +minecraft\:block.mud.step=true +minecraft\:block.end_portal_frame.fill=true +create\:cranking_compounded_1=true +minecraft\:item.elytra.flying=true +minecraft\:entity.goat.screaming.ram_impact=true +minecraft\:block.lava.ambient=true +minecraft\:entity.rabbit.death=true +fallingtrees\:tree_fall=true +minecraft\:entity.camel.stand=true +minecraft\:block.cake.add_candle=true +minecraft\:block.slime_block.step=true +minecraft\:block.nether_gold_ore.step=true +create\:crushing_3=true +create\:crushing_2=true +minecraft\:entity.spider.ambient=true +create\:crushing_1=true +minecraft\:block.nether_wood_door.close=true +minecraft\:block.bamboo_wood.place=true +exposure\:block.lightroom.print=true +minecraft\:block.fungus.step=true +create\:whistle_train_low=true +minecraft\:entity.horse.breathe=true +tfc\:entity.tiger.death=true +minecraft\:entity.tropical_fish.death=true +minecraft\:block.moss_carpet.step=true +minecraft\:block.note_block.chime=true +minecraft\:entity.cow.death=true +minecraft\:ambient.crimson_forest.mood=true +minecraft\:ambient.underwater.loop.additions=true +minecraft\:block.bamboo_wood_hanging_sign.hit=true +minecraft\:entity.skeleton_horse.ambient_water=true +minecraft\:entity.hostile.death=true +minecraft\:block.chain.hit=true +minecraft\:entity.warden.roar=true +minecraft\:block.flowering_azalea.place=true +tfc\:entity.sabertooth.step=true +minecraft\:block.mud.hit=true +minecraft\:entity.minecart.inside.underwater=true +minecraft\:entity.strider.hurt=true +tfc\:item.armor.equip_bismuth_bronze=true +create\:chiff=true +minecraft\:entity.evoker.prepare_attack=true +minecraft\:block.note_block.imitate.wither_skeleton=true +minecraft\:item.bundle.drop_contents=true +minecraft\:entity.horse.angry=true +minecraft\:entity.zoglin.ambient=true +minecraft\:block.stone.hit=true +exposure\:item.camera.shutter_close=true +minecraft\:block.nylium.step=true +minecraft\:block.soul_sand.fall=true +create\:mechanical_press_activation_belt=true +minecraft\:entity.strider.saddle=true +minecraft\:entity.zombie_horse.hurt=true +minecraft\:entity.cod.ambient=true +minecraft\:entity.player.hurt_freeze=true +minecraft\:block.enchantment_table.use=true +minecraft\:block.bell.use=true +minecraft\:entity.frog.long_jump=true +minecraft\:entity.hostile.splash=true +minecraft\:block.large_amethyst_bud.place=true +minecraft\:block.weeping_vines.break=true +minecraft\:block.wood.step=true +minecraft\:block.wet_grass.place=true +minecraft\:entity.goat.screaming.hurt=true +minecraft\:item.bucket.fill_tadpole=true +minecraft\:block.bamboo_wood_hanging_sign.step=true +minecraft\:block.note_block.guitar=true +minecraft\:item.bottle.fill_dragonbreath=true +minecraft\:entity.rabbit.hurt=true +minecraft\:entity.wandering_trader.reappeared=true +create\:haunted_bell_convert=true +minecraft\:item.honey_bottle.drink=true +minecraft\:entity.turtle.death=true +minecraft\:entity.pig.saddle=true +minecraft\:entity.parrot.imitate.guardian=true +minecraft\:entity.tadpole.death=true +minecraft\:entity.fox.ambient=true +minecraft\:entity.villager.work_farmer=true +tfc\:item.pan.use=true +minecraft\:block.roots.step=true +minecraft\:block.fungus.hit=true +gtceu\:electrolyzer=true +minecraft\:entity.villager.work_shepherd=true +minecraft\:entity.player.hurt_sweet_berry_bush=true +minecraft\:block.sculk_vein.step=true +minecraft\:block.pointed_dripstone.place=true +minecraft\:block.slime_block.fall=true +minecraft\:block.decorated_pot.place=true +minecraft\:entity.fishing_bobber.retrieve=true +minecraft\:entity.axolotl.idle_water=true +minecraft\:music.overworld.grove=true +minecraft\:block.weeping_vines.place=true +minecraft\:block.note_block.didgeridoo=true +tfc\:entity.penguin.hurt=true +tfc\:entity.tiger.attack=true +minecraft\:entity.wandering_trader.trade=true +create\:whistle_train_manual_low=true +minecraft\:block.nether_ore.hit=true +minecraft\:entity.vex.hurt=true +minecraft\:block.fence_gate.open=true +minecraft\:block.sweet_berry_bush.pick_berries=true +minecraft\:entity.ender_dragon.ambient=true +minecraft\:block.stone.break=true +tfc\:entity.moose.hurt=true +minecraft\:block.sniffer_egg.plop=true +minecraft\:entity.ravager.celebrate=true +minecraft\:block.chain.step=true +minecraft\:block.suspicious_gravel.break=true +minecraft\:block.mud.fall=true +minecraft\:block.lava.pop=true +exposure\:item.camera.film_advance_last=true +exposure\:item.camera.film_advance=true +tfc\:entity.lake_trout.hurt=true +minecraft\:entity.item_frame.break=true +minecraft\:block.amethyst_block.hit=true +minecraft\:block.beacon.ambient=true +create\:saw_activate_wood=true +minecraft\:entity.guardian.hurt_land=true +tfc\:block.wattle.daubed=true +minecraft\:entity.fox.hurt=true +minecraft\:entity.panda.death=true +create\:peculiar_bell_use=true +minecraft\:item.totem.use=true +minecraft\:entity.fishing_bobber.splash=true +minecraft\:music_disc.wait=true +minecraft\:ambient.underwater.loop.additions.ultra_rare=true +gtceu\:arc=true +minecraft\:block.honey_block.slide=true +minecraft\:block.nether_ore.fall=true +minecraft\:entity.skeleton_horse.ambient=true +minecraft\:block.soul_soil.place=true +tfc\:entity.bear.hurt=true +create\:potato_hit=true +tfc\:entity.musk_ox.step=true +minecraft\:block.wooden_button.click_on=true +minecraft\:block.shroomlight.break=true +minecraft\:entity.squid.hurt=true +minecraft\:block.rooted_dirt.hit=true +minecraft\:block.cherry_wood_trapdoor.open=true +minecraft\:block.roots.place=true +minecraft\:block.mud.break=true +minecraft\:entity.arrow.hit_player=true +minecraft\:block.mud.place=true +minecraft\:block.muddy_mangrove_roots.fall=true +minecraft\:entity.illusioner.death=true +minecraft\:entity.shulker.hurt_closed=true +minecraft\:entity.silverfish.hurt=true +minecraft\:item.spyglass.use=true +minecraft\:entity.parrot.imitate.hoglin=true +exposure\:item.camera.flash=true +tfc\:entity.ramming.impact=true +tfc\:entity.moose.attack=true +minecraft\:entity.iron_golem.step=true +minecraft\:block.blastfurnace.fire_crackle=true +minecraft\:block.chain.fall=true +tfc\:entity.rainbow_trout.ambient=true +minecraft\:block.honey_block.hit=true +minecraft\:entity.magma_cube.death_small=true +minecraft\:entity.fox.teleport=true +minecraft\:entity.phantom.hurt=true +minecraft\:block.candle.hit=true +minecraft\:block.portal.travel=true +minecraft\:item.brush.brushing.gravel.complete=true +create\:saw_activate_stone=true +minecraft\:entity.goat.screaming.eat=true +minecraft\:entity.allay.ambient_with_item=true +minecraft\:music_disc.otherside=true +minecraft\:entity.slime.death=true +tfc\:entity.manatee.ambient=true +tfc\:entity.turkey.death=true +minecraft\:entity.skeleton.hurt=true +minecraft\:block.moss_carpet.place=true +minecraft\:block.nether_wood_door.open=true +playerrevive\:death=true +minecraft\:block.big_dripleaf.step=true +minecraft\:block.bamboo.hit=true +tfc\:entity.caribou.death=true +minecraft\:block.bamboo_wood_pressure_plate.click_off=true +minecraft\:item.trident.hit_ground=true +minecraft\:item.brush.brushing.gravel=true +minecraft\:block.portal.ambient=true +minecraft\:block.snow.place=true +minecraft\:entity.stray.hurt=true +minecraft\:music_disc.blocks=true +deepresonance\:engine_shutdown=true +minecraft\:entity.ender_dragon.hurt=true +minecraft\:entity.glow_squid.ambient=true +minecraft\:item.honeycomb.wax_on=true +minecraft\:entity.wither.break_block=true +minecraft\:entity.sniffer.sniffing=true +minecraft\:block.ender_chest.close=true +tfc\:item.armor.equip_wrought_iron=true +minecraft\:entity.witch.ambient=true +minecraft\:block.respawn_anchor.deplete=true +minecraft\:block.candle.break=true +minecraft\:block.spore_blossom.break=true +minecraft\:block.amethyst_block.place=true +minecraft\:item.armor.equip_diamond=true +minecraft\:block.nether_wood.place=true +minecraft\:block.pointed_dripstone.drip_water=true +minecraft\:entity.blaze.shoot=true +minecraft\:block.nether_gold_ore.break=true +minecraft\:entity.sheep.shear=true +minecraft\:entity.ender_pearl.throw=true +minecraft\:block.beacon.activate=true +minecraft\:block.tuff.break=true +minecraft\:entity.turtle.egg_hatch=true +minecraft\:block.redstone_torch.burnout=true +minecraft\:intentionally_empty=true +minecraft\:entity.zombified_piglin.angry=true +gtceu\:furnace=true +minecraft\:block.fungus.fall=true +minecraft\:block.moss.step=true +minecraft\:block.dispenser.launch=true +minecraft\:entity.cat.hiss=true +minecraft\:block.nether_wart.break=true +minecraft\:entity.goat.long_jump=true +minecraft\:entity.ravager.roar=true +minecraft\:block.note_block.imitate.ender_dragon=true +create\:sanding_long=true +minecraft\:entity.blaze.hurt=true +firmalife\:item.hollow_shell.blow=true +minecraft\:block.sniffer_egg.crack=true +minecraft\:entity.endermite.ambient=true +minecraft\:block.ancient_debris.step=true +minecraft\:entity.panda.bite=true +minecraft\:entity.parrot.imitate.silverfish=true +create\:slime_added=true +minecraft\:block.polished_deepslate.step=true +minecraft\:block.bamboo_wood.fall=true +minecraft\:entity.wandering_trader.hurt=true +minecraft\:entity.dolphin.ambient_water=true +tfc\:entity.turkey.hurt=true +railways\:handcar_cogs=true +minecraft\:entity.bat.death=true +minecraft\:item.bottle.fill=true +tfc\:entity.moose.ambient=true +minecraft\:entity.piglin.converted_to_zombified=true +minecraft\:entity.arrow.shoot=true +minecraft\:ambient.warped_forest.additions=true +minecraft\:block.nether_ore.step=true +minecraft\:entity.strider.step=true +minecraft\:entity.goat.death=true +minecraft\:entity.panda.aggressive_ambient=true +minecraft\:block.big_dripleaf.hit=true +minecraft\:entity.husk.converted_to_zombie=true +minecraft\:entity.villager.work_cleric=true +minecraft\:block.bubble_column.bubble_pop=true +minecraft\:entity.phantom.swoop=true +minecraft\:entity.piglin_brute.death=true +minecraft\:entity.llama.death=true +minecraft\:entity.piglin.hurt=true +minecraft\:entity.parrot.imitate.phantom=true +minecraft\:music.overworld.lush_caves=true +tfc\:entity.jellyfish.ambient=true +minecraft\:entity.boat.paddle_land=true +minecraft\:entity.frog.tongue=true +minecraft\:music_disc.ward=true +minecraft\:entity.fox.sniff=true +minecraft\:entity.wither_skeleton.hurt=true +minecraft\:block.azalea_leaves.fall=true +minecraft\:entity.wither_skeleton.step=true +minecraft\:entity.drowned.hurt_water=true +gtceu\:wirecutter=true +minecraft\:block.tuff.hit=true +minecraft\:entity.sheep.hurt=true +tfc\:entity.crappie.death=true +minecraft\:block.metal.fall=true +minecraft\:block.netherite_block.fall=true +minecraft\:entity.pig.step=true +minecraft\:entity.villager.yes=true +minecraft\:music.nether.soul_sand_valley=true +minecraft\:entity.ender_dragon.growl=true +minecraft\:entity.vindicator.hurt=true +create\:blaze_munch=true +minecraft\:entity.llama.swag=true +minecraft\:block.small_dripleaf.break=true +create_connected\:elevator_music=true +minecraft\:entity.villager.work_toolsmith=true +minecraft\:item.bucket.fill_fish=true +minecraft\:block.moss_carpet.break=true +minecraft\:block.bamboo_sapling.hit=true +tfc\:entity.moose.death=true +minecraft\:block.nether_wood_hanging_sign.break=true +minecraft\:block.spore_blossom.place=true +minecraft\:entity.enderman.scream=true +minecraft\:block.soul_sand.hit=true +exposure\:item.photograph.break=true +minecraft\:entity.parrot.imitate.warden=true +minecraft\:entity.minecart.riding=true +minecraft\:block.tuff.place=true +minecraft\:block.soul_soil.break=true +minecraft\:entity.illusioner.prepare_mirror=true +minecraft\:entity.elder_guardian.death=true +create\:mechanical_press_activation_compounded_1=true +minecraft\:block.ladder.hit=true +minecraft\:entity.polar_bear.warning=true +minecraft\:block.amethyst_block.break=true +minecraft\:entity.piglin_brute.converted_to_zombified=true +minecraft\:entity.parrot.imitate.magma_cube=true +minecraft\:block.small_dripleaf.place=true +minecraft\:entity.cat.purreow=true +minecraft\:block.beacon.deactivate=true +minecraft\:music_disc.pigstep=true +tfc\:entity.dog.step=true +minecraft\:entity.parrot.imitate.elder_guardian=true +playerrevive\:revived=true +minecraft\:block.conduit.attack.target=true +minecraft\:music.overworld.flower_forest=true +minecraft\:entity.arrow.hit=true +tfc\:entity.quail.hurt=true +minecraft\:item.ink_sac.use=true +minecraft\:entity.witch.death=true +minecraft\:entity.squid.death=true +minecraft\:block.gilded_blackstone.hit=true +tfc\:entity.yak.hurt=true +minecraft\:entity.sheep.ambient=true +minecraft\:block.bone_block.place=true +minecraft\:entity.cow.ambient=true +minecraft\:entity.tropical_fish.flop=true +minecraft\:block.frogspawn.place=true +minecraft\:entity.snow_golem.shear=true +minecraft\:block.azalea_leaves.step=true +minecraft\:entity.panda.ambient=true +minecraft\:block.polished_deepslate.fall=true +minecraft\:item.armor.equip_chain=true +minecraft\:entity.dolphin.ambient=true +minecraft\:entity.parrot.imitate.zombie=true +minecraft\:block.snow.break=true +minecraft\:block.lily_pad.place=true +gtceu\:compressor=true +tfc\:entity.wildebeest.hurt=true +minecraft\:entity.zombie_villager.hurt=true +minecraft\:item.bucket.empty_milk=true +minecraft\:entity.dolphin.eat=true +minecraft\:entity.evoker.hurt=true +tfc\:entity.sabertooth.ambient=true +minecraft\:block.gravel.hit=true +minecraft\:item.bucket.fill_lava=true +minecraft\:entity.magma_cube.squish_small=true +minecraft\:entity.bee.pollinate=true +minecraft\:entity.ocelot.hurt=true +minecraft\:block.sand.place=true +gtceu\:portal_closing=true +minecraft\:entity.generic.small_fall=true +minecraft\:block.chiseled_bookshelf.hit=true +deepresonance\:engine_start=true +tfc\:entity.deer.step=true +tfc\:entity.wildebeest.attack=true +minecraft\:block.chain.break=true +gtceu\:assembler=true +minecraft\:entity.ravager.hurt=true +minecraft\:block.weeping_vines.fall=true +minecraft\:block.soul_soil.step=true +minecraft\:block.bamboo_wood_hanging_sign.break=true +minecraft\:block.wooden_button.click_off=true +minecraft\:entity.wandering_trader.death=true +minecraft\:entity.warden.dig=true +minecraft\:entity.guardian.attack=true +minecraft\:entity.bee.loop_aggressive=true +minecraft\:block.scaffolding.hit=true +minecraft\:event.raid.horn=true +minecraft\:entity.goat.screaming.death=true +minecraft\:ambient.nether_wastes.mood=true +minecraft\:block.anvil.destroy=true +minecraft\:block.cherry_wood.place=true +minecraft\:block.bamboo_wood_button.click_on=true +minecraft\:block.hanging_roots.break=true +minecraft\:block.netherrack.break=true +minecraft\:block.respawn_anchor.charge=true +tfc\:block.bloomery.crackle=true +minecraft\:block.pink_petals.break=true +minecraft\:entity.piglin.death=true +minecraft\:entity.warden.listening_angry=true +minecraft\:entity.witch.hurt=true +minecraft\:entity.player.breath=true +minecraft\:entity.dolphin.swim=true +minecraft\:entity.stray.death=true +minecraft\:block.deepslate_tiles.step=true +minecraft\:block.wet_grass.hit=true +minecraft\:block.ancient_debris.fall=true +minecraft\:block.note_block.pling=true +minecraft\:entity.ghast.warn=true +minecraft\:entity.warden.heartbeat=true +minecraft\:entity.skeleton_horse.death=true +minecraft\:entity.sniffer.scenting=true +tfc\:entity.pheasant.hurt=true +minecraft\:entity.parrot.imitate.husk=true +minecraft\:block.spore_blossom.hit=true +minecraft\:entity.tadpole.grow_up=true +waterflasks\:item.flaskbreak=true +minecraft\:entity.axolotl.attack=true +minecraft\:entity.polar_bear.step=true +exposure\:item.photograph_frame.break=true +minecraft\:entity.turtle.hurt_baby=true +tfc\:entity.duck.ambient=true +minecraft\:entity.horse.land=true +tfc\:entity.bongo.step=true +minecraft\:entity.parrot.step=true +tfc\:entity.tiger.hurt=true +minecraft\:music.dragon=true +minecraft\:block.big_dripleaf.place=true +minecraft\:block.nether_sprouts.hit=true +gtceu\:centrifuge=true +minecraft\:block.lava.extinguish=true +minecraft\:block.basalt.fall=true +minecraft\:entity.player.big_fall=true +minecraft\:entity.villager.work_librarian=true +minecraft\:block.stone_button.click_off=true +minecraft\:block.dripstone_block.hit=true +minecraft\:entity.slime.hurt=true +minecraft\:block.end_gateway.spawn=true +minecraft\:entity.iron_golem.attack=true +tfc\:entity.peafowl.death=true +minecraft\:entity.chicken.egg=true +tfc\:entity.jellyfish.death=true +minecraft\:block.amethyst_cluster.hit=true +minecraft\:entity.zoglin.hurt=true +minecraft\:block.ladder.break=true +minecraft\:block.bubble_column.whirlpool_inside=true +minecraft\:entity.glow_item_frame.break=true +minecraft\:item.crossbow.hit=true +minecraft\:entity.elder_guardian.hurt_land=true +minecraft\:block.end_portal.spawn=true +minecraft\:music_disc.cat=true +minecraft\:music.overworld.snowy_slopes=true +minecraft\:block.bamboo_wood.step=true +minecraft\:entity.generic.burn=true +minecraft\:block.bubble_column.whirlpool_ambient=true +tfc\:block.quern.drag=true +minecraft\:block.composter.empty=true +minecraft\:block.sculk.break=true +tfc\:entity.boar.hurt=true +minecraft\:entity.zombie_villager.converted=true +minecraft\:block.chain.place=true +minecraft\:entity.shulker.teleport=true +tfc\:random.dirt_slide_short=true +minecraft\:entity.sniffer.happy=true +minecraft\:block.bone_block.break=true +minecraft\:item.glow_ink_sac.use=true +tfc\:entity.crappie.flop=true +minecraft\:entity.leash_knot.break=true +minecraft\:entity.zombie_villager.ambient=true +minecraft\:entity.enderman.death=true +minecraft\:block.froglight.break=true +create\:contraption_assemble=true +tfc\:block.anvil.hit=true +minecraft\:ambient.underwater.loop.additions.rare=true +minecraft\:block.calcite.step=true +minecraft\:entity.zoglin.attack=true +minecraft\:block.stone.fall=true +minecraft\:ui.loom.take_result=true +minecraft\:entity.puffer_fish.flop=true +minecraft\:block.big_dripleaf.tilt_down=true +minecraft\:entity.parrot.death=true +tfc\:entity.lion.death=true +minecraft\:block.hanging_roots.place=true +minecraft\:block.amethyst_block.fall=true +minecraft\:block.note_block.xylophone=true +minecraft\:entity.elder_guardian.ambient_land=true +minecraft\:entity.rabbit.ambient=true +tfc\:item.firestarter.use=true +minecraft\:entity.blaze.death=true +patchouli\:book_flip=true +deepresonance\:engine_loop=true +minecraft\:block.beehive.exit=true +minecraft\:entity.vex.ambient=true +minecraft\:block.dripstone_block.break=true +minecraft\:block.coral_block.place=true +tfc\:block.scribing_table.use=true +exposure\:item.camera.button_click=true +createaddition\:tesla_coil=true +minecraft\:block.shroomlight.place=true +minecraft\:entity.guardian.ambient_land=true +minecraft\:block.coral_block.step=true +gtceu\:saw=true +minecraft\:entity.generic.eat=true +minecraft\:item.bucket.fill_milk=true +tfc\:block.barrel.open=true +minecraft\:block.weeping_vines.step=true +tfc\:entity.peafowl.ambient=true +minecraft\:block.moss.fall=true +tfc\:block.charcoal.hit=true +minecraft\:block.cherry_wood.hit=true +minecraft\:entity.axolotl.swim=true +minecraft\:block.slime_block.hit=true +minecraft\:entity.husk.step=true +minecraft\:entity.zombie.death=true +create\:contraption_disassemble=true +create\:wrench_rotate=true +minecraft\:entity.ender_dragon.shoot=true +minecraft\:block.sculk_catalyst.hit=true +minecraft\:entity.zombie.step=true +minecraft\:block.stone.place=true +tfc\:entity.crocodile.attack=true +minecraft\:entity.allay.item_given=true +minecraft\:entity.wolf.howl=true +minecraft\:entity.pig.ambient=true +tfc\:entity.smallmouth_bass.death=true +minecraft\:entity.iron_golem.death=true +tfc\:entity.caribou.hurt=true +minecraft\:block.nether_wood_trapdoor.close=true +minecraft\:entity.item_frame.place=true +minecraft\:music.overworld.jungle=true +minecraft\:block.chiseled_bookshelf.pickup=true +minecraft\:entity.item_frame.remove_item=true +tfc\:entity.rat.ambient=true +minecraft\:entity.warden.ambient=true +tfc\:entity.bluegill.flop=true +minecraft\:block.flowering_azalea.hit=true +minecraft\:block.nether_gold_ore.place=true +minecraft\:entity.iron_golem.damage=true +minecraft\:block.candle.place=true +minecraft\:block.beehive.enter=true +minecraft\:entity.elder_guardian.curse=true +minecraft\:entity.firework_rocket.blast=true +minecraft\:entity.wolf.whine=true +minecraft\:ambient.basalt_deltas.mood=true +gtceu\:boiler=true +minecraft\:block.coral_block.fall=true +minecraft\:block.stone.step=true +minecraft\:block.nether_wood.break=true +minecraft\:block.sculk.place=true +minecraft\:entity.llama.eat=true +tfc\:entity.smallmouth_bass.hurt=true +create\:mechanical_press_activation=true +minecraft\:entity.generic.splash=true +minecraft\:block.sculk_catalyst.place=true +minecraft\:entity.frog.ambient=true +minecraft\:entity.wolf.step=true +minecraft\:entity.slime.squish=true +minecraft\:block.sniffer_egg.hatch=true +minecraft\:block.froglight.place=true +minecraft\:entity.bat.loop=true +minecraft\:item.bucket.empty_fish=true +minecraft\:entity.goat.eat=true +minecraft\:entity.hoglin.step=true +minecraft\:entity.illusioner.hurt=true +minecraft\:entity.slime.death_small=true +minecraft\:entity.zombie.ambient=true +minecraft\:block.sand.break=true +minecraft\:block.amethyst_block.step=true +minecraft\:block.decorated_pot.break=true +minecraft\:entity.goat.hurt=true +minecraft\:entity.generic.extinguish_fire=true +minecraft\:block.metal.hit=true +minecraft\:entity.rabbit.attack=true +minecraft\:block.muddy_mangrove_roots.step=true +tfc\:item.cool=true +minecraft\:block.big_dripleaf.break=true +minecraft\:entity.guardian.ambient=true +minecraft\:block.tripwire.attach=true +exposure\:item.camera.release_button_click=true +tfc\:entity.grouse.death=true +minecraft\:block.suspicious_gravel.place=true +minecraft\:entity.goat.screaming.long_jump=true +minecraft\:block.ladder.place=true +minecraft\:block.dripstone_block.place=true +minecraft\:block.bamboo_wood_hanging_sign.place=true +minecraft\:entity.hostile.swim=true +tfc\:entity.tfc_wolf.hurt=true +minecraft\:block.nether_wood_fence_gate.open=true +minecraft\:entity.tnt.primed=true +minecraft\:block.soul_soil.fall=true +minecraft\:block.big_dripleaf.fall=true +minecraft\:entity.generic.swim=true +minecraft\:block.stone_button.click_on=true +minecraft\:entity.slime.squish_small=true +tfc\:entity.peafowl.step=true +minecraft\:entity.villager.work_cartographer=true +minecraft\:entity.warden.nearby_closest=true +minecraft\:block.fence_gate.close=true +minecraft\:entity.mule.ambient=true +tfc\:block.thin.hit=true +minecraft\:block.beehive.drip=true +minecraft\:block.campfire.crackle=true +minecraft\:block.comparator.click=true +minecraft\:block.metal_pressure_plate.click_off=true +minecraft\:item.armor.equip_iron=true +minecraft\:entity.panda.sneeze=true +minecraft\:entity.dolphin.jump=true +minecraft\:music_disc.relic=true +gtceu\:science=true +minecraft\:block.sculk_catalyst.fall=true +minecraft\:block.ancient_debris.break=true +minecraft\:item.nether_wart.plant=true +minecraft\:entity.fox.spit=true +minecraft\:block.chiseled_bookshelf.break=true +minecraft\:block.cherry_leaves.fall=true +minecraft\:block.azalea_leaves.break=true +minecraft\:entity.hostile.big_fall=true +minecraft\:entity.turtle.death_baby=true +minecraft\:entity.cod.death=true +minecraft\:entity.player.death=true +minecraft\:block.scaffolding.fall=true +minecraft\:block.lantern.fall=true +create\:cranking=true +minecraft\:entity.splash_potion.throw=true +cucumber\:watering_can=true +minecraft\:block.bone_block.step=true +minecraft\:entity.dolphin.splash=true +createaddition\:loud_zap=true +minecraft\:entity.wither.ambient=true +minecraft\:block.wart_block.place=true +minecraft\:entity.creeper.primed=true +minecraft\:entity.horse.eat=true +tfc\:random.rock_slide_short=true +minecraft\:block.copper.place=true +minecraft\:entity.elder_guardian.hurt=true +minecraft\:entity.polar_bear.ambient=true +minecraft\:block.nether_wood_button.click_off=true +minecraft\:block.chest.locked=true +tfc\:entity.duck.death=true +minecraft\:entity.frog.step=true +minecraft\:block.small_amethyst_bud.break=true +minecraft\:entity.wolf.ambient=true +minecraft\:block.cherry_wood.fall=true +minecraft\:block.nether_wood_pressure_plate.click_on=true +minecraft\:block.decorated_pot.fall=true +exposure\:item.photograph_frame.add_item=true +minecraft\:block.candle.extinguish=true +minecraft\:weather.rain=false +minecraft\:entity.phantom.ambient=true +minecraft\:entity.cat.death=true +tfc\:entity.rat.hurt=true +minecraft\:block.sand.step=true +minecraft\:entity.goat.screaming.ambient=true +minecraft\:entity.ender_dragon.flap=true +create\:whistle_train=true +tfc\:entity.caribou.ambient=true +create\:funnel_flap=true +minecraft\:block.conduit.deactivate=true +tfc\:block.thatch.fall=true +minecraft\:entity.generic.hurt=true +minecraft\:entity.puffer_fish.death=true +minecraft\:entity.turtle.egg_break=true +minecraft\:entity.elder_guardian.death_land=true +minecraft\:entity.magma_cube.death=true +tfc\:entity.lion.attack=true +minecraft\:item.spyglass.stop_using=true +minecraft\:entity.donkey.ambient=true +minecraft\:ui.loom.select_pattern=true +minecraft\:weather.rain.above=false +tfc\:entity.musk_ox.death=true +tfc\:entity.smallmouth_bass.flop=true +create\:wrench_remove_compounded_1=true +minecraft\:block.wooden_door.open=true +minecraft\:ambient.crimson_forest.loop=true +minecraft\:block.cherry_wood_button.click_on=true +gtceu\:sus=true +gtceu\:macerator=true +minecraft\:block.pumpkin.carve=true +tfc\:block.bellows.blow=true +minecraft\:block.vine.fall=true +minecraft\:block.cherry_wood_trapdoor.close=true +minecraft\:block.decorated_pot.step=true +minecraft\:item.shield.block=true +minecraft\:block.note_block.snare=true +minecraft\:block.copper.break=true +minecraft\:block.grass.break=true +minecraft\:block.metal.place=true +minecraft\:entity.allay.hurt=true +minecraft\:block.vine.hit=true +minecraft\:block.wart_block.break=true +minecraft\:entity.zombie_horse.ambient=true +minecraft\:block.nether_ore.place=true +minecraft\:block.sculk_catalyst.step=true +minecraft\:entity.horse.death=true +minecraft\:entity.parrot.imitate.ravager=true +tfc\:random.rock_slide_long_fake=true +minecraft\:entity.item.break=true +minecraft\:entity.wandering_trader.yes=true +minecraft\:entity.blaze.burn=true +tfc\:block.thatch.step=true +minecraft\:entity.mooshroom.suspicious_milk=true +minecraft\:entity.pig.death=true +minecraft\:entity.zombie.infect=true +tfc\:entity.cougar.sleep=true +minecraft\:block.sand.fall=true +minecraft\:item.bundle.remove_one=true +minecraft\:entity.hoglin.hurt=true +minecraft\:entity.horse.hurt=true +minecraft\:block.polished_deepslate.place=true +minecraft\:entity.creeper.death=true +minecraft\:block.honey_block.break=true +minecraft\:block.sculk_catalyst.break=true +minecraft\:entity.squid.squirt=true +minecraft\:entity.villager.work_leatherworker=true +minecraft\:block.stone_pressure_plate.click_on=true +minecraft\:ui.toast.challenge_complete=true +minecraft\:entity.guardian.death_land=true +tfc\:item.jug.blow=true +minecraft\:block.pink_petals.place=true +minecraft\:block.cherry_wood_pressure_plate.click_off=true +minecraft\:entity.hoglin.converted_to_zombified=true +minecraft\:block.nether_wood_fence_gate.close=true +minecraft\:music_disc.stal=true +create\:mixing_compounded_1=true +minecraft\:block.sculk_vein.hit=true +tfc\:entity.rat.death=true +minecraft\:entity.firework_rocket.large_blast_far=true +minecraft\:entity.parrot.imitate.zoglin=true +minecraft\:entity.drowned.ambient_water=true +minecraft\:entity.fish.swim=true +minecraft\:entity.sniffer.drop_seed=true +minecraft\:entity.villager.ambient=true +tfc\:entity.crappie.hurt=true +minecraft\:block.lantern.step=true +patchouli\:book_open=true +tfc\:entity.tiger.sleep=true +create\:whistle_high=true +minecraft\:block.note_block.harp=true +minecraft\:entity.parrot.imitate.shulker=true +minecraft\:entity.axolotl.death=true +exposure\:item.camera.lens_remove=true +exposure\:item.camera.viewfinder_open=true +minecraft\:entity.skeleton_horse.gallop_water=true +minecraft\:music_disc.mellohi=true +minecraft\:music.overworld.frozen_peaks=true +minecraft\:entity.drowned.ambient=true +minecraft\:entity.elder_guardian.ambient=true +minecraft\:block.nether_wood_hanging_sign.hit=true +exposure\:item.photograph_frame.place=true +minecraft\:block.rooted_dirt.place=true +tfc\:entity.rainbow_trout.hurt=true +minecraft\:block.vine.step=true +minecraft\:block.azalea_leaves.place=true +exposure\:item.camera.viewfinder_close=true +minecraft\:music.credits=true +minecraft\:entity.zombie.converted_to_drowned=true +minecraft\:block.note_block.flute=true +tfc\:entity.largemouth_bass.hurt=true +minecraft\:entity.zombified_piglin.ambient=true +minecraft\:entity.fox.death=true +minecraft\:block.bone_block.fall=true +minecraft\:item.crossbow.quick_charge_2=true +minecraft\:item.crossbow.quick_charge_1=true +minecraft\:entity.player.splash=true +minecraft\:block.amethyst_block.chime=true +minecraft\:entity.husk.death=true +minecraft\:music_disc.far=true +minecraft\:music.end=true +create\:potato_hit_compounded_1=true +minecraft\:item.bucket.empty_powder_snow=true +minecraft\:item.bucket.fill_powder_snow=true +minecraft\:block.scaffolding.step=true +minecraft\:entity.firework_rocket.large_blast=true +minecraft\:entity.panda.eat=true +minecraft\:item.crossbow.quick_charge_3=true +minecraft\:entity.wither_skeleton.death=true +minecraft\:ambient.cave=true +minecraft\:block.cave_vines.pick_berries=true +minecraft\:entity.spider.step=true +minecraft\:entity.illusioner.mirror_move=true +tfc\:item.fertilizer.use=true +minecraft\:block.pointed_dripstone.drip_lava_into_cauldron=true +create\:steam=true +minecraft\:entity.salmon.ambient=true +minecraft\:entity.slime.hurt_small=true +minecraft\:block.azalea.step=true +minecraft\:entity.wolf.death=true +minecraft\:entity.wandering_trader.disappeared=true +minecraft\:block.pointed_dripstone.land=true +minecraft\:block.small_amethyst_bud.place=true +minecraft\:entity.mule.angry=true +minecraft\:entity.husk.hurt=true +minecraft\:block.snow.hit=true +tfc\:entity.manatee.hurt=true +tfc\:entity.boar.attack=true +rftoolsutility\:teleport_whoosh=true +minecraft\:block.portal.trigger=true +minecraft\:entity.puffer_fish.sting=true +minecraft\:block.grass.hit=true +minecraft\:block.conduit.ambient=true +minecraft\:block.deepslate_tiles.fall=true +gtceu\:portable_scanner=true +minecraft\:block.stone_pressure_plate.click_off=true +minecraft\:block.bubble_column.upwards_inside=true +minecraft\:block.copper.hit=true +minecraft\:entity.parrot.hurt=true +minecraft\:entity.horse.gallop=true +create\:copper_armor_equip=true +minecraft\:entity.allay.item_thrown=true +minecraft\:entity.zombie_horse.death=true +minecraft\:block.grass.place=true +minecraft\:entity.evoker.ambient=true +tfc\:block.peat.hit=true +minecraft\:entity.zoglin.death=true +minecraft\:entity.parrot.imitate.slime=true +minecraft\:block.bamboo_wood_trapdoor.open=true +exposure\:item.camera.film_removed=true +minecraft\:block.cave_vines.hit=true +minecraft\:block.barrel.close=true +minecraft\:entity.chicken.ambient=true +minecraft\:entity.cat.hurt=true +tfc\:random.rock_smash=true +minecraft\:entity.guardian.hurt=true +minecraft\:entity.hoglin.angry=true +minecraft\:entity.ghast.death=true +minecraft\:music_disc.mall=true +minecraft\:entity.silverfish.step=true +tfc\:entity.duck.hurt=true +tfc\:entity.manatee.death=true +minecraft\:entity.turtle.shamble=true +minecraft\:entity.shulker_bullet.hurt=true +minecraft\:music.game=true +minecraft\:block.nether_ore.break=true +minecraft\:item.bucket.empty=true +minecraft\:block.calcite.hit=true +minecraft\:block.decorated_pot.shatter=true +minecraft\:block.sculk_shrieker.step=true +tfc\:entity.sabertooth.death=true +minecraft\:entity.snowball.throw=true +minecraft\:block.chorus_flower.grow=true +minecraft\:entity.hostile.small_fall=true +minecraft\:block.bubble_column.upwards_ambient=true +tfc\:entity.hyena.hurt=true +minecraft\:entity.hoglin.attack=true +minecraft\:entity.warden.nearby_close=true +minecraft\:block.cave_vines.place=true +minecraft\:block.nylium.hit=true +minecraft\:item.bucket.empty_lava=true +tfc\:entity.caribou.step=true +minecraft\:block.azalea.fall=true +ae2\:guide.click=true +tfc\:item.armor.equip_blue_steel=true +minecraft\:block.nether_wood_hanging_sign.step=true +minecraft\:block.nether_wood_hanging_sign.place=true +minecraft\:entity.player.burp=true +minecraft\:block.cherry_wood_button.click_off=true +create\:schematicannon_launch_block=true +minecraft\:block.bamboo_wood_trapdoor.close=true +minecraft\:entity.item.pickup=true +minecraft\:entity.villager.work_butcher=true +minecraft\:entity.player.attack.knockback=true +exposure\:item.photograph.place=true +minecraft\:block.bamboo.step=true +minecraft\:block.stem.place=true +minecraft\:block.cherry_wood_hanging_sign.step=true +minecraft\:block.amethyst_cluster.break=true +minecraft\:block.glass.place=true +minecraft\:item.armor.equip_elytra=true +minecraft\:entity.cat.stray_ambient=true +minecraft\:block.small_dripleaf.step=true +minecraft\:entity.strider.eat=true +minecraft\:entity.player.hurt_drown=true +gtceu\:fire=true +exposure\:item.camera.lens_ring_click=true +minecraft\:block.growing_plant.crop=true +minecraft\:entity.lingering_potion.throw=true +minecraft\:block.cherry_sapling.hit=true +minecraft\:block.deepslate_bricks.fall=true +minecraft\:entity.zombie.attack_iron_door=true +minecraft\:entity.camel.ambient=true +minecraft\:entity.ghast.shoot=true +minecraft\:music.overworld.stony_peaks=true +minecraft\:block.cherry_leaves.place=true +minecraft\:block.bamboo.fall=true +minecraft\:block.composter.fill_success=true +minecraft\:ambient.nether_wastes.loop=true +minecraft\:entity.turtle.swim=true +minecraft\:music.under_water=true +gtceu\:portal_opening=true +minecraft\:entity.glow_squid.squirt=true +minecraft\:music.overworld.meadow=true +minecraft\:entity.player.attack.sweep=true +tfc\:entity.grouse.step=true +minecraft\:block.soul_soil.hit=true +minecraft\:block.tripwire.click_on=true +minecraft\:entity.evoker.death=true +minecraft\:entity.goat.ambient=true +minecraft\:item.dye.use=true +minecraft\:entity.sniffer.hurt=true +minecraft\:block.dripstone_block.fall=true +minecraft\:block.glass.break=true +minecraft\:block.note_block.hat=true +gtceu\:file=true +minecraft\:block.cherry_leaves.break=true +minecraft\:entity.bat.ambient=true +minecraft\:block.flowering_azalea.step=true +minecraft\:item.armor.equip_turtle=true +minecraft\:entity.skeleton_horse.swim=true +minecraft\:block.mangrove_roots.place=true +minecraft\:entity.drowned.hurt=true +minecraft\:entity.player.swim=true +tfc\:item.armor.equip_bronze=true +minecraft\:entity.bat.takeoff=true +minecraft\:entity.parrot.imitate.zombie_villager=true +minecraft\:entity.painting.break=true +tfc\:item.armor.equip_red_steel=true +minecraft\:block.anvil.fall=true +minecraft\:block.hanging_sign.hit=true +alekiships\:music_disc_pirate_crafting=true +minecraft\:entity.warden.angry=true +exposure\:item.camera.filter_remove=true +minecraft\:entity.cow.hurt=true +minecraft\:entity.mooshroom.eat=true +minecraft\:block.chiseled_bookshelf.insert=true +tfc\:entity.largemouth_bass.ambient=true +minecraft\:block.sculk_shrieker.fall=true +minecraft\:block.iron_trapdoor.close=true +minecraft\:block.suspicious_gravel.step=true +minecraft\:entity.parrot.imitate.spider=true +minecraft\:block.sculk_shrieker.shriek=true +minecraft\:block.chest.close=true +minecraft\:entity.dolphin.attack=true +minecraft\:block.frogspawn.break=true +create\:train=true +minecraft\:entity.parrot.eat=true +minecraft\:item.bone_meal.use=true +minecraft\:block.small_dripleaf.fall=true +minecraft\:entity.vindicator.celebrate=true +minecraft\:entity.ocelot.ambient=true +minecraft\:entity.shulker.hurt=true +minecraft\:music.overworld.badlands=true +minecraft\:block.cave_vines.break=true +minecraft\:entity.player.attack.weak=true +gtceu\:plunger=true +minecraft\:entity.firework_rocket.shoot=true +minecraft\:block.deepslate_bricks.step=true +create\:funnel_flap_compounded_1=true +minecraft\:block.cherry_wood_hanging_sign.fall=true +gtceu\:computation=true +minecraft\:entity.lightning_bolt.thunder=false +minecraft\:entity.parrot.ambient=true +tfc\:entity.yak.death=true +minecraft\:block.cherry_wood.step=true +minecraft\:block.stem.break=true +minecraft\:entity.villager.death=true +minecraft\:block.suspicious_gravel.fall=true +minecraft\:block.amethyst_cluster.place=true +exposure\:item.camera.shutter_open=true +minecraft\:entity.villager.trade=true +minecraft\:entity.drowned.death_water=true +minecraft\:entity.cat.purr=true +minecraft\:block.conduit.ambient.short=true +minecraft\:block.piston.contract=true +tfc\:block.wattle.dyed=true +minecraft\:block.sculk_sensor.place=true +tfc\:entity.pheasant.ambient=true +minecraft\:entity.splash_potion.break=true +minecraft\:block.cherry_wood_pressure_plate.click_on=true +minecraft\:entity.item_frame.add_item=true +minecraft\:block.dripstone_block.step=true +minecraft\:entity.zombie_villager.step=true +tfc\:entity.tiger.step=true +minecraft\:block.glass.fall=true +minecraft\:block.lodestone.step=true +tfc\:entity.alpaca.step=true +minecraft\:entity.parrot.imitate.piglin=true +tfc\:entity.wildebeest.step=true +minecraft\:block.fire.extinguish=true +tfc\:entity.gazelle.ambient=true +gtceu\:metal_pipe=true +minecraft\:entity.panda.step=true +minecraft\:entity.player.hurt_on_fire=true +fallingtrees\:tree_impact=true +minecraft\:block.mud_bricks.place=true +tfc\:entity.moose.step=true +minecraft\:entity.tropical_fish.ambient=true +minecraft\:entity.sniffer.death=true +minecraft\:block.packed_mud.break=true +tfc\:item.javelin.hit_ground=true +minecraft\:entity.puffer_fish.blow_out=true +minecraft\:block.nether_wood_hanging_sign.fall=true +minecraft\:entity.parrot.imitate.vex=true +minecraft\:entity.fox.bite=true +minecraft\:ambient.warped_forest.loop=true +minecraft\:block.flowering_azalea.fall=true +minecraft\:block.sculk.spread=true +minecraft\:entity.camel.step=true +minecraft\:block.metal.break=true +rftoolsbuilder\:mover_loop=true +create\:whistle_train_manual=true +minecraft\:ambient.crimson_forest.additions=true +minecraft\:block.cherry_wood_fence_gate.close=true +minecraft\:entity.piglin.step=true +minecraft\:entity.fishing_bobber.throw=true +minecraft\:block.packed_mud.fall=true +minecraft\:entity.horse.armor=true +minecraft\:block.amethyst_block.resonate=true +minecraft\:block.hanging_sign.step=true +minecraft\:block.nether_sprouts.step=true +minecraft\:block.nether_gold_ore.hit=true +minecraft\:block.mud_bricks.break=true +minecraft\:entity.painting.place=true +minecraft\:entity.parrot.imitate.drowned=true +gtceu\:chainsaw=true +minecraft\:entity.warden.sonic_charge=true +tfc\:entity.lion.sleep=true +minecraft\:block.chiseled_bookshelf.pickup.enchanted=true +minecraft\:music_disc.strad=true +minecraft\:entity.blaze.ambient=true +minecraft\:block.amethyst_cluster.fall=true +minecraft\:entity.cod.flop=true +minecraft\:entity.zombie_villager.cure=true +minecraft\:entity.dolphin.death=true +minecraft\:entity.warden.step=true +minecraft\:block.anvil.step=true +minecraft\:block.packed_mud.step=true +minecraft\:block.hanging_sign.fall=true +minecraft\:entity.sheep.step=true +minecraft\:entity.parrot.imitate.evoker=true +minecraft\:entity.cat.ambient=true +tfc\:item.ceramic.break=true +minecraft\:block.polished_deepslate.break=true +minecraft\:item.trident.hit=true +minecraft\:entity.magma_cube.hurt=true +minecraft\:block.wooden_pressure_plate.click_on=true +minecraft\:entity.generic.explode=true +minecraft\:block.nether_sprouts.fall=true +create\:depot_plop=true +minecraft\:entity.horse.saddle=true +minecraft\:block.lever.click=true +tfc\:block.wattle.woven=true +tfc\:entity.crocodile.hurt=true +minecraft\:block.roots.break=true +minecraft\:block.nether_wood_pressure_plate.click_off=true +minecraft\:entity.silverfish.ambient=true +create\:fwoomp=true +minecraft\:entity.zombified_piglin.death=true +minecraft\:block.bone_block.hit=true +minecraft\:entity.witch.celebrate=true +minecraft\:block.amethyst_cluster.step=true +tfc\:entity.cougar.death=true +minecraft\:ambient.soul_sand_valley.mood=true +tfc\:entity.alpaca.ambient=true +tfc\:block.large_vessel.close=true +tfc\:entity.bear.attack=true +minecraft\:block.powder_snow.hit=true +minecraft\:block.ancient_debris.place=true +minecraft\:entity.wither.death=true +minecraft\:block.sculk_sensor.break=true +gtceu\:bath=true +minecraft\:entity.ghast.scream=true +minecraft\:block.glass.step=true +minecraft\:block.lodestone.fall=true +minecraft\:block.sculk_catalyst.bloom=true +tfc\:entity.bluegill.death=true +minecraft\:block.cherry_wood_door.close=true +tfc\:entity.lake_trout.death=true +minecraft\:entity.llama.hurt=true +minecraft\:block.mangrove_roots.break=true +minecraft\:ui.stonecutter.select_recipe=true +minecraft\:entity.donkey.death=true +minecraft\:entity.allay.ambient_without_item=true +minecraft\:entity.rabbit.jump=true +astikorcarts\:entity.cart.attach=true +minecraft\:music.nether.basalt_deltas=true +minecraft\:entity.goat.screaming.milk=true +minecraft\:entity.warden.tendril_clicks=true +exposure\:item.camera.shutter_ticking=true +tfc\:block.peat.step=true +minecraft\:block.gravel.step=true +minecraft\:entity.ravager.attack=true +create\:crafter_craft=true +minecraft\:entity.parrot.imitate.blaze=true +minecraft\:entity.sniffer.searching=true +minecraft\:entity.snow_golem.death=true +tfc\:block.tool_rack.place=true +minecraft\:block.pointed_dripstone.hit=true +minecraft\:block.anvil.break=true +minecraft\:music.nether.nether_wastes=true +minecraft\:block.candle.ambient=true +minecraft\:block.nether_bricks.place=true +minecraft\:entity.zombified_piglin.hurt=true +minecraft\:entity.camel.dash=true +minecraft\:block.netherrack.fall=true +minecraft\:entity.ocelot.death=true +create\:worldshaper_place=true +minecraft\:item.shield.break=true +tfc\:block.peat.break=true +minecraft\:entity.player.hurt=true +minecraft\:item.armor.equip_generic=true +minecraft\:block.deepslate_bricks.hit=true +minecraft\:block.lantern.break=true +minecraft\:block.frogspawn.fall=true +tfc\:entity.lion.step=true +minecraft\:entity.turtle.lay_egg=true +create\:schematicannon_finish=true +minecraft\:block.cave_vines.fall=true +minecraft\:entity.wither.shoot=true +create\:train2=true +minecraft\:block.deepslate_tiles.place=true +minecraft\:entity.firework_rocket.twinkle=true +minecraft\:block.spore_blossom.fall=true +create\:train3=true +minecraft\:block.hanging_sign.place=true +minecraft\:block.netherite_block.hit=true +minecraft\:item.chorus_fruit.teleport=true +minecraft\:block.decorated_pot.hit=true +tfc\:entity.pheasant.death=true +minecraft\:block.deepslate.step=true +minecraft\:entity.villager.work_weaponsmith=true +minecraft\:block.chiseled_bookshelf.fall=true +minecraft\:block.gilded_blackstone.place=true +minecraft\:block.medium_amethyst_bud.break=true +minecraft\:entity.salmon.flop=true +gtceu\:cut=true +minecraft\:block.cherry_sapling.place=true +minecraft\:block.mud_bricks.hit=true +minecraft\:block.iron_door.close=true +minecraft\:block.mangrove_roots.fall=true +tfc\:entity.lion.ambient=true +minecraft\:item.armor.equip_gold=true +minecraft\:block.sculk_shrieker.break=true +create\:scroll_value=true +minecraft\:block.soul_sand.break=true +create\:whistle=true +gtceu\:soft_hammer=true +tfc\:entity.wildebeest.ambient=true +minecraft\:entity.generic.drink=true +minecraft\:entity.ghast.hurt=true +minecraft\:block.packed_mud.place=true +minecraft\:item.bucket.fill_axolotl=true +minecraft\:block.azalea_leaves.hit=true +minecraft\:block.cave_vines.step=true +minecraft\:entity.goat.step=true +minecraft\:entity.firework_rocket.blast_far=true +minecraft\:music.nether.crimson_forest=true +tfc\:entity.cougar.attack=true +minecraft\:item.goat_horn.sound.7=false +minecraft\:item.goat_horn.sound.6=false +minecraft\:block.sculk_shrieker.place=true +minecraft\:item.goat_horn.sound.5=false +minecraft\:item.goat_horn.sound.4=false +minecraft\:block.polished_deepslate.hit=true +minecraft\:item.bundle.insert=true +minecraft\:block.nether_bricks.hit=true +minecraft\:block.metal_pressure_plate.click_on=true +tfc\:block.loom.weave=true +tfc\:entity.manatee.flop=true +minecraft\:block.moss.break=true +minecraft\:item.goat_horn.sound.3=false +minecraft\:item.goat_horn.sound.2=false +minecraft\:item.goat_horn.sound.1=false +minecraft\:item.goat_horn.sound.0=false +minecraft\:block.pointed_dripstone.break=true +minecraft\:block.soul_sand.place=true +minecraft\:block.nether_wood_button.click_on=true +tfc\:entity.tfc_wolf.step=true +tfc\:entity.largemouth_bass.death=true +tfc\:entity.crappie.ambient=true +tfc\:item.javelin.throw=true +minecraft\:block.deepslate.fall=true +minecraft\:entity.wandering_trader.drink_milk=true +minecraft\:entity.parrot.imitate.creeper=true +minecraft\:entity.egg.throw=true +minecraft\:entity.magma_cube.squish=true +minecraft\:block.wool.break=true +minecraft\:entity.skeleton.shoot=true +minecraft\:entity.piglin_brute.step=true +gtceu\:screwdriver=true +tfc\:entity.alpaca.death=true +minecraft\:entity.drowned.death=true +minecraft\:block.weeping_vines.hit=true +minecraft\:block.bamboo_wood.hit=true +minecraft\:entity.bee.hurt=true +minecraft\:block.frogspawn.step=true +rftoolsutility\:teleport_error=true +tfc\:entity.quail.death=true +minecraft\:block.vine.place=true +minecraft\:item.crossbow.loading_end=true +minecraft\:music.overworld.dripstone_caves=true +minecraft\:entity.player.attack.strong=true +tfc\:block.barrel.close=true +minecraft\:block.beehive.shear=true +minecraft\:entity.snow_golem.shoot=true +minecraft\:block.moss.hit=true +minecraft\:entity.panda.pre_sneeze=true +create\:controller_put=true +minecraft\:entity.cat.eat=true +tfc\:entity.jellyfish.flop=true +minecraft\:block.smithing_table.use=true +minecraft\:block.stem.fall=true +minecraft\:block.conduit.activate=true +railways\:conductor_whistle=true +gcyr\:rocket=true +minecraft\:ui.toast.out=true +tfc\:entity.grouse.ambient=true +minecraft\:block.mangrove_roots.step=true +minecraft\:entity.ender_eye.death=true +minecraft\:block.chorus_flower.death=true +minecraft\:block.deepslate_tiles.break=true +minecraft\:entity.vindicator.ambient=true +minecraft\:entity.frog.hurt=true +minecraft\:entity.puffer_fish.blow_up=true +minecraft\:block.basalt.place=true +minecraft\:block.muddy_mangrove_roots.place=true +minecraft\:music.overworld.sparse_jungle=true +minecraft\:entity.glow_squid.hurt=true +minecraft\:entity.zoglin.step=true +minecraft\:entity.elder_guardian.flop=true +minecraft\:entity.lightning_bolt.impact=true +minecraft\:entity.panda.cant_breed=true +minecraft\:item.book.page_turn=true +minecraft\:block.pink_petals.hit=true +minecraft\:entity.bat.hurt=true +minecraft\:entity.fox.sleep=true +minecraft\:block.medium_amethyst_bud.place=true +minecraft\:music.overworld.old_growth_taiga=true +minecraft\:block.sign.waxed_interact_fail=true +minecraft\:entity.glow_squid.death=true +minecraft\:ui.cartography_table.take_result=true +minecraft\:entity.zombie.attack_wooden_door=true +minecraft\:entity.illusioner.cast_spell=true +minecraft\:entity.salmon.death=true +minecraft\:entity.hostile.hurt=true +minecraft\:block.anvil.place=true +minecraft\:block.brewing_stand.brew=true +minecraft\:block.bamboo.break=true +create\:whistle_train_manual_low_end=true +minecraft\:block.glass.hit=true +minecraft\:block.shroomlight.fall=true +create\:deny=true +tfc\:item.armor.equip_copper=true +minecraft\:item.crop.plant=true +minecraft\:music_disc.chirp=true +tfc\:entity.deer.hurt=true +minecraft\:block.frogspawn.hit=true +minecraft\:entity.chicken.hurt=true +minecraft\:block.furnace.fire_crackle=true +minecraft\:entity.horse.step_wood=true +tfc\:entity.penguin.death=true +minecraft\:block.note_block.bell=true +create\:depot_slide=true +minecraft\:block.nether_wood.hit=true +minecraft\:entity.warden.agitated=true +minecraft\:entity.panda.worried_ambient=true +minecraft\:block.copper.step=true +minecraft\:entity.wolf.hurt=true +minecraft\:entity.enderman.teleport=true +minecraft\:block.lodestone.hit=true +minecraft\:block.gravel.fall=true +minecraft\:block.pointed_dripstone.step=true +minecraft\:entity.skeleton.death=true +minecraft\:block.deepslate_tiles.hit=true +minecraft\:entity.warden.sonic_boom=true +minecraft\:entity.llama.angry=true +minecraft\:entity.glow_item_frame.add_item=true +minecraft\:entity.wither.spawn=true +minecraft\:block.wool.place=true +minecraft\:block.stem.step=true +minecraft\:block.hanging_sign.break=true +minecraft\:block.gravel.break=true +minecraft\:block.vine.break=true +minecraft\:entity.warden.listening=true +minecraft\:block.basalt.hit=true +minecraft\:block.smoker.smoke=true +minecraft\:entity.wolf.growl=true +minecraft\:music_disc.5=true +minecraft\:entity.pillager.death=true +minecraft\:entity.ravager.step=true +create\:wrench_remove=true +minecraft\:item.axe.scrape=true +minecraft\:item.crossbow.loading_middle=true +minecraft\:entity.evoker.celebrate=true +minecraft\:block.copper.fall=true +minecraft\:entity.drowned.shoot=true +minecraft\:block.wood.hit=true +minecraft\:entity.zombie.hurt=true +gtceu\:mortar=true +minecraft\:block.composter.ready=true +tfc\:entity.sabertooth.hurt=true +exposure\:item.camera.interplanar_projector.project=true +minecraft\:entity.frog.eat=true +minecraft\:entity.parrot.imitate.illusioner=true +minecraft\:block.nether_bricks.step=true +tfc\:entity.crocodile.ambient=true +minecraft\:entity.illusioner.ambient=true +minecraft\:ambient.nether_wastes.additions=true +minecraft\:entity.camel.sit=true +minecraft\:entity.parrot.fly=true +tfc\:block.peat.fall=true +minecraft\:entity.boat.paddle_water=true +tfc\:entity.tfc_wolf.attack=true +minecraft\:entity.stray.ambient=true +minecraft\:entity.horse.step=true +tfc\:entity.bongo.hurt=true +tfc\:item.armor.equip_black_bronze=true +minecraft\:entity.enderman.hurt=true +minecraft\:item.shovel.flatten=true +minecraft\:item.bottle.empty=true +minecraft\:block.note_block.basedrum=true +minecraft\:block.sculk.charge=true +minecraft\:entity.item_frame.rotate_item=true +minecraft\:item.axe.strip=true +minecraft\:entity.axolotl.idle_air=true +minecraft\:block.netherrack.step=true +tfc\:entity.dog.ambient=true +minecraft\:entity.puffer_fish.ambient=true +createaddition\:electric_motor_buzz=true +minecraft\:entity.panda.hurt=true +minecraft\:block.powder_snow.step=true +tfc\:entity.hyena.sleep=true +tfc\:entity.bear.death=true +minecraft\:entity.shulker.close=true +minecraft\:block.shroomlight.step=true +tfc\:block.peat.place=true +tfc\:entity.tfc_wolf.sleep=true +minecraft\:entity.ender_eye.launch=true +tfc\:block.thatch.break=true +minecraft\:block.bamboo.place=true +tfc\:entity.crocodile.death=true +minecraft\:block.pointed_dripstone.drip_water_into_cauldron=true +tfc\:entity.dog.death=true +minecraft\:block.shulker_box.open=true +minecraft\:block.piston.extend=true +tfc\:entity.gazelle.death=true +minecraft\:entity.slime.attack=true +minecraft\:block.rooted_dirt.break=true +tfc\:entity.tiger.ambient=true +minecraft\:entity.goat.ram_impact=true +tfc\:block.crop.stick_add=true +minecraft\:entity.warden.hurt=true +minecraft\:ui.stonecutter.take_result=true +minecraft\:block.wool.step=true +tfc\:entity.hyena.ambient=true +minecraft\:block.bamboo_wood_fence_gate.open=true +tfc\:random.rock_slide_long=true +tfc\:entity.sabertooth.attack=true +minecraft\:block.cherry_wood_hanging_sign.break=true +minecraft\:entity.creeper.hurt=true +minecraft\:block.note_block.imitate.piglin=true +tfc\:block.thatch.hit=true +minecraft\:item.bucket.empty_axolotl=true +minecraft\:block.tripwire.click_off=true +minecraft\:entity.wandering_trader.ambient=true +minecraft\:block.iron_trapdoor.open=true +minecraft\:music.nether.warped_forest=true +minecraft\:block.suspicious_sand.step=true +minecraft\:entity.piglin_brute.angry=true +minecraft\:block.bamboo_wood_door.close=true +minecraft\:entity.spider.hurt=true +minecraft\:entity.witch.drink=true +minecraft\:entity.player.splash.high_speed=true +minecraft\:entity.donkey.hurt=true +minecraft\:entity.sniffer.eat=true +minecraft\:entity.snow_golem.hurt=true +minecraft\:block.bamboo_wood_fence_gate.close=true +minecraft\:block.nether_bricks.fall=true +minecraft\:block.beacon.power_select=true +minecraft\:block.suspicious_sand.break=true +minecraft\:block.snow.step=true +minecraft\:block.suspicious_gravel.hit=true +create\:whistle_train_manual_end=true +exposure\:item.photograph_frame.rotate_item=true +minecraft\:block.anvil.use=true +minecraft\:item.goat_horn.play=true +minecraft\:entity.minecart.inside=true +minecraft\:entity.wither.hurt=true +minecraft\:block.nylium.place=true +minecraft\:entity.shulker.ambient=true +tfc\:entity.largemouth_bass.flop=true +tfc\:entity.cougar.step=true +minecraft\:entity.tadpole.hurt=true +minecraft\:block.big_dripleaf.tilt_up=true +gtceu\:forge_hammer=true +minecraft\:block.froglight.step=true +minecraft\:block.suspicious_sand.fall=true +minecraft\:block.sculk_sensor.clicking=true +tfc\:entity.quail.step=true +minecraft\:entity.villager.hurt=true +minecraft\:block.suspicious_sand.place=true +minecraft\:block.coral_block.hit=true +minecraft\:entity.pillager.hurt=true +tfc\:entity.crocodile.sleep=true +create\:cogs=true +minecraft\:entity.cod.hurt=true +minecraft\:entity.parrot.imitate.skeleton=true +minecraft\:entity.piglin.angry=true +minecraft\:entity.zoglin.angry=true +tfc\:entity.musk_ox.hurt=true +minecraft\:entity.glow_item_frame.rotate_item=true +tfc\:entity.sabertooth.sleep=true +minecraft\:block.mangrove_roots.hit=true +minecraft\:block.powder_snow.fall=true +minecraft\:entity.warden.attack_impact=true +minecraft\:block.muddy_mangrove_roots.break=true +minecraft\:block.azalea.place=true +minecraft\:entity.ravager.ambient=true +minecraft\:entity.strider.death=true +minecraft\:ambient.underwater.exit=true +minecraft\:entity.parrot.imitate.stray=true +minecraft\:entity.slime.jump=true +create\:crafter_click_compounded_1=true +minecraft\:item.brush.brushing.sand=true +minecraft\:entity.mule.hurt=true +minecraft\:block.rooted_dirt.step=true +minecraft\:entity.axolotl.hurt=true +minecraft\:entity.villager.no=true +minecraft\:block.azalea.hit=true +tfc\:item.knapping.clay=true +minecraft\:music.overworld.swamp=true +minecraft\:music.creative=true +tfc\:entity.crocodile.step=true +minecraft\:entity.villager.work_fletcher=true +minecraft\:entity.villager.work_mason=true +create\:haunted_bell_use=true +minecraft\:entity.skeleton.converted_to_stray=true +create\:controller_click=true +minecraft\:entity.allay.death=true +minecraft\:block.spore_blossom.step=true +create\:spout=true +minecraft\:music.overworld.desert=true +minecraft\:block.suspicious_sand.hit=true +minecraft\:block.wooden_door.close=true +minecraft\:block.nylium.break=true +tfc\:entity.yak.step=true +minecraft\:item.axe.wax_off=true +minecraft\:entity.evoker.cast_spell=true +minecraft\:particle.soul_escape=true +minecraft\:block.chiseled_bookshelf.step=true +minecraft\:block.froglight.fall=true +minecraft\:block.honey_block.place=true +tfc\:entity.bear.ambient=true +minecraft\:entity.mule.chest=true +minecraft\:block.scaffolding.place=true +tfc\:block.large_vessel.open=true +tfc\:entity.deer.death=true +minecraft\:block.netherrack.hit=true +minecraft\:entity.wandering_trader.drink_potion=true +create\:contraption_assemble_compounded_1=true +minecraft\:block.snow.fall=true +minecraft\:entity.tropical_fish.hurt=true +minecraft\:block.cherry_sapling.break=true +minecraft\:entity.polar_bear.death=true +minecraft\:block.pink_petals.fall=true +minecraft\:block.cherry_wood_hanging_sign.hit=true +tfc\:entity.musk_ox.ambient=true +minecraft\:music.overworld.deep_dark=true +tfc\:block.barrel.drip=true +minecraft\:block.chiseled_bookshelf.place=true +minecraft\:block.cherry_wood_door.open=true +minecraft\:item.lodestone_compass.lock=true +exposure\:item.camera.filter_insert=true +minecraft\:block.note_block.imitate.skeleton=true +tfc\:entity.penguin.step=true +createaddition\:electric_charge=true +minecraft\:block.rooted_dirt.fall=true +minecraft\:block.lantern.hit=true +minecraft\:entity.sniffer.idle=true +tfc\:entity.hyena.step=true +minecraft\:block.grass.fall=true +minecraft\:entity.evoker_fangs.attack=true +minecraft\:entity.witch.throw=true +minecraft\:block.crop.break=true +minecraft\:entity.donkey.chest=true +minecraft\:item.brush.brushing.generic=true +minecraft\:block.cherry_leaves.step=true +minecraft\:block.cherry_wood_hanging_sign.place=true +tfc\:entity.gazelle.step=true +minecraft\:entity.zombie.destroy_egg=true +minecraft\:entity.drowned.step=true +minecraft\:block.muddy_mangrove_roots.hit=true +minecraft\:block.wool.fall=true +minecraft\:entity.endermite.step=true +minecraft\:entity.parrot.imitate.piglin_brute=true +create\:crafter_click=true +minecraft\:entity.shulker_bullet.hit=true +minecraft\:block.note_block.iron_xylophone=true +minecraft\:entity.vindicator.death=true +tfc\:entity.deer.ambient=true +minecraft\:block.nether_bricks.break=true +minecraft\:entity.warden.emerge=true +minecraft\:block.small_dripleaf.hit=true +minecraft\:ambient.soul_sand_valley.loop=true +minecraft\:item.armor.equip_netherite=true +minecraft\:item.brush.brushing.sand.complete=true +minecraft\:block.barrel.open=true +gtceu\:miner=true +tfc\:item.knapping.stone=true +minecraft\:entity.phantom.bite=true +minecraft\:entity.sheep.death=true +minecraft\:block.grass.step=true +minecraft\:entity.dragon_fireball.explode=true +minecraft\:entity.mooshroom.shear=true +minecraft\:entity.goat.horn_break=true +tfc\:block.thatch.place=true +minecraft\:entity.iron_golem.hurt=true +minecraft\:entity.llama.spit=true +minecraft\:ambient.basalt_deltas.additions=true +minecraft\:entity.goat.milk=true +minecraft\:entity.slime.jump_small=true +minecraft\:entity.frog.lay_spawn=true +tfc\:entity.grouse.hurt=true +tfc\:block.thin.step=true +minecraft\:block.nether_wood_trapdoor.open=true +minecraft\:block.lantern.place=true +minecraft\:block.moss.place=true +minecraft\:block.wood.break=true +minecraft\:enchant.thorns.hit=true +tfc\:entity.yak.ambient=true +minecraft\:block.scaffolding.break=true +minecraft\:block.composter.fill=true +minecraft\:item.book.put=true diff --git a/config/sound_physics_remastered/occlusion.properties b/config/sound_physics_remastered/occlusion.properties new file mode 100644 index 000000000..a914ab910 --- /dev/null +++ b/config/sound_physics_remastered/occlusion.properties @@ -0,0 +1,219 @@ +# Values for blocks can be defined as follows: +# +# By sound type: +# WOOD=1.0 +# +# By block tag: +# \#minecraft\:logs=1.0 +# +# By block ID: +# minecraft\:oak_log=1.0 + +# Azalea (Sound Type) +AZALEA=1.0 +# Froglight (Sound Type) +FROGLIGHT=1.0 +# Nether Ore (Sound Type) +NETHER_ORE=1.0 +# Lily Pad (Sound Type) +LILY_PAD=0.0 +# Amethyst Cluster (Sound Type) +AMETHYST_CLUSTER=1.0 +# Wool (Sound Type) +WOOL=1.5 +# Packed Mud (Sound Type) +PACKED_MUD=1.0 +# Lodestone (Sound Type) +LODESTONE=1.0 +# Cave Vines (Sound Type) +CAVE_VINES=1.0 +# Small Amethyst Bud (Sound Type) +SMALL_AMETHYST_BUD=0.0 +# Nether Wood Hanging Sign (Sound Type) +NETHER_WOOD_HANGING_SIGN=1.0 +# Sculk Sensor (Sound Type) +SCULK_SENSOR=1.0 +# Mangrove Roots (Sound Type) +MANGROVE_ROOTS=1.0 +# Snow (Sound Type) +SNOW=0.1 +# Copper (Sound Type) +COPPER=1.0 +# Bone Block (Sound Type) +BONE_BLOCK=1.0 +# Soul Sand (Sound Type) +SOUL_SAND=1.0 +# Nether Wood (Sound Type) +NETHER_WOOD=1.0 +# Amethyst (Sound Type) +AMETHYST=1.0 +# Grass (Sound Type) +GRASS=1.0 +# Bamboo Wood Hanging Sign (Sound Type) +BAMBOO_WOOD_HANGING_SIGN=1.0 +# Powder Snow (Sound Type) +POWDER_SNOW=0.1 +# Polished Deepslate (Sound Type) +POLISHED_DEEPSLATE=1.0 +# Basalt (Sound Type) +BASALT=1.0 +# Moss (Sound Type) +MOSS=0.75 +# Gilded Blackstone (Sound Type) +GILDED_BLACKSTONE=1.0 +# Scaffolding (Sound Type) +SCAFFOLDING=0.0 +# Vine (Sound Type) +VINE=0.0 +# Nether Sprouts (Sound Type) +NETHER_SPROUTS=1.0 +# Sand (Sound Type) +SAND=1.0 +# Netherite Block (Sound Type) +NETHERITE_BLOCK=1.0 +# Mud (Sound Type) +MUD=1.0 +# Stone (Sound Type) +STONE=1.0 +# Decorated Pot Cracked (Sound Type) +DECORATED_POT_CRACKED=1.0 +# Sculk Shrieker (Sound Type) +SCULK_SHRIEKER=1.0 +# Twisting Vines (Sound Type) +TWISTING_VINES=0.0 +# Netherrack (Sound Type) +NETHERRACK=1.0 +# Chiseled Bookshelf (Sound Type) +CHISELED_BOOKSHELF=1.0 +# Medium Amethyst Bud (Sound Type) +MEDIUM_AMETHYST_BUD=0.0 +# Gravel (Sound Type) +GRAVEL=1.0 +# Shroomlight (Sound Type) +SHROOMLIGHT=1.0 +# Ladder (Sound Type) +LADDER=0.0 +# Weeping Vines (Sound Type) +WEEPING_VINES=0.0 +# Large Amethyst Bud (Sound Type) +LARGE_AMETHYST_BUD=0.0 +# Nether Wart (Sound Type) +NETHER_WART=1.0 +# Coral Block (Sound Type) +CORAL_BLOCK=1.0 +# Ancient Debris (Sound Type) +ANCIENT_DEBRIS=1.0 +# Suspicious Gravel (Sound Type) +SUSPICIOUS_GRAVEL=1.0 +# Bamboo Sapling (Sound Type) +BAMBOO_SAPLING=0.1 +# Wood (Sound Type) +WOOD=1.0 +# Mud Bricks (Sound Type) +MUD_BRICKS=1.0 +# Soul Soil (Sound Type) +SOUL_SOIL=1.0 +# Dripstone Block (Sound Type) +DRIPSTONE_BLOCK=1.0 +# Cherry Wood Hanging Sign (Sound Type) +CHERRY_WOOD_HANGING_SIGN=1.0 +# Anvil (Sound Type) +ANVIL=1.0 +# Slime Block (Sound Type) +SLIME_BLOCK=1.0 +# Sweet Berry Bush (Sound Type) +SWEET_BERRY_BUSH=0.0 +# Sculk Vein (Sound Type) +SCULK_VEIN=1.0 +# Frogspawn (Sound Type) +FROGSPAWN=1.0 +# Cherry Leaves (Sound Type) +CHERRY_LEAVES=1.0 +# Fungus (Sound Type) +FUNGUS=0.0 +# Rooted Dirt (Sound Type) +ROOTED_DIRT=1.0 +# Moss Carpet (Sound Type) +MOSS_CARPET=0.1 +# Cherry Sapling (Sound Type) +CHERRY_SAPLING=1.0 +# Azalea Leaves (Sound Type) +AZALEA_LEAVES=1.0 +# Roots (Sound Type) +ROOTS=0.0 +# Bamboo Wood (Sound Type) +BAMBOO_WOOD=1.0 +# Hanging Roots (Sound Type) +HANGING_ROOTS=1.0 +# Cherry Wood (Sound Type) +CHERRY_WOOD=1.0 +# Small Dripleaf (Sound Type) +SMALL_DRIPLEAF=0.0 +# Tuff (Sound Type) +TUFF=1.0 +# Honey Block (Sound Type) +HONEY_BLOCK=0.5 +# Bamboo (Sound Type) +BAMBOO=0.1 +# Decorated Pot (Sound Type) +DECORATED_POT=1.0 +# Deepslate Bricks (Sound Type) +DEEPSLATE_BRICKS=1.0 +# Suspicious Sand (Sound Type) +SUSPICIOUS_SAND=1.0 +# Metal (Sound Type) +METAL=1.0 +# Deepslate Tiles (Sound Type) +DEEPSLATE_TILES=1.0 +# Nether Gold Ore (Sound Type) +NETHER_GOLD_ORE=1.0 +# Wart Block (Sound Type) +WART_BLOCK=1.0 +# Deepslate (Sound Type) +DEEPSLATE=1.0 +# Nylium (Sound Type) +NYLIUM=1.0 +# Big Dripleaf (Sound Type) +BIG_DRIPLEAF=1.0 +# Sculk (Sound Type) +SCULK=1.0 +# Flowering Azalea (Sound Type) +FLOWERING_AZALEA=1.0 +# Sculk Catalyst (Sound Type) +SCULK_CATALYST=1.0 +# Pointed Dripstone (Sound Type) +POINTED_DRIPSTONE=0.0 +# Hard Crop (Sound Type) +HARD_CROP=1.0 +# Glow Lichen (Sound Type) +GLOW_LICHEN=0.0 +# Candle (Sound Type) +CANDLE=1.0 +# Calcite (Sound Type) +CALCITE=1.0 +# Spore Blossom (Sound Type) +SPORE_BLOSSOM=0.0 +# Wet Grass (Sound Type) +WET_GRASS=0.1 +# Muddy Mangrove Roots (Sound Type) +MUDDY_MANGROVE_ROOTS=1.0 +# Crop (Sound Type) +CROP=0.0 +# Nether Bricks (Sound Type) +NETHER_BRICKS=1.0 +# Stem (Sound Type) +STEM=1.0 +# Chain (Sound Type) +CHAIN=0.0 +# Glass (Sound Type) +GLASS=0.1 +# Lantern (Sound Type) +LANTERN=1.0 +# Hanging Sign (Sound Type) +HANGING_SIGN=1.0 +# Water (Block) +minecraft\:water=0.25 +# Lava (Block) +minecraft\:lava=0.75 +# Jukebox (Block) +minecraft\:jukebox=0.0 diff --git a/config/sound_physics_remastered/reflectivity.properties b/config/sound_physics_remastered/reflectivity.properties new file mode 100644 index 000000000..84bc0739c --- /dev/null +++ b/config/sound_physics_remastered/reflectivity.properties @@ -0,0 +1,213 @@ +# Values for blocks can be defined as follows: +# +# By sound type: +# WOOD=1.0 +# +# By block tag: +# \#minecraft\:logs=1.0 +# +# By block ID: +# minecraft\:oak_log=1.0 + +# Azalea (Sound Type) +AZALEA=0.5 +# Froglight (Sound Type) +FROGLIGHT=0.5 +# Nether Ore (Sound Type) +NETHER_ORE=1.1 +# Lily Pad (Sound Type) +LILY_PAD=0.5 +# Amethyst Cluster (Sound Type) +AMETHYST_CLUSTER=0.5 +# Wool (Sound Type) +WOOL=0.1 +# Packed Mud (Sound Type) +PACKED_MUD=0.5 +# Lodestone (Sound Type) +LODESTONE=0.5 +# Cave Vines (Sound Type) +CAVE_VINES=0.5 +# Small Amethyst Bud (Sound Type) +SMALL_AMETHYST_BUD=0.5 +# Nether Wood Hanging Sign (Sound Type) +NETHER_WOOD_HANGING_SIGN=0.5 +# Sculk Sensor (Sound Type) +SCULK_SENSOR=0.5 +# Mangrove Roots (Sound Type) +MANGROVE_ROOTS=0.5 +# Snow (Sound Type) +SNOW=0.15 +# Copper (Sound Type) +COPPER=1.25 +# Bone Block (Sound Type) +BONE_BLOCK=1.5 +# Soul Sand (Sound Type) +SOUL_SAND=0.2 +# Nether Wood (Sound Type) +NETHER_WOOD=0.5 +# Amethyst (Sound Type) +AMETHYST=1.5 +# Grass (Sound Type) +GRASS=0.3 +# Bamboo Wood Hanging Sign (Sound Type) +BAMBOO_WOOD_HANGING_SIGN=0.5 +# Powder Snow (Sound Type) +POWDER_SNOW=0.5 +# Polished Deepslate (Sound Type) +POLISHED_DEEPSLATE=1.5 +# Basalt (Sound Type) +BASALT=1.5 +# Moss (Sound Type) +MOSS=0.1 +# Gilded Blackstone (Sound Type) +GILDED_BLACKSTONE=0.5 +# Scaffolding (Sound Type) +SCAFFOLDING=0.5 +# Vine (Sound Type) +VINE=0.5 +# Nether Sprouts (Sound Type) +NETHER_SPROUTS=0.5 +# Sand (Sound Type) +SAND=0.2 +# Netherite Block (Sound Type) +NETHERITE_BLOCK=1.5 +# Mud (Sound Type) +MUD=0.5 +# Stone (Sound Type) +STONE=1.5 +# Decorated Pot Cracked (Sound Type) +DECORATED_POT_CRACKED=0.5 +# Sculk Shrieker (Sound Type) +SCULK_SHRIEKER=0.5 +# Twisting Vines (Sound Type) +TWISTING_VINES=0.5 +# Netherrack (Sound Type) +NETHERRACK=1.1 +# Chiseled Bookshelf (Sound Type) +CHISELED_BOOKSHELF=0.5 +# Medium Amethyst Bud (Sound Type) +MEDIUM_AMETHYST_BUD=0.5 +# Gravel (Sound Type) +GRAVEL=0.3 +# Shroomlight (Sound Type) +SHROOMLIGHT=0.5 +# Ladder (Sound Type) +LADDER=0.5 +# Weeping Vines (Sound Type) +WEEPING_VINES=0.5 +# Large Amethyst Bud (Sound Type) +LARGE_AMETHYST_BUD=0.5 +# Nether Wart (Sound Type) +NETHER_WART=0.5 +# Coral Block (Sound Type) +CORAL_BLOCK=0.2 +# Ancient Debris (Sound Type) +ANCIENT_DEBRIS=0.5 +# Suspicious Gravel (Sound Type) +SUSPICIOUS_GRAVEL=0.5 +# Bamboo Sapling (Sound Type) +BAMBOO_SAPLING=0.5 +# Wood (Sound Type) +WOOD=0.4 +# Mud Bricks (Sound Type) +MUD_BRICKS=0.5 +# Soul Soil (Sound Type) +SOUL_SOIL=0.2 +# Dripstone Block (Sound Type) +DRIPSTONE_BLOCK=0.5 +# Cherry Wood Hanging Sign (Sound Type) +CHERRY_WOOD_HANGING_SIGN=0.5 +# Anvil (Sound Type) +ANVIL=0.5 +# Slime Block (Sound Type) +SLIME_BLOCK=0.5 +# Sweet Berry Bush (Sound Type) +SWEET_BERRY_BUSH=0.5 +# Sculk Vein (Sound Type) +SCULK_VEIN=0.5 +# Frogspawn (Sound Type) +FROGSPAWN=0.5 +# Cherry Leaves (Sound Type) +CHERRY_LEAVES=0.5 +# Fungus (Sound Type) +FUNGUS=0.5 +# Rooted Dirt (Sound Type) +ROOTED_DIRT=0.5 +# Moss Carpet (Sound Type) +MOSS_CARPET=0.5 +# Cherry Sapling (Sound Type) +CHERRY_SAPLING=0.5 +# Azalea Leaves (Sound Type) +AZALEA_LEAVES=0.5 +# Roots (Sound Type) +ROOTS=0.5 +# Bamboo Wood (Sound Type) +BAMBOO_WOOD=0.5 +# Hanging Roots (Sound Type) +HANGING_ROOTS=0.5 +# Cherry Wood (Sound Type) +CHERRY_WOOD=0.5 +# Small Dripleaf (Sound Type) +SMALL_DRIPLEAF=0.5 +# Tuff (Sound Type) +TUFF=1.5 +# Honey Block (Sound Type) +HONEY_BLOCK=0.1 +# Bamboo (Sound Type) +BAMBOO=0.5 +# Decorated Pot (Sound Type) +DECORATED_POT=0.5 +# Deepslate Bricks (Sound Type) +DEEPSLATE_BRICKS=1.5 +# Suspicious Sand (Sound Type) +SUSPICIOUS_SAND=0.5 +# Metal (Sound Type) +METAL=1.25 +# Deepslate Tiles (Sound Type) +DEEPSLATE_TILES=1.5 +# Nether Gold Ore (Sound Type) +NETHER_GOLD_ORE=1.1 +# Wart Block (Sound Type) +WART_BLOCK=0.5 +# Deepslate (Sound Type) +DEEPSLATE=1.5 +# Nylium (Sound Type) +NYLIUM=0.5 +# Big Dripleaf (Sound Type) +BIG_DRIPLEAF=0.5 +# Sculk (Sound Type) +SCULK=0.5 +# Flowering Azalea (Sound Type) +FLOWERING_AZALEA=0.5 +# Sculk Catalyst (Sound Type) +SCULK_CATALYST=0.5 +# Pointed Dripstone (Sound Type) +POINTED_DRIPSTONE=0.5 +# Hard Crop (Sound Type) +HARD_CROP=0.5 +# Glow Lichen (Sound Type) +GLOW_LICHEN=0.5 +# Candle (Sound Type) +CANDLE=0.5 +# Calcite (Sound Type) +CALCITE=1.5 +# Spore Blossom (Sound Type) +SPORE_BLOSSOM=0.5 +# Wet Grass (Sound Type) +WET_GRASS=0.5 +# Muddy Mangrove Roots (Sound Type) +MUDDY_MANGROVE_ROOTS=0.5 +# Crop (Sound Type) +CROP=0.5 +# Nether Bricks (Sound Type) +NETHER_BRICKS=1.5 +# Stem (Sound Type) +STEM=0.4 +# Chain (Sound Type) +CHAIN=0.5 +# Glass (Sound Type) +GLASS=0.75 +# Lantern (Sound Type) +LANTERN=0.5 +# Hanging Sign (Sound Type) +HANGING_SIGN=0.5 diff --git a/config/sound_physics_remastered/soundphysics.properties b/config/sound_physics_remastered/soundphysics.properties new file mode 100644 index 000000000..beafe0e1f --- /dev/null +++ b/config/sound_physics_remastered/soundphysics.properties @@ -0,0 +1,94 @@ +# Enables/Disables all sound effects +enabled=true +# Affects how quiet a sound gets based on distance +# Lower values mean distant sounds are louder +# This setting requires you to be in singleplayer or having the mod installed on the server +# 1.0 is the physically correct value +attenuation_factor=1.0 +# The volume of simulated reverberations +reverb_gain=1.0 +# The brightness of reverberation +# Higher values result in more high frequencies in reverberation +# Lower values give a more muffled sound to the reverb +reverb_brightness=1.0 +# The distance of reverb relative to the sound distance +reverb_distance=1.5 +# The amount of sound that will be absorbed when traveling through blocks +block_absorption=1.0 +# Higher values mean smaller objects won't be considered as occluding +occlusion_variation=0.35 +# The default amount of sound reflectance energy for all blocks +# Lower values result in more conservative reverb simulation with shorter reverb tails +# Higher values result in more generous reverb simulation with higher reverb tails +default_block_reflectivity=0.5 +# The default amount of occlusion for all blocks +# Lower values will result in sounds being less muffled through walls +# Higher values mean sounds will be not audible though thicker walls +default_block_occlusion_factor=1.0 +# Minecraft won't allow sounds to play past a certain distance +# This parameter is a multiplier for how far away a sound source is allowed to be in order for it to actually play +# This setting only takes affect in singleplayer worlds and when installed on the server +sound_distance_allowance=4.0 +# A value controlling the amount that air absorbs high frequencies with distance +# A value of 1.0 is physically correct for air with normal humidity and temperature +# Higher values mean air will absorb more high frequencies with distance +# 0 disables this effect +air_absorption=1.0 +# How much sound is filtered when the player is underwater +# 0.0 means no filter +# 1.0 means fully filtered +underwater_filter=0.25 +# Whether sounds like cave, nether or underwater ambient sounds should have sound physics +evaluate_ambient_sounds=false +# The number of rays to trace to determine reverberation for each sound source +# More rays provides more consistent tracing results but takes more time to calculate +# Decrease this value if you experience lag spikes when sounds play +environment_evaluation_ray_count=32 +# The number of rays bounces to trace to determine reverberation for each sound source +# More bounces provides more echo and sound ducting but takes more time to calculate +# Decrease this value if you experience lag spikes when sounds play +environment_evaluation_ray_bounces=4 +# If sound hits a non-full-square side, block occlusion is multiplied by this +non_full_block_occlusion_factor=0.25 +# The maximum amount of rays to determine occlusion +# Directly correlates to the amount of blocks between walls that are considered +max_occlusion_rays=16 +# The amount at which occlusion is capped +max_occlusion=64.0 +# If enabled, the occlusion calculation only uses one path between the sound source and the listener instead of 9 +strict_occlusion=false +# Whether to try calculating where the sound should come from based on reflections +sound_direction_evaluation=true +# Skip redirecting non-occluded sounds (the ones you can see directly) +redirect_non_occluded_sounds=true +# If music discs or other longer sounds should be frequently reevaluated +update_moving_sounds=false +# The interval in ticks that moving sounds are reevaluated +# Lower values mean more frequent reevaluation but also more lag +# This option only takes effect if update_moving_sounds is enabled +sound_update_interval=5 +# Disable level clone and cache. This will fall back to original main thread access. +# WARNING! Enabling this will cause instability and issues with other mods. +unsafe_level_access=false +# The radius of chunks to clone for level access +level_clone_range=4 +# The maximum number of ticks to retain the cloned level in the cache +level_clone_max_retain_ticks=20 +# The maximum distance a player can move from the cloned origin before invalidation +level_clone_max_retain_block_distance=16 +# Enables debug logging +debug_logging=false +# Provides more information about occlusion in the logs +occlusion_logging=false +# Provides more information about the environment calculation in the logs +environment_logging=false +# Provides more information about how long computations take +performance_logging=false +# If enabled, the path of the sound will be rendered in game +render_sound_bounces=false +# If enabled, occlusion will be visualized in game +render_occlusion=false +# Enables/Disables sound effects for Simple Voice Chat audio +simple_voice_chat_integration=true +# Enables/Disables hearing your own echo with Simple Voice Chat +simple_voice_chat_hear_self=false diff --git a/config/storagedrawers-common.toml b/config/storagedrawers-common.toml index 3dacccf2e..d4869357d 100644 --- a/config/storagedrawers-common.toml +++ b/config/storagedrawers-common.toml @@ -12,25 +12,59 @@ enableUI = true enableSidedInput = true enableSidedOutput = true - enableItemConversion = true enableExtraCompactingRules = true debugTrace = false #List of rules in format "domain:item1, domain:item2, n". #Creates a compacting drawer rule to convert 1 of item1 into n of item2. compactingRules = ["minecraft:clay, minecraft:clay_ball, 4"] + #Whether redstone upgrades should emit an analog redstone signal, requiring + #the use of a comparator to read it. This will default to true starting with MC 1.21. + enableAnalogRedstone = false + #Allows drawers to be pulled from their block and inserted into another block. + enableDetachedDrawers = true + #Drawers track the capacity upgrades from the block they were taken from. + #Drawers can only be placed back into a block with the same or lower max capacity. + #Drawers can still only be inserted into a block with enough capacity for the items held. + forceDetachedDrawersMaxCapacityCheck = false + #If enabled, carrying filled drawers in your inventory gives slowness debuff, unless a Portability Upgrade is used. + heavyDrawers = false + #If enabled, players can lock drawer interactions to just themselves. + enablePersonalKey = true [StorageUpgrades] #Storage upgrades multiply storage capacity by the given amount. #When multiple storage upgrades are used together, their multipliers are added before being applied. + #Storage upgrades start at the level 2 multiplier. The resistance upgrade uses level 1. level1Mult = 2 level2Mult = 4 level3Mult = 8 level4Mult = 16 level5Mult = 32 + #Storage upgrades increase capacity of drawers. + enableStorageUpgrade = true + #Fill level upgrades add fill bars to the faces of drawers. + enableFillLevelUpgrade = true + #Adds redstone output to drawers based on fill levels. + enableRedstoneUpgrade = true + #Renders drawer labels brighter than the surrounding environment would allow. + enableIlluminationUpgrade = true + #Causes drawers to accept but void compatible items when they are filled to capacity. + enableVoidUpgrade = true + #Balance upgrades allow same-item slots to balance out their amounts when items are + #added or removed from a lot. Works across networks when acting through a controller. + enableBalanceUpgrade = true + #Allows drawers with contents to be freely carried when heavy drawers is enabled. + enablePortabilityUpgrade = true + #Allows a single drawer to connect to a controller remotely. + enableRemoteUpgrade = true + #Allows a drawer and all drawers connected to it to connect to a controller remotely. + enableRemoteGroupUpgrade = true [Integration] #When true, shows quantity as NxS + R (by stack size) rather than count wailaStackRemainder = true #When true, does not show current quantities unless quantify key was used wailaRespectQuantifyKey = false + #Add CoFH Core specific features if the mod is loaded + enableCoFHIntegration = true diff --git a/config/tfcambiental-common.toml b/config/tfcambiental-common.toml index 47f1ed826..bb7d1ce79 100644 --- a/config/tfcambiental-common.toml +++ b/config/tfcambiental-common.toml @@ -28,4 +28,7 @@ wetnessChangeSpeed = 1.0 #How much do items in the forge:hot_ingots tag modify the temperature of the player #Range: 0.0 ~ 3.4028234663852886E38 hotIngotTemperature = 1.0 +#A modifier for the number of ticks between checking if a player is indoors. -1 to disable the check. +#Range: > -1 +indoorCheckTickModifier = 20 diff --git a/config/visual_workbench.json b/config/visual_workbench.json new file mode 100644 index 000000000..3cecd246d --- /dev/null +++ b/config/visual_workbench.json @@ -0,0 +1,25 @@ +{ + "__comment": "Crafting table blocks to enable Visual Workbench support for.", + "values": [ + "minecraft:crafting_table", + "tfc:wood/planks/ash_workbench", + "tfc:wood/planks/aspen_workbench", + "tfc:wood/planks/birch_workbench", + "tfc:wood/planks/blackwood_workbench", + "tfc:wood/planks/chestnut_workbench", + "tfc:wood/planks/douglas_fir_workbench", + "tfc:wood/planks/hickory_workbench", + "tfc:wood/planks/kapok_workbench", + "tfc:wood/planks/mangrove_workbench", + "tfc:wood/planks/maple_workbench", + "tfc:wood/planks/oak_workbench", + "tfc:wood/planks/palm_workbench", + "tfc:wood/planks/pine_workbench", + "tfc:wood/planks/rosewood_workbench", + "tfc:wood/planks/sequoia_workbench", + "tfc:wood/planks/spruce_workbench", + "tfc:wood/planks/sycamore_workbench", + "tfc:wood/planks/white_cedar_workbench", + "tfc:wood/planks/willow_workbench" + ] +} \ No newline at end of file diff --git a/config/visualworkbench-client.toml b/config/visualworkbench-client.toml new file mode 100644 index 000000000..13a2e7913 --- /dev/null +++ b/config/visualworkbench-client.toml @@ -0,0 +1,7 @@ +#Rotate crafting table contents so they always face the closest player. +rotate_ingredients = true +#Makes crafting table contents lay flat on the table instead of floating above. +flat_rendering = false +#Render the result of the crafting operation in addition to crafting table contents. +render_result = true + diff --git a/config/xaerominimap.txt b/config/xaerominimap.txt new file mode 100644 index 000000000..3fe036920 --- /dev/null +++ b/config/xaerominimap.txt @@ -0,0 +1,129 @@ +#CONFIG ONLY OPTIONS +ignoreUpdate:378 +settingsButton:false +allowWrongWorldTeleportation:false +differentiateByServerAddress:true +debugEntityIcons:false +debugEntityVariantIds:false +radarHideInvisibleEntities:true +allowInternetAccess:true +#INGAME SETTINGS (DO NOT EDIT!) +updateNotification:true +minimap:true +caveMaps:2 +caveZoom:1 +showWaypoints:true +showIngameWaypoints:true +displayRedstone:true +deathpoints:true +oldDeathpoints:true +distance:1 +lockNorth:true +zoom:0 +minimapSize:0 +chunkGrid:-1 +slimeChunks:false +mapSafeMode:false +minimapOpacity:100.0 +waypointsIngameIconScale:0 +waypointsIngameDistanceScale:0 +waypointsIngameNameScale:0 +waypointsIngameCloseScale:1.0 +antiAliasing:true +blockColours:0 +lighting:true +dotsStyle:0 +dotNameScale:1.0 +compassOverEverything:true +showFlowers:true +keepWaypointNames:true +waypointsDistanceExp:0 +waypointsDistanceMin:0.0 +defaultWaypointTPCommandFormat:/tp @s {x} {y} {z} +defaultWaypointTPCommandRotationFormat:/tp @s {x} {y} {z} {yaw} ~ +arrowScale:1.5 +arrowColour:0 +smoothDots:true +worldMap:true +terrainDepth:true +terrainSlopes:2 +mainEntityAs:0 +blockTransparency:true +waypointOpacityIngame:80 +waypointOpacityMap:90 +hideWorldNames:1 +openSlimeSettings:true +alwaysShowDistance:false +renderLayerIndex:1 +crossDimensionalTp:true +biomeColorsVanillaMode:false +lookingAtAngle:10 +lookingAtAngleVertical:180 +centeredEnlarged:false +zoomOnEnlarged:0 +minimapTextAlign:0 +waypointsMutualEdit:true +compassLocation:1 +compassDirectionScale:0 +caveMapsDepth:30 +hideWaypointCoordinates:false +renderAllSets:false +playerArrowOpacity:100 +waypointsBottom:false +minimapShape:0 +lightOverlayType:0 +lightOverlayMaxLight:7 +lightOverlayMinLight:0 +lightOverlayColor:13 +uiScale:0 +bossHealthPushBox:1 +potionEffectPushBox:1 +minimapFrame:0 +minimapFrameColor:9 +compassColor:9 +northCompassColor:-1 +displayMultipleWaypointInfo:1 +entityRadar:true +adjustHeightForCarpetLikeBlocks:true +autoConvertWaypointDistanceToKmThreshold:10000 +waypointDistancePrecision:1 +mainDotSize:2 +partialYTeleportation:true +deleteReachedDeathpoints:true +hideMinimapUnderScreen:true +hideMinimapUnderF3:true +manualCaveModeStartAuto:true +manualCaveModeStart:-1 +chunkGridLineWidth:1 +temporaryWaypointsGlobal:true +keepUnlockedWhenEnlarged:false +enlargedMinimapAToggle:false +displayStainedGlass:true +waypointOnMapScale:0 +switchToAutoOnDeath:true +infoDisplayBackgroundOpacity:40 +caveModeToggleTimer:1000 +legibleCaveMaps:false +biomeBlending:true +displayTrackedPlayers:true +dimensionScaledMaxWaypointDistance:true +displayClaims:true +displayCurrentClaim:true +claimsFillOpacity:46 +claimsBorderOpacity:80 +infoDisplayOrder:coords:overworld_coords:chunk_coords:angles:dimension:biome:weather:light_level:time:real_time:highlights:light_overlay_indicator:manual_cave_mode_indicator:custom_sub_world +infoDisplay:coords:true:15:-1 +infoDisplay:overworld_coords:false:15:-1 +infoDisplay:chunk_coords:false:15:-1 +infoDisplay:angles:false:15:-1 +infoDisplay:dimension:false:15:-1 +infoDisplay:biome:true:15:-1 +infoDisplay:weather:false:15:-1 +infoDisplay:light_level:0:15:-1 +infoDisplay:time:1:15:-1 +infoDisplay:real_time:1:15:-1 +infoDisplay:highlights:true:15:-1 +infoDisplay:light_overlay_indicator:true:15:-1 +infoDisplay:manual_cave_mode_indicator:true:15:-1 +infoDisplay:custom_sub_world:true:15:-1 +module;id=xaerominimap:minimap;active=true;x=-5;y=-8;centered=false;fromRight=true;fromBottom=false;flippedVer=false;flippedHor=false; diff --git a/config/xaeroworldmap.txt b/config/xaeroworldmap.txt new file mode 100644 index 000000000..846779261 --- /dev/null +++ b/config/xaeroworldmap.txt @@ -0,0 +1,55 @@ +ignoreUpdate:179 +updateNotification:true +allowInternetAccess:true +differentiateByServerAddress:true +caveMapsAllowed:true +debug:false +lighting:true +colours:0 +loadChunks:true +updateChunks:true +terrainSlopes:2 +terrainDepth:true +footsteps:true +flowers:true +coordinates:true +hoveredBiome:true +biomeColorsVanillaMode:false +waypoints:true +renderArrow:true +displayZoom:true +worldmapWaypointsScale:1.0 +openMapAnimation:true +reloadVersion:0 +reloadEverything:false +zoomButtons:true +waypointBackgrounds:true +detectAmbiguousY:true +showDisabledWaypoints:false +closeWaypointsWhenHopping:true +adjustHeightForCarpetLikeBlocks:true +onlyCurrentMapWaypoints:false +minZoomForLocalWaypoints:0.0 +arrowColour:-2 +minimapRadar:true +renderWaypoints:true +partialYTeleportation:true +displayStainedGlass:true +caveModeDepth:30 +caveModeStart:176 +autoCaveMode:-1 +legibleCaveMaps:false +displayCaveModeStart:true +caveModeToggleTimer:1000 +defaultCaveModeType:1 +biomeBlending:true +trackedPlayers:true +multipleImagesExport:false +nightExport:false +highlightsExport:false +exportScaleDownSquare:20 +mapWritingDistance:-1 +displayClaims:true +claimsFillOpacity:46 +claimsBorderOpacity:80 +globalVersion:1 diff --git a/defaultconfigs/corpse-server.toml b/defaultconfigs/corpse-server.toml deleted file mode 100644 index ff4eb11ee..000000000 --- a/defaultconfigs/corpse-server.toml +++ /dev/null @@ -1,33 +0,0 @@ -#The time (in real life days) deaths get stored -#-1 for infinite storage -#0 for not storing deaths at all -#Range: > -1 -death_storage_duration = -1 - -[corpse] - #The time passed (in ticks) after a corpse turns into a skeleton - #Range: > 0 - skeleton_time = 72000 - #If the corpse should lie on its face - lie_on_face = false - #If the corpse should wear the players equipment - show_equipment = true - #If the corpse should fall into the void - fall_into_void = false - #If the corpse should get removed when in lava - lava_damage = false - - [corpse.access] - #If only the owner of the corpse can access the inventory - only_owner = true - #If everybody can access the corpse in the skeleton stage (Only if only_owner_access is set to true) - skeleton = true - - [corpse.despawn] - #The time passed (in ticks) after a corpse despawns (only if empty) - #Range: > 20 - time = 600 - #The time passed (in ticks) after a corpse despawns even if its not empty (-1 = never) - #Range: > -1 - force_time = -1 - diff --git a/defaultconfigs/create-server.toml b/defaultconfigs/create-server.toml deleted file mode 100644 index d60c2b37c..000000000 --- a/defaultconfigs/create-server.toml +++ /dev/null @@ -1,517 +0,0 @@ - -#. -#The Backbone of Create -[infrastructure] - #. - #[in Ticks] - #The amount of time a server waits before sending out tickrate synchronization packets. - #These packets help animations to be more accurate when tps is below 20. - #Range: > 5 - tickrateSyncTimer = 20 - -#. -#Packmakers' control panel for internal recipe compat -[recipes] - #. - #. - #Allow the Mechanical Press to process entire stacks at a time. - bulkPressing = false - #. - #Allow the Mechanical Saw to process entire stacks at a time. - bulkCutting = false - #. - #Allow supported potions to be brewed by a Mechanical Mixer + Basin. - allowBrewingInMixer = true - #. - #Allow any shapeless crafting recipes to be processed by a Mechanical Mixer + Basin. - allowShapelessInMixer = true - #. - #Allow any single-ingredient 2x2 or 3x3 crafting recipes to be processed by a Mechanical Press + Basin. - allowShapedSquareInPress = true - #. - #Allow any standard crafting recipes to be processed by Mechanical Crafters. - allowRegularCraftingInCrafter = true - #. - #The Maximum amount of ingredients that can be used to craft Firework Rockets using Mechanical Crafters. - #Range: > 1 - maxFireworkIngredientsInCrafter = 9 - #. - #Allow any stonecutting recipes to be processed by a Mechanical Saw. - allowStonecuttingOnSaw = true - #. - #Allow any Druidcraft woodcutter recipes to be processed by a Mechanical Saw. - allowWoodcuttingOnSaw = true - #. - #Allow Spouts to interact with Casting Tables and Basins from Tinkers' Construct. - allowCastingBySpout = true - #. - #Display vanilla Log-stripping interactions in JEI. - displayLogStrippingRecipes = true - #. - #The amount of Light sources destroyed before Chromatic Compound turns into Refined Radiance. - #Range: > 1 - lightSourceCountForRefinedRadiance = 10 - #. - #Allow the standard in-world Refined Radiance recipes. - enableRefinedRadianceRecipe = true - #. - #Allow the standard in-world Shadow Steel recipe. - enableShadowSteelRecipe = true - -#. -#Parameters and abilities of Create's kinetic mechanisms -[kinetics] - #. - #. - #Disable the Stress mechanic altogether. - disableStress = false - #. - #Maximum length in blocks of mechanical belts. - #Range: > 5 - maxBeltLength = 20 - #. - #Damage dealt by active Crushing Wheels. - #Range: > 0 - crushingDamage = 4 - #. - #[in Revolutions per Minute] - #Maximum allowed rotation speed for any Kinetic Block. - #Range: > 64 - maxRotationSpeed = 256 - #. - #Select what mobs should ignore Deployers when attacked by them. - #Allowed Values: ALL, CREEPERS, NONE - ignoreDeployerAttacks = "CREEPERS" - #. - #Game ticks between Kinetic Blocks checking whether their source is still valid. - #Range: > 5 - kineticValidationFrequency = 60 - #. - #multiplier used for calculating exhaustion from speed when a crank is turned. - #Range: 0.0 ~ 1.0 - crankHungerMultiplier = 0.009999999776482582 - #. - #Amount of sail-type blocks required for a windmill to assemble successfully. - #Range: > 0 - minimumWindmillSails = 8 - #. - #Number of sail-type blocks required to increase windmill speed by 1RPM. - #Range: > 1 - windmillSailsPerRPM = 8 - #. - #Max Distance in blocks a Weighted Ejector can throw - #Range: > 0 - maxEjectorDistance = 32 - #. - #Time in ticks until the next item launched by an ejector scans blocks for potential collisions - #Range: > 10 - ejectorScanInterval = 120 - - #. - #Encased Fan - [kinetics.encasedFan] - #. - #Maximum distance in blocks Fans can push entities. - #Range: > 5 - fanPushDistance = 20 - #. - #Maximum distance in blocks from where Fans can pull entities. - #Range: > 5 - fanPullDistance = 20 - #. - #Game ticks between Fans checking for anything blocking their air flow. - #Range: > 10 - fanBlockCheckRate = 30 - #. - #[in Revolutions per Minute] - #Rotation speed at which the maximum stats of fans are reached. - #Range: > 64 - fanRotationArgmax = 256 - #. - #Game ticks required for a Fan-based processing recipe to take effect. - #Range: > 0 - fanProcessingTime = 150 - - #. - #Moving Contraptions - [kinetics.contraptions] - #. - #Maximum amount of blocks in a structure movable by Pistons, Bearings or other means. - #Range: > 1 - maxBlocksMoved = 2048 - #. - #[in Bytes] - #[0 to disable this limit] - #Maximum amount of data a contraption can have before it can't be synced with players. - #Un-synced contraptions will not be visible and will not have collision. - #Range: > 0 - maxDataSize = 2000000 - #. - #Maximum value of a chassis attachment range. - #Range: > 1 - maxChassisRange = 16 - #. - #Maximum amount of extension poles behind a Mechanical Piston. - #Range: > 1 - maxPistonPoles = 64 - #. - #Max length of rope available off a Rope Pulley. - #Range: > 1 - maxRopeLength = 256 - #. - #Maximum allowed distance of two coupled minecarts. - #Range: > 1 - maxCartCouplingLength = 32 - #. - #Maximum depth of blocks filled in using a Mechanical Roller. - #Range: > 1 - rollerFillDepth = 12 - #. - #Whether minecart contraptions can be picked up in survival mode. - survivalContraptionPickup = true - #. - #Configure how Spawner blocks can be moved by contraptions. - #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE - movableSpawners = "NO_PICKUP" - #. - #Configure how Budding Amethyst can be moved by contraptions. - #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE - amethystMovement = "NO_PICKUP" - #. - #Configure how Obsidian blocks can be moved by contraptions. - #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE - movableObsidian = "UNMOVABLE" - #. - #Configure how Reinforced Deepslate blocks can be moved by contraptions. - #Allowed Values: MOVABLE, NO_PICKUP, UNMOVABLE - movableReinforcedDeepslate = "UNMOVABLE" - #. - #Whether items mined or harvested by contraptions should be placed in their mounted storage. - moveItemsToStorage = true - #. - #Whether harvesters should break crops that aren't fully grown. - harvestPartiallyGrown = false - #. - #Whether harvesters should replant crops after harvesting. - harvesterReplants = true - #. - #Whether minecart contraptions can be placed into container items. - minecartContraptionInContainers = false - - #. - #Configure speed/capacity levels for requirements and indicators. - [kinetics.stats] - #. - #[in Revolutions per Minute] - #Minimum speed of rotation to be considered 'medium' - #Range: 0.0 ~ 4096.0 - mediumSpeed = 30.0 - #. - #[in Revolutions per Minute] - #Minimum speed of rotation to be considered 'fast' - #Range: 0.0 ~ 65535.0 - fastSpeed = 100.0 - #. - #[in Stress Units] - #Minimum stress impact to be considered 'medium' - #Range: 0.0 ~ 4096.0 - mediumStressImpact = 4.0 - #. - #[in Stress Units] - #Minimum stress impact to be considered 'high' - #Range: 0.0 ~ 65535.0 - highStressImpact = 8.0 - #. - #[in Stress Units] - #Minimum added Capacity by sources to be considered 'medium' - #Range: 0.0 ~ 4096.0 - mediumCapacity = 256.0 - #. - #[in Stress Units] - #Minimum added Capacity by sources to be considered 'high' - #Range: 0.0 ~ 65535.0 - highCapacity = 1024.0 - - [kinetics.stressValues] - - #. - #Fine tune the kinetic stats of individual components - [kinetics.stressValues.v2] - - #. - #. - #[in Stress Units] - #Configure the individual stress impact of mechanical blocks. Note that this cost is doubled for every speed increase it receives. - [kinetics.stressValues.v2.impact] - display_board = 0.0 - deployer = 4.0 - mechanical_piston = 4.0 - millstone = 4.0 - mechanical_bearing = 4.0 - clockwork_bearing = 4.0 - cuckoo_clock = 1.0 - speedometer = 0.0 - copper_backtank = 4.0 - mechanical_saw = 4.0 - flywheel = 0.0 - encased_chain_drive = 0.0 - clutch = 0.0 - encased_fan = 2.0 - adjustable_chain_gearshift = 0.0 - mechanical_pump = 4.0 - crushing_wheel = 8.0 - mechanical_mixer = 4.0 - gantry_shaft = 0.0 - rope_pulley = 4.0 - rotation_speed_controller = 0.0 - mechanical_arm = 2.0 - netherite_backtank = 4.0 - andesite_encased_shaft = 0.0 - mechanical_press = 8.0 - large_cogwheel = 0.0 - mechanical_drill = 4.0 - andesite_encased_large_cogwheel = 0.0 - brass_encased_large_cogwheel = 0.0 - mysterious_cuckoo_clock = 1.0 - stressometer = 0.0 - shaft = 0.0 - brass_encased_shaft = 0.0 - gearshift = 0.0 - turntable = 4.0 - sticky_mechanical_piston = 4.0 - sequenced_gearshift = 0.0 - weighted_ejector = 2.0 - cogwheel = 0.0 - andesite_encased_cogwheel = 0.0 - belt = 0.0 - brass_encased_cogwheel = 0.0 - gearbox = 0.0 - hose_pulley = 4.0 - elevator_pulley = 4.0 - mechanical_crafter = 2.0 - - #. - #[in Stress Units] - #Configure how much stress a source can accommodate for. - [kinetics.stressValues.v2.capacity] - copper_valve_handle = 8.0 - hand_crank = 8.0 - steam_engine = 1024.0 - creative_motor = 16384.0 - large_water_wheel = 128.0 - water_wheel = 32.0 - windmill_bearing = 512.0 - -#. -#Create's liquid manipulation tools -[fluids] - #. - #. - #[in Buckets] - #The amount of liquid a tank can hold per block. - #Range: > 1 - fluidTankCapacity = 8 - #. - #[in Blocks] - #The maximum height a fluid tank can reach. - #Range: > 1 - fluidTankMaxHeight = 32 - #. - #[in Blocks] - #The maximum distance a mechanical pump can push or pull liquids on either side. - #Range: > 1 - mechanicalPumpRange = 16 - #. - #[in Blocks] - #The maximum distance a hose pulley can draw fluid blocks from. - #Range: > 1 - hosePulleyRange = 128 - #. - #[in Blocks] - #[-1 to disable this behaviour] - #The minimum amount of fluid blocks the hose pulley needs to find before deeming it an infinite source. - #Range: > -1 - hosePulleyBlockThreshold = 0 - #. - #Whether hose pulleys should continue filling up above-threshold sources. - fillInfinite = false - #. - #Configure which fluids can be drained infinitely. - #Allowed Values: ALLOW_ALL, DENY_ALL, ALLOW_BY_TAG, DENY_BY_TAG - bottomlessFluidMode = "ALLOW_BY_TAG" - #. - #Whether hose pulleys should be allowed to place fluid sources. - fluidFillPlaceFluidSourceBlocks = false - #. - #Whether open-ended pipes should be allowed to place fluid sources. - pipesPlaceFluidSourceBlocks = false - -#. -#Tweaks for logistical components -[logistics] - #. - #. - #The amount of ticks a funnel waits between item transferrals, when it is not re-activated by redstone. - #Range: > 1 - defaultExtractionTimer = 8 - #. - #The amount of ticks a portable storage interface waits for transfers until letting contraptions move along. - #Range: > 1 - psiTimeout = 60 - #. - #Maximum distance in blocks a Mechanical Arm can reach across. - #Range: > 1 - mechanicalArmRange = 5 - #. - #Maximum possible range in blocks of redstone link connections. - #Range: > 1 - linkRange = 256 - #. - #Maximum possible distance in blocks between data gatherers and their target. - #Range: > 1 - displayLinkRange = 64 - #. - #The total amount of stacks a vault can hold per block in size. - #Range: > 1 - vaultCapacity = 20 - #. - #The amount of ticks a brass tunnel waits between distributions. - #Range: 1 ~ 10 - brassTunnelTimer = 10 - #. - #Whether hostile mobs walking near a seat will start riding it. - seatHostileMobs = true - -#. -#Everything related to Schematic tools -[schematics] - #. - #. - #Whether placing a Schematic directly in Creative Mode should replace world blocks with Air - creativePrintIncludesAir = false - #. - #[in KiloBytes] - #The maximum allowed file size of uploaded Schematics. - #Range: > 16 - maxSchematics = 256 - #. - #[in Bytes] - #The maximum packet size uploaded Schematics are split into. - #Range: 256 ~ 32767 - maxSchematicPacketSize = 1024 - #. - #Amount of game ticks without new packets arriving until an active schematic upload process is discarded. - #Range: > 100 - schematicIdleTimeout = 600 - - #. - #Schematicannon - [schematics.schematicannon] - #. - #Amount of game ticks between shots of the cannon. Higher => Slower - #Range: > 1 - schematicannonDelay = 10 - #. - #% of Schematicannon's Fuel filled by 1 Gunpowder. - #Range: 0.0 ~ 100.0 - schematicannonGunpowderWorth = 20.0 - #. - #% of Schematicannon's Fuel used for each fired block. - #Range: 0.0 ~ 100.0 - schematicannonFuelUsage = 0.05000000074505806 - -#. -#Equipment and gadgets added by Create -[equipment] - #. - #. - #The Maximum Distance to an active mirror for the symmetry wand to trigger. - #Range: > 10 - maxSymmetryWandRange = 50 - #. - #The Maximum Distance a Block placed by Create's placement assist will have to its interaction point. - #Range: > 3 - placementAssistRange = 12 - #. - #The Maximum Distance at which a Toolbox can interact with Players' Inventories. - #Range: > 1 - toolboxRange = 10 - #. - #The Maximum volume of Air that can be stored in a backtank = Seconds of underwater breathing - #Range: > 1 - airInBacktank = 900 - #. - #The volume of Air added by each level of the backtanks Capacity Enchantment - #Range: > 1 - enchantedBacktankCapacity = 300 - #. - #Amount of free Extendo Grip actions provided by one filled Copper Backtank. Set to 0 makes Extendo Grips unbreakable - #Range: > 0 - maxExtendoGripActions = 1000 - #. - #Amount of free Potato Cannon shots provided by one filled Copper Backtank. Set to 0 makes Potato Cannons unbreakable - #Range: > 0 - maxPotatoCannonShots = 200 - -#. -#Create's builtin Railway systems -[trains] - #. - #. - #Whether moving Trains can hurt colliding mobs and players. - trainsCauseDamage = true - #. - #Maximum length of track that can be placed as one batch or turn. - #Range: 16 ~ 128 - maxTrackPlacementLength = 32 - #. - #Maximum length of a Train Stations' assembly track. - #Range: > 5 - maxAssemblyLength = 128 - #. - #Maximum amount of bogeys assembled as a single Train. - #Range: > 1 - maxBogeyCount = 20 - #. - #Relative speed of a manually controlled Train compared to a Scheduled one. - #Range: 0.0 ~ 3.4028234663852886E38 - manualTrainSpeedModifier = 0.75 - - #. - #Standard Trains - [trains.trainStats] - #. - #[in Blocks/Second] - #The top speed of any assembled Train. - #Range: 0.0 ~ 3.4028234663852886E38 - trainTopSpeed = 28.0 - #. - #[in Blocks/Second] - #The top speed of Trains during a turn. - #Range: 0.0 ~ 3.4028234663852886E38 - trainTurningTopSpeed = 14.0 - #. - #[in Blocks/Second²] - #The acceleration of any assembled Train. - #Range: 0.0 ~ 3.4028234663852886E38 - trainAcceleration = 3.0 - - #. - #Powered Trains - [trains.poweredTrainStats] - #. - #[in Blocks/Second] - #The top speed of powered Trains. - #Range: 0.0 ~ 3.4028234663852886E38 - poweredTrainTopSpeed = 40.0 - #. - #[in Blocks/Second] - #The top speed of powered Trains during a turn. - #Range: 0.0 ~ 3.4028234663852886E38 - poweredTrainTurningTopSpeed = 20.0 - #. - #[in Blocks/Second²] - #The acceleration of powered Trains. - #Range: 0.0 ~ 3.4028234663852886E38 - poweredTrainAcceleration = 3.0 - diff --git a/defaultconfigs/firmaciv-server.toml b/defaultconfigs/firmaciv-server.toml deleted file mode 100644 index 198809b0b..000000000 --- a/defaultconfigs/firmaciv-server.toml +++ /dev/null @@ -1,11 +0,0 @@ - -[general] - #Force creation of canoes from specified wood types. Turning this to false will make canoes craftable from any wood type. - canoeWoodRestriction = true - #Force creation of ships and rowboats from specified wood types. Turning this to false will make ships and rowboats craftable from any wood type. - shipWoodRestriction = true - #Force reduceDebugInfo gamerule. Turn this to FALSE if you want coordinates bad. - forceReducedDebugInfo = false - #Disables vanilla boats and base TFC boats from working. - disableVanillaBoatFunctionality = true - diff --git a/defaultconfigs/ftbessentials-server.snbt b/defaultconfigs/ftbessentials-server.snbt index c3f5803c5..5cd822f81 100644 --- a/defaultconfigs/ftbessentials-server.snbt +++ b/defaultconfigs/ftbessentials-server.snbt @@ -49,13 +49,13 @@ # Allows users to access their ender chest, as well as admins to manage other players' ender chests. enderchest: { # Default: true - enabled: true + enabled: false } # Allows users to set a custom hat as their head item by using a command hat: { # Default: true - enabled: true + enabled: false } # Allows users to kick themselves from the server, for example if they are stuck or desynced @@ -67,7 +67,7 @@ # Allows users to view player leaderboard stats. leaderboard: { # Default: true - enabled: true + enabled: false } # Allows users to change their display name, as well as admins to change nicknames for other users diff --git a/defaultconfigs/ftbessentials.snbt b/defaultconfigs/ftbessentials.snbt deleted file mode 100644 index 888367213..000000000 --- a/defaultconfigs/ftbessentials.snbt +++ /dev/null @@ -1,232 +0,0 @@ -# FTB Essentials config file -# If you're a modpack maker, edit defaultconfigs/ftbessentials-server.snbt instead - -{ - # Admin commands for cheating and moderation - admin: { - # Allows admins to toggle flying status using a command, without having to use Creative Mode - fly: { - # Default: true - enabled: true - } - - # Allows admins to toggle invincibility using a command, without having to use Creative Mode - god: { - # Default: true - enabled: true - } - - # Allows admins to heal themselves using a command - heal: { - # Default: true - enabled: true - } - - # Allows admins to view other users' inventories using a command - invsee: { - # Default: true - enabled: true - } - - # Allows admins to restrict players from chatting by using a command to mute (or unmute) them - mute: { - # Default: true - enabled: true - } - } - - # Miscellaneous features and utilities - misc: { - # Allows users to access their ender chest, as well as admins to manage other players' ender chests. - enderchest: { - # Default: true - enabled: true - } - - # Allows users to set a custom hat as their head item by using a command - hat: { - # Default: true - enabled: false - } - - # Allows users to kick themselves from the server, for example if they are stuck or desynced - kickme: { - # Default: true - enabled: false - } - - # Allows users to view player leaderboard stats. - leaderboard: { - # Default: true - enabled: true - } - - # Allows users to change their display name, as well as admins to change nicknames for other users - nick: { - # Default: true - enabled: false - } - - # Allows users to announce their recording or streaming status to the server by using commands - rec: { - # Default: true - enabled: false - } - - # Enables usage of a trash can inventory, which can be used to void unneeded items - trashcan: { - # Default: true - enabled: true - } - } - - # Teleportation-related settings - teleportation: { - # Allows users to return to their previous location after teleporting (or dying) - back: { - # Cooldown between /back commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.back.cooldown - # Default: 30 - # Range: 0 ~ 604800 - cooldown: 30 - - # Default: true - enabled: false - - # Max size of the teleport history. This limits how many times you can use /back - # You can override this with FTB Ranks using ftbessentials.back.max - # Default: 10 - # Range: 0 ~ 2147483647 - max: 10 - - # Warm-up time before /back command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.back.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows users to set 'homes', which they can then freely teleport to by using /home afterwards - home: { - # Cooldown between /home commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.home.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Max amount of homes a user can have. - # You can override this with FTB Ranks using ftbessentials.home.max - # Default: 1 - # Range: 0 ~ 2147483647 - max: 1 - - # Warm-up time before /home command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.home.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows players to teleport to a random point in the Wilderness - # Note: This currently does not respect Claimed Chunks yet! - rtp: { - # Cooldown between /rtp commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.rtp.cooldown - # Default: 600 - # Range: 0 ~ 604800 - cooldown: 600 - - # Default: true - enabled: false - - # /rtp max distance from spawn point - # Default: 100000 - # Range: 0 ~ 30000000 - max_distance: 100000 - - # Number of tries before /rtp gives up - # Default: 100 - # Range: 1 ~ 1000 - max_tries: 100 - - # /rtp min distance from spawn point - # Default: 1000 - # Range: 0 ~ 30000000 - min_distance: 1000 - - # Warm-up time before /rtp command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.rtp.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - spawn: { - # Cooldown between /spawn commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.spawn.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Warm-up time before /spawn command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.spawn.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows players to create requests to teleport to other users on the server, - # as well as requesting other players to teleport to them - tpa: { - # Cooldown between /tpa commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.tpa.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Warm-up time before /tpa command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.tpa.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - - # Allows admins to teleport to the location a user was last seen at - tpl: { - # Default: true - enabled: false - } - - # Allows admins to teleport to dimension - tpx: { - # Default: true - enabled: false - } - - # Allows admins to create 'warps', which are fixed points in the world that users may teleport to using /warp - warp: { - # Cooldown between /warp commands (in seconds) - # You can override this with FTB Ranks using ftbessentials.warp.cooldown - # Default: 10 - # Range: 0 ~ 604800 - cooldown: 10 - - # Default: true - enabled: false - - # Warm-up time before /warp command executes (in seconds) - # You can override this with FTB Ranks using ftbessentials.warp.warmup - # Default: 0 - # Range: 0 ~ 604800 - warmup: 0 - } - } -} diff --git a/defaultconfigs/ftbranks/README.txt b/defaultconfigs/ftbranks/README.txt deleted file mode 100644 index 74c94df2c..000000000 --- a/defaultconfigs/ftbranks/README.txt +++ /dev/null @@ -1,2103 +0,0 @@ -=== FTB Ranks === - -Last README file update: Thu Jul 20 09:32:31 YEKT 2023 -Wiki: https://www.notion.so/feedthebeast/FTB-Mod-Documentation-da2e359bad2449459d58d787edda3168 -To refresh this file, run /ftbranks refresh_readme - -= All available command nodes = -command -command.advancement -command.advancement.grant -command.advancement.grant.targets -command.advancement.grant.targets.everything -command.advancement.grant.targets.from -command.advancement.grant.targets.from.advancement -command.advancement.grant.targets.only -command.advancement.grant.targets.only.advancement -command.advancement.grant.targets.only.advancement.criterion -command.advancement.grant.targets.through -command.advancement.grant.targets.through.advancement -command.advancement.grant.targets.until -command.advancement.grant.targets.until.advancement -command.advancement.revoke -command.advancement.revoke.targets -command.advancement.revoke.targets.everything -command.advancement.revoke.targets.from -command.advancement.revoke.targets.from.advancement -command.advancement.revoke.targets.only -command.advancement.revoke.targets.only.advancement -command.advancement.revoke.targets.only.advancement.criterion -command.advancement.revoke.targets.through -command.advancement.revoke.targets.through.advancement -command.advancement.revoke.targets.until -command.advancement.revoke.targets.until.advancement -command.attribute -command.attribute.target -command.attribute.target.attribute -command.attribute.target.attribute.base -command.attribute.target.attribute.base.get -command.attribute.target.attribute.base.get.scale -command.attribute.target.attribute.base.set -command.attribute.target.attribute.base.set.value -command.attribute.target.attribute.get -command.attribute.target.attribute.get.scale -command.attribute.target.attribute.modifier -command.attribute.target.attribute.modifier.add -command.attribute.target.attribute.modifier.add.uuid -command.attribute.target.attribute.modifier.add.uuid.name -command.attribute.target.attribute.modifier.add.uuid.name.value -command.attribute.target.attribute.modifier.add.uuid.name.value.add -command.attribute.target.attribute.modifier.add.uuid.name.value.multiply -command.attribute.target.attribute.modifier.add.uuid.name.value.multiply_base -command.attribute.target.attribute.modifier.remove -command.attribute.target.attribute.modifier.remove.uuid -command.attribute.target.attribute.modifier.value -command.attribute.target.attribute.modifier.value.get -command.attribute.target.attribute.modifier.value.get.uuid -command.attribute.target.attribute.modifier.value.get.uuid.scale -command.back -command.betterbiomeblend -command.betterbiomeblend.toggleBenchmark -command.bossbar -command.bossbar.add -command.bossbar.add.id -command.bossbar.add.id.name -command.bossbar.get -command.bossbar.get.id -command.bossbar.get.id.max -command.bossbar.get.id.players -command.bossbar.get.id.value -command.bossbar.get.id.visible -command.bossbar.list -command.bossbar.remove -command.bossbar.remove.id -command.bossbar.set -command.bossbar.set.id -command.bossbar.set.id.color -command.bossbar.set.id.color.blue -command.bossbar.set.id.color.green -command.bossbar.set.id.color.pink -command.bossbar.set.id.color.purple -command.bossbar.set.id.color.red -command.bossbar.set.id.color.white -command.bossbar.set.id.color.yellow -command.bossbar.set.id.max -command.bossbar.set.id.max.max -command.bossbar.set.id.name -command.bossbar.set.id.name.name -command.bossbar.set.id.players -command.bossbar.set.id.players.targets -command.bossbar.set.id.style -command.bossbar.set.id.style.notched_10 -command.bossbar.set.id.style.notched_12 -command.bossbar.set.id.style.notched_20 -command.bossbar.set.id.style.notched_6 -command.bossbar.set.id.style.progress -command.bossbar.set.id.value -command.bossbar.set.id.value.value -command.bossbar.set.id.visible -command.bossbar.set.id.visible.visible -command.c -command.c.clone -command.c.clone.begin -command.c.clone.begin.end -command.c.clone.begin.end.destination -command.c.clone.begin.end.destination.skipBlocks -command.c.config -command.c.config.path -command.c.config.path.set -command.c.config.path.set.value -command.c.coupling -command.c.coupling.add -command.c.coupling.add.cart1 -command.c.coupling.add.cart1.cart2 -command.c.coupling.add.carts -command.c.coupling.remove -command.c.coupling.remove.cart1 -command.c.coupling.remove.cart1.cart2 -command.c.coupling.removeAll -command.c.coupling.removeAll.cart -command.c.dismissFabulousWarning -command.c.fixLighting -command.c.glue -command.c.glue.from -command.c.glue.from.to -command.c.highlight -command.c.highlight.pos -command.c.highlight.pos.players -command.c.killTrain -command.c.killTrain.train -command.c.overlay -command.c.overlay.reset -command.c.passenger -command.c.passenger.rider -command.c.passenger.rider.vehicle -command.c.passenger.rider.vehicle.seatIndex -command.c.ponder -command.c.ponder.scene -command.c.ponder.scene.targets -command.c.rainbowDebug -command.c.rainbowDebug.off -command.c.rainbowDebug.on -command.c.trains -command.c.u -command.c.u.angle -command.c.u.angle.players -command.c.u.angle.players.mode -command.c.u.angle.players.mode.exponential -command.c.u.angle.players.mode.exponential.speed -command.c.u.angle.players.mode.linear -command.c.u.angle.players.mode.linear.speed -command.c.u.angle.players.pitch -command.c.u.angle.players.pitch.degrees -command.c.u.angle.players.yaw -command.c.u.angle.players.yaw.degrees -command.c.u.camera -command.c.u.camera.multiplier -command.c.u.camera.reset -command.c.u.clearRenderBuffers -command.c.u.flySpeed -command.c.u.flySpeed.reset -command.c.u.flySpeed.reset.target -command.c.u.flySpeed.speed -command.c.u.flySpeed.speed.target -command.c.u.replaceInCommandBlocks -command.c.u.replaceInCommandBlocks.begin -command.c.u.replaceInCommandBlocks.begin.end -command.c.u.replaceInCommandBlocks.begin.end.toReplace -command.c.u.replaceInCommandBlocks.begin.end.toReplace.replaceWith -command.c.util -command.c.util.angle -command.c.util.angle.players -command.c.util.angle.players.mode -command.c.util.angle.players.mode.exponential -command.c.util.angle.players.mode.exponential.speed -command.c.util.angle.players.mode.linear -command.c.util.angle.players.mode.linear.speed -command.c.util.angle.players.pitch -command.c.util.angle.players.pitch.degrees -command.c.util.angle.players.yaw -command.c.util.angle.players.yaw.degrees -command.c.util.camera -command.c.util.camera.multiplier -command.c.util.camera.reset -command.c.util.clearRenderBuffers -command.c.util.flySpeed -command.c.util.flySpeed.reset -command.c.util.flySpeed.reset.target -command.c.util.flySpeed.speed -command.c.util.flySpeed.speed.target -command.c.util.replaceInCommandBlocks -command.c.util.replaceInCommandBlocks.begin -command.c.util.replaceInCommandBlocks.begin.end -command.c.util.replaceInCommandBlocks.begin.end.toReplace -command.c.util.replaceInCommandBlocks.begin.end.toReplace.replaceWith -command.candb -command.candb.clear -command.candb.clear.start -command.candb.clear.start.end -command.candb.fill -command.candb.fill.start -command.candb.fill.start.end -command.candb.fill.start.end.random -command.candb.fill.start.end.state -command.candb.give -command.candb.give.target -command.candb.give.target.state -command.candb.give.target.state.count -command.candb.load -command.candb.load.name -command.candb.profiling -command.candb.profiling.start -command.candb.profiling.stop -command.candb.redo -command.candb.redo.target -command.candb.save -command.candb.save.target -command.candb.save.target.name -command.candb.stats -command.candb.stats.start -command.candb.stats.start.end -command.candb.undo -command.candb.undo.target -command.carryon -command.carryon.clear -command.carryon.clear.target -command.carryon.debug -command.cca_api -command.clear -command.clear.targets -command.clear.targets.item -command.clear.targets.item.maxCount -command.clone -command.clone.begin -command.clone.begin.end -command.clone.begin.end.destination -command.clone.begin.end.destination.filtered -command.clone.begin.end.destination.filtered.filter -command.clone.begin.end.destination.filtered.filter.force -command.clone.begin.end.destination.filtered.filter.move -command.clone.begin.end.destination.filtered.filter.normal -command.clone.begin.end.destination.masked -command.clone.begin.end.destination.masked.force -command.clone.begin.end.destination.masked.move -command.clone.begin.end.destination.masked.normal -command.clone.begin.end.destination.replace -command.clone.begin.end.destination.replace.force -command.clone.begin.end.destination.replace.move -command.clone.begin.end.destination.replace.normal -command.config -command.config.showfile -command.config.showfile.mod -command.config.showfile.mod.type -command.create -command.create.clone -command.create.clone.begin -command.create.clone.begin.end -command.create.clone.begin.end.destination -command.create.clone.begin.end.destination.skipBlocks -command.create.config -command.create.config.path -command.create.config.path.set -command.create.config.path.set.value -command.create.coupling -command.create.coupling.add -command.create.coupling.add.cart1 -command.create.coupling.add.cart1.cart2 -command.create.coupling.add.carts -command.create.coupling.remove -command.create.coupling.remove.cart1 -command.create.coupling.remove.cart1.cart2 -command.create.coupling.removeAll -command.create.coupling.removeAll.cart -command.create.dismissFabulousWarning -command.create.fixLighting -command.create.glue -command.create.glue.from -command.create.glue.from.to -command.create.highlight -command.create.highlight.pos -command.create.highlight.pos.players -command.create.killTrain -command.create.killTrain.train -command.create.overlay -command.create.overlay.reset -command.create.passenger -command.create.passenger.rider -command.create.passenger.rider.vehicle -command.create.passenger.rider.vehicle.seatIndex -command.create.ponder -command.create.ponder.scene -command.create.ponder.scene.targets -command.create.rainbowDebug -command.create.rainbowDebug.off -command.create.rainbowDebug.on -command.create.trains -command.create.u -command.create.u.angle -command.create.u.angle.players -command.create.u.angle.players.mode -command.create.u.angle.players.mode.exponential -command.create.u.angle.players.mode.exponential.speed -command.create.u.angle.players.mode.linear -command.create.u.angle.players.mode.linear.speed -command.create.u.angle.players.pitch -command.create.u.angle.players.pitch.degrees -command.create.u.angle.players.yaw -command.create.u.angle.players.yaw.degrees -command.create.u.camera -command.create.u.camera.multiplier -command.create.u.camera.reset -command.create.u.clearRenderBuffers -command.create.u.flySpeed -command.create.u.flySpeed.reset -command.create.u.flySpeed.reset.target -command.create.u.flySpeed.speed -command.create.u.flySpeed.speed.target -command.create.u.replaceInCommandBlocks -command.create.u.replaceInCommandBlocks.begin -command.create.u.replaceInCommandBlocks.begin.end -command.create.u.replaceInCommandBlocks.begin.end.toReplace -command.create.u.replaceInCommandBlocks.begin.end.toReplace.replaceWith -command.create.util -command.create.util.angle -command.create.util.angle.players -command.create.util.angle.players.mode -command.create.util.angle.players.mode.exponential -command.create.util.angle.players.mode.exponential.speed -command.create.util.angle.players.mode.linear -command.create.util.angle.players.mode.linear.speed -command.create.util.angle.players.pitch -command.create.util.angle.players.pitch.degrees -command.create.util.angle.players.yaw -command.create.util.angle.players.yaw.degrees -command.create.util.camera -command.create.util.camera.multiplier -command.create.util.camera.reset -command.create.util.clearRenderBuffers -command.create.util.flySpeed -command.create.util.flySpeed.reset -command.create.util.flySpeed.reset.target -command.create.util.flySpeed.speed -command.create.util.flySpeed.speed.target -command.create.util.replaceInCommandBlocks -command.create.util.replaceInCommandBlocks.begin -command.create.util.replaceInCommandBlocks.begin.end -command.create.util.replaceInCommandBlocks.begin.end.toReplace -command.create.util.replaceInCommandBlocks.begin.end.toReplace.replaceWith -command.ctm -command.ctm.reload -command.curios -command.curios.add -command.curios.add.slot -command.curios.add.slot.player -command.curios.add.slot.player.amount -command.curios.clear -command.curios.clear.player -command.curios.clear.player.slot -command.curios.drop -command.curios.drop.player -command.curios.drop.player.slot -command.curios.list -command.curios.remove -command.curios.remove.slot -command.curios.remove.slot.player -command.curios.remove.slot.player.amount -command.curios.replace -command.curios.replace.slot -command.curios.replace.slot.index -command.curios.replace.slot.index.player -command.curios.replace.slot.index.player.with -command.curios.replace.slot.index.player.with.item -command.curios.replace.slot.index.player.with.item.count -command.curios.reset -command.curios.reset.player -command.curios.set -command.curios.set.slot -command.curios.set.slot.player -command.curios.set.slot.player.amount -command.data -command.data.get -command.data.get.block -command.data.get.block.targetPos -command.data.get.block.targetPos.path -command.data.get.block.targetPos.path.scale -command.data.get.entity -command.data.get.entity.target -command.data.get.entity.target.path -command.data.get.entity.target.path.scale -command.data.get.storage -command.data.get.storage.target -command.data.get.storage.target.path -command.data.get.storage.target.path.scale -command.data.merge -command.data.merge.block -command.data.merge.block.targetPos -command.data.merge.block.targetPos.nbt -command.data.merge.entity -command.data.merge.entity.target -command.data.merge.entity.target.nbt -command.data.merge.storage -command.data.merge.storage.target -command.data.merge.storage.target.nbt -command.data.modify -command.data.modify.block -command.data.modify.block.targetPos -command.data.modify.block.targetPos.targetPath -command.data.modify.block.targetPos.targetPath.append -command.data.modify.block.targetPos.targetPath.append.from -command.data.modify.block.targetPos.targetPath.append.from.block -command.data.modify.block.targetPos.targetPath.append.from.block.sourcePos -command.data.modify.block.targetPos.targetPath.append.from.block.sourcePos.sourcePath -command.data.modify.block.targetPos.targetPath.append.from.entity -command.data.modify.block.targetPos.targetPath.append.from.entity.source -command.data.modify.block.targetPos.targetPath.append.from.entity.source.sourcePath -command.data.modify.block.targetPos.targetPath.append.from.storage -command.data.modify.block.targetPos.targetPath.append.from.storage.source -command.data.modify.block.targetPos.targetPath.append.from.storage.source.sourcePath -command.data.modify.block.targetPos.targetPath.append.value -command.data.modify.block.targetPos.targetPath.append.value.value -command.data.modify.block.targetPos.targetPath.insert -command.data.modify.block.targetPos.targetPath.insert.index -command.data.modify.block.targetPos.targetPath.insert.index.from -command.data.modify.block.targetPos.targetPath.insert.index.from.block -command.data.modify.block.targetPos.targetPath.insert.index.from.block.sourcePos -command.data.modify.block.targetPos.targetPath.insert.index.from.block.sourcePos.sourcePath -command.data.modify.block.targetPos.targetPath.insert.index.from.entity -command.data.modify.block.targetPos.targetPath.insert.index.from.entity.source -command.data.modify.block.targetPos.targetPath.insert.index.from.entity.source.sourcePath -command.data.modify.block.targetPos.targetPath.insert.index.from.storage -command.data.modify.block.targetPos.targetPath.insert.index.from.storage.source -command.data.modify.block.targetPos.targetPath.insert.index.from.storage.source.sourcePath -command.data.modify.block.targetPos.targetPath.insert.index.value -command.data.modify.block.targetPos.targetPath.insert.index.value.value -command.data.modify.block.targetPos.targetPath.merge -command.data.modify.block.targetPos.targetPath.merge.from -command.data.modify.block.targetPos.targetPath.merge.from.block -command.data.modify.block.targetPos.targetPath.merge.from.block.sourcePos -command.data.modify.block.targetPos.targetPath.merge.from.block.sourcePos.sourcePath -command.data.modify.block.targetPos.targetPath.merge.from.entity -command.data.modify.block.targetPos.targetPath.merge.from.entity.source -command.data.modify.block.targetPos.targetPath.merge.from.entity.source.sourcePath -command.data.modify.block.targetPos.targetPath.merge.from.storage -command.data.modify.block.targetPos.targetPath.merge.from.storage.source -command.data.modify.block.targetPos.targetPath.merge.from.storage.source.sourcePath -command.data.modify.block.targetPos.targetPath.merge.value -command.data.modify.block.targetPos.targetPath.merge.value.value -command.data.modify.block.targetPos.targetPath.prepend -command.data.modify.block.targetPos.targetPath.prepend.from -command.data.modify.block.targetPos.targetPath.prepend.from.block -command.data.modify.block.targetPos.targetPath.prepend.from.block.sourcePos -command.data.modify.block.targetPos.targetPath.prepend.from.block.sourcePos.sourcePath -command.data.modify.block.targetPos.targetPath.prepend.from.entity -command.data.modify.block.targetPos.targetPath.prepend.from.entity.source -command.data.modify.block.targetPos.targetPath.prepend.from.entity.source.sourcePath -command.data.modify.block.targetPos.targetPath.prepend.from.storage -command.data.modify.block.targetPos.targetPath.prepend.from.storage.source -command.data.modify.block.targetPos.targetPath.prepend.from.storage.source.sourcePath -command.data.modify.block.targetPos.targetPath.prepend.value -command.data.modify.block.targetPos.targetPath.prepend.value.value -command.data.modify.block.targetPos.targetPath.set -command.data.modify.block.targetPos.targetPath.set.from -command.data.modify.block.targetPos.targetPath.set.from.block -command.data.modify.block.targetPos.targetPath.set.from.block.sourcePos -command.data.modify.block.targetPos.targetPath.set.from.block.sourcePos.sourcePath -command.data.modify.block.targetPos.targetPath.set.from.entity -command.data.modify.block.targetPos.targetPath.set.from.entity.source -command.data.modify.block.targetPos.targetPath.set.from.entity.source.sourcePath -command.data.modify.block.targetPos.targetPath.set.from.storage -command.data.modify.block.targetPos.targetPath.set.from.storage.source -command.data.modify.block.targetPos.targetPath.set.from.storage.source.sourcePath -command.data.modify.block.targetPos.targetPath.set.value -command.data.modify.block.targetPos.targetPath.set.value.value -command.data.modify.entity -command.data.modify.entity.target -command.data.modify.entity.target.targetPath -command.data.modify.entity.target.targetPath.append -command.data.modify.entity.target.targetPath.append.from -command.data.modify.entity.target.targetPath.append.from.block -command.data.modify.entity.target.targetPath.append.from.block.sourcePos -command.data.modify.entity.target.targetPath.append.from.block.sourcePos.sourcePath -command.data.modify.entity.target.targetPath.append.from.entity -command.data.modify.entity.target.targetPath.append.from.entity.source -command.data.modify.entity.target.targetPath.append.from.entity.source.sourcePath -command.data.modify.entity.target.targetPath.append.from.storage -command.data.modify.entity.target.targetPath.append.from.storage.source -command.data.modify.entity.target.targetPath.append.from.storage.source.sourcePath -command.data.modify.entity.target.targetPath.append.value -command.data.modify.entity.target.targetPath.append.value.value -command.data.modify.entity.target.targetPath.insert -command.data.modify.entity.target.targetPath.insert.index -command.data.modify.entity.target.targetPath.insert.index.from -command.data.modify.entity.target.targetPath.insert.index.from.block -command.data.modify.entity.target.targetPath.insert.index.from.block.sourcePos -command.data.modify.entity.target.targetPath.insert.index.from.block.sourcePos.sourcePath -command.data.modify.entity.target.targetPath.insert.index.from.entity -command.data.modify.entity.target.targetPath.insert.index.from.entity.source -command.data.modify.entity.target.targetPath.insert.index.from.entity.source.sourcePath -command.data.modify.entity.target.targetPath.insert.index.from.storage -command.data.modify.entity.target.targetPath.insert.index.from.storage.source -command.data.modify.entity.target.targetPath.insert.index.from.storage.source.sourcePath -command.data.modify.entity.target.targetPath.insert.index.value -command.data.modify.entity.target.targetPath.insert.index.value.value -command.data.modify.entity.target.targetPath.merge -command.data.modify.entity.target.targetPath.merge.from -command.data.modify.entity.target.targetPath.merge.from.block -command.data.modify.entity.target.targetPath.merge.from.block.sourcePos -command.data.modify.entity.target.targetPath.merge.from.block.sourcePos.sourcePath -command.data.modify.entity.target.targetPath.merge.from.entity -command.data.modify.entity.target.targetPath.merge.from.entity.source -command.data.modify.entity.target.targetPath.merge.from.entity.source.sourcePath -command.data.modify.entity.target.targetPath.merge.from.storage -command.data.modify.entity.target.targetPath.merge.from.storage.source -command.data.modify.entity.target.targetPath.merge.from.storage.source.sourcePath -command.data.modify.entity.target.targetPath.merge.value -command.data.modify.entity.target.targetPath.merge.value.value -command.data.modify.entity.target.targetPath.prepend -command.data.modify.entity.target.targetPath.prepend.from -command.data.modify.entity.target.targetPath.prepend.from.block -command.data.modify.entity.target.targetPath.prepend.from.block.sourcePos -command.data.modify.entity.target.targetPath.prepend.from.block.sourcePos.sourcePath -command.data.modify.entity.target.targetPath.prepend.from.entity -command.data.modify.entity.target.targetPath.prepend.from.entity.source -command.data.modify.entity.target.targetPath.prepend.from.entity.source.sourcePath -command.data.modify.entity.target.targetPath.prepend.from.storage -command.data.modify.entity.target.targetPath.prepend.from.storage.source -command.data.modify.entity.target.targetPath.prepend.from.storage.source.sourcePath -command.data.modify.entity.target.targetPath.prepend.value -command.data.modify.entity.target.targetPath.prepend.value.value -command.data.modify.entity.target.targetPath.set -command.data.modify.entity.target.targetPath.set.from -command.data.modify.entity.target.targetPath.set.from.block -command.data.modify.entity.target.targetPath.set.from.block.sourcePos -command.data.modify.entity.target.targetPath.set.from.block.sourcePos.sourcePath -command.data.modify.entity.target.targetPath.set.from.entity -command.data.modify.entity.target.targetPath.set.from.entity.source -command.data.modify.entity.target.targetPath.set.from.entity.source.sourcePath -command.data.modify.entity.target.targetPath.set.from.storage -command.data.modify.entity.target.targetPath.set.from.storage.source -command.data.modify.entity.target.targetPath.set.from.storage.source.sourcePath -command.data.modify.entity.target.targetPath.set.value -command.data.modify.entity.target.targetPath.set.value.value -command.data.modify.storage -command.data.modify.storage.target -command.data.modify.storage.target.targetPath -command.data.modify.storage.target.targetPath.append -command.data.modify.storage.target.targetPath.append.from -command.data.modify.storage.target.targetPath.append.from.block -command.data.modify.storage.target.targetPath.append.from.block.sourcePos -command.data.modify.storage.target.targetPath.append.from.block.sourcePos.sourcePath -command.data.modify.storage.target.targetPath.append.from.entity -command.data.modify.storage.target.targetPath.append.from.entity.source -command.data.modify.storage.target.targetPath.append.from.entity.source.sourcePath -command.data.modify.storage.target.targetPath.append.from.storage -command.data.modify.storage.target.targetPath.append.from.storage.source -command.data.modify.storage.target.targetPath.append.from.storage.source.sourcePath -command.data.modify.storage.target.targetPath.append.value -command.data.modify.storage.target.targetPath.append.value.value -command.data.modify.storage.target.targetPath.insert -command.data.modify.storage.target.targetPath.insert.index -command.data.modify.storage.target.targetPath.insert.index.from -command.data.modify.storage.target.targetPath.insert.index.from.block -command.data.modify.storage.target.targetPath.insert.index.from.block.sourcePos -command.data.modify.storage.target.targetPath.insert.index.from.block.sourcePos.sourcePath -command.data.modify.storage.target.targetPath.insert.index.from.entity -command.data.modify.storage.target.targetPath.insert.index.from.entity.source -command.data.modify.storage.target.targetPath.insert.index.from.entity.source.sourcePath -command.data.modify.storage.target.targetPath.insert.index.from.storage -command.data.modify.storage.target.targetPath.insert.index.from.storage.source -command.data.modify.storage.target.targetPath.insert.index.from.storage.source.sourcePath -command.data.modify.storage.target.targetPath.insert.index.value -command.data.modify.storage.target.targetPath.insert.index.value.value -command.data.modify.storage.target.targetPath.merge -command.data.modify.storage.target.targetPath.merge.from -command.data.modify.storage.target.targetPath.merge.from.block -command.data.modify.storage.target.targetPath.merge.from.block.sourcePos -command.data.modify.storage.target.targetPath.merge.from.block.sourcePos.sourcePath -command.data.modify.storage.target.targetPath.merge.from.entity -command.data.modify.storage.target.targetPath.merge.from.entity.source -command.data.modify.storage.target.targetPath.merge.from.entity.source.sourcePath -command.data.modify.storage.target.targetPath.merge.from.storage -command.data.modify.storage.target.targetPath.merge.from.storage.source -command.data.modify.storage.target.targetPath.merge.from.storage.source.sourcePath -command.data.modify.storage.target.targetPath.merge.value -command.data.modify.storage.target.targetPath.merge.value.value -command.data.modify.storage.target.targetPath.prepend -command.data.modify.storage.target.targetPath.prepend.from -command.data.modify.storage.target.targetPath.prepend.from.block -command.data.modify.storage.target.targetPath.prepend.from.block.sourcePos -command.data.modify.storage.target.targetPath.prepend.from.block.sourcePos.sourcePath -command.data.modify.storage.target.targetPath.prepend.from.entity -command.data.modify.storage.target.targetPath.prepend.from.entity.source -command.data.modify.storage.target.targetPath.prepend.from.entity.source.sourcePath -command.data.modify.storage.target.targetPath.prepend.from.storage -command.data.modify.storage.target.targetPath.prepend.from.storage.source -command.data.modify.storage.target.targetPath.prepend.from.storage.source.sourcePath -command.data.modify.storage.target.targetPath.prepend.value -command.data.modify.storage.target.targetPath.prepend.value.value -command.data.modify.storage.target.targetPath.set -command.data.modify.storage.target.targetPath.set.from -command.data.modify.storage.target.targetPath.set.from.block -command.data.modify.storage.target.targetPath.set.from.block.sourcePos -command.data.modify.storage.target.targetPath.set.from.block.sourcePos.sourcePath -command.data.modify.storage.target.targetPath.set.from.entity -command.data.modify.storage.target.targetPath.set.from.entity.source -command.data.modify.storage.target.targetPath.set.from.entity.source.sourcePath -command.data.modify.storage.target.targetPath.set.from.storage -command.data.modify.storage.target.targetPath.set.from.storage.source -command.data.modify.storage.target.targetPath.set.from.storage.source.sourcePath -command.data.modify.storage.target.targetPath.set.value -command.data.modify.storage.target.targetPath.set.value.value -command.data.remove -command.data.remove.block -command.data.remove.block.targetPos -command.data.remove.block.targetPos.path -command.data.remove.entity -command.data.remove.entity.target -command.data.remove.entity.target.path -command.data.remove.storage -command.data.remove.storage.target -command.data.remove.storage.target.path -command.datapack -command.datapack.disable -command.datapack.disable.name -command.datapack.enable -command.datapack.enable.name -command.datapack.enable.name.after -command.datapack.enable.name.after.existing -command.datapack.enable.name.before -command.datapack.enable.name.before.existing -command.datapack.enable.name.first -command.datapack.enable.name.last -command.datapack.list -command.datapack.list.available -command.datapack.list.enabled -command.deathhistory -command.deathhistory.player -command.deathhistory.player_uuid -command.debug -command.debug.function -command.debug.function.name -command.debug.start -command.debug.stop -command.defaultgamemode -command.defaultgamemode.adventure -command.defaultgamemode.creative -command.defaultgamemode.spectator -command.defaultgamemode.survival -command.delhome -command.delhome.name -command.delwarp -command.delwarp.name -command.difficulty -command.difficulty.easy -command.difficulty.hard -command.difficulty.normal -command.difficulty.peaceful -command.dt -command.dt.clearorphaned -command.dt.clearorphaned.location -command.dt.clearorphaned.location.radius -command.dt.createstaff -command.dt.createstaff.location -command.dt.createstaff.location.species -command.dt.createstaff.location.species.jo_code -command.dt.createstaff.location.species.jo_code.color -command.dt.createstaff.location.species.jo_code.color.readOnly -command.dt.createstaff.location.species.jo_code.color.readOnly.maxUses -command.dt.createtransformpotion -command.dt.createtransformpotion.location -command.dt.createtransformpotion.location.species -command.dt.fertility -command.dt.fertility.location -command.dt.fertility.location.fertility -command.dt.fertility.location.raw -command.dt.gettree -command.dt.gettree.location -command.dt.gettree.location.code_raw -command.dt.growpulse -command.dt.growpulse.location -command.dt.growpulse.location.number -command.dt.killtree -command.dt.killtree.location -command.dt.purgetrees -command.dt.purgetrees.location -command.dt.purgetrees.location.radius -command.dt.registry -command.dt.registry.cellkit -command.dt.registry.cellkit.list -command.dt.registry.cellkit.list.raw -command.dt.registry.family -command.dt.registry.family.list -command.dt.registry.family.list.raw -command.dt.registry.fruit -command.dt.registry.fruit.list -command.dt.registry.fruit.list.raw -command.dt.registry.genfeature -command.dt.registry.genfeature.list -command.dt.registry.genfeature.list.raw -command.dt.registry.growthlogickit -command.dt.registry.growthlogickit.list -command.dt.registry.growthlogickit.list.raw -command.dt.registry.leavesproperties -command.dt.registry.leavesproperties.list -command.dt.registry.leavesproperties.list.raw -command.dt.registry.pod -command.dt.registry.pod.list -command.dt.registry.pod.list.raw -command.dt.registry.registryhandler -command.dt.registry.registryhandler.list -command.dt.registry.registryhandler.list.raw -command.dt.registry.soilproperties -command.dt.registry.soilproperties.list -command.dt.registry.soilproperties.list.raw -command.dt.registry.species -command.dt.registry.species.list -command.dt.registry.species.list.raw -command.dt.rotatejocode -command.dt.rotatejocode.jo_code -command.dt.rotatejocode.jo_code.turns -command.dt.setcoordxor -command.dt.setcoordxor.xor -command.dt.settree -command.dt.settree.location -command.dt.settree.location.species -command.dt.settree.location.species.jo_code -command.dt.settree.location.species.jo_code.turns -command.dt.settree.location.species.jo_code.turns.fertility -command.dt.transform -command.dt.transform.location -command.dt.transform.location.species -command.dumpHandlers -command.effect -command.effect.clear -command.effect.clear.targets -command.effect.clear.targets.effect -command.effect.give -command.effect.give.targets -command.effect.give.targets.effect -command.effect.give.targets.effect.seconds -command.effect.give.targets.effect.seconds.amplifier -command.effect.give.targets.effect.seconds.amplifier.hideParticles -command.enchant -command.enchant.targets -command.enchant.targets.enchantment -command.enchant.targets.enchantment.level -command.enderchest -command.enderchest.player -command.execute -command.execute.align -command.execute.anchored -command.execute.as -command.execute.at -command.execute.facing -command.execute.facing.entity -command.execute.facing.entity.targets -command.execute.if -command.execute.if.block -command.execute.if.block.pos -command.execute.if.blocks -command.execute.if.blocks.start -command.execute.if.blocks.start.end -command.execute.if.blocks.start.end.destination -command.execute.if.data -command.execute.if.data.block -command.execute.if.data.block.sourcePos -command.execute.if.data.entity -command.execute.if.data.entity.source -command.execute.if.data.storage -command.execute.if.data.storage.source -command.execute.if.entity -command.execute.if.predicate -command.execute.if.score -command.execute.if.score.target -command.execute.if.score.target.targetObjective -command.execute.if.score.target.targetObjective.< -command.execute.if.score.target.targetObjective.<.source -command.execute.if.score.target.targetObjective.<= -command.execute.if.score.target.targetObjective.<=.source -command.execute.if.score.target.targetObjective.= -command.execute.if.score.target.targetObjective.=.source -command.execute.if.score.target.targetObjective.> -command.execute.if.score.target.targetObjective.>.source -command.execute.if.score.target.targetObjective.>= -command.execute.if.score.target.targetObjective.>=.source -command.execute.if.score.target.targetObjective.matches -command.execute.in -command.execute.positioned -command.execute.positioned.as -command.execute.rotated -command.execute.rotated.as -command.execute.run -command.execute.store -command.execute.store.result -command.execute.store.result.block -command.execute.store.result.block.targetPos -command.execute.store.result.block.targetPos.path -command.execute.store.result.block.targetPos.path.byte -command.execute.store.result.block.targetPos.path.double -command.execute.store.result.block.targetPos.path.float -command.execute.store.result.block.targetPos.path.int -command.execute.store.result.block.targetPos.path.long -command.execute.store.result.block.targetPos.path.short -command.execute.store.result.bossbar -command.execute.store.result.bossbar.id -command.execute.store.result.entity -command.execute.store.result.entity.target -command.execute.store.result.entity.target.path -command.execute.store.result.entity.target.path.byte -command.execute.store.result.entity.target.path.double -command.execute.store.result.entity.target.path.float -command.execute.store.result.entity.target.path.int -command.execute.store.result.entity.target.path.long -command.execute.store.result.entity.target.path.short -command.execute.store.result.score -command.execute.store.result.score.targets -command.execute.store.result.storage -command.execute.store.result.storage.target -command.execute.store.result.storage.target.path -command.execute.store.result.storage.target.path.byte -command.execute.store.result.storage.target.path.double -command.execute.store.result.storage.target.path.float -command.execute.store.result.storage.target.path.int -command.execute.store.result.storage.target.path.long -command.execute.store.result.storage.target.path.short -command.execute.store.success -command.execute.store.success.block -command.execute.store.success.block.targetPos -command.execute.store.success.block.targetPos.path -command.execute.store.success.block.targetPos.path.byte -command.execute.store.success.block.targetPos.path.double -command.execute.store.success.block.targetPos.path.float -command.execute.store.success.block.targetPos.path.int -command.execute.store.success.block.targetPos.path.long -command.execute.store.success.block.targetPos.path.short -command.execute.store.success.bossbar -command.execute.store.success.bossbar.id -command.execute.store.success.entity -command.execute.store.success.entity.target -command.execute.store.success.entity.target.path -command.execute.store.success.entity.target.path.byte -command.execute.store.success.entity.target.path.double -command.execute.store.success.entity.target.path.float -command.execute.store.success.entity.target.path.int -command.execute.store.success.entity.target.path.long -command.execute.store.success.entity.target.path.short -command.execute.store.success.score -command.execute.store.success.score.targets -command.execute.store.success.storage -command.execute.store.success.storage.target -command.execute.store.success.storage.target.path -command.execute.store.success.storage.target.path.byte -command.execute.store.success.storage.target.path.double -command.execute.store.success.storage.target.path.float -command.execute.store.success.storage.target.path.int -command.execute.store.success.storage.target.path.long -command.execute.store.success.storage.target.path.short -command.execute.unless -command.execute.unless.block -command.execute.unless.block.pos -command.execute.unless.blocks -command.execute.unless.blocks.start -command.execute.unless.blocks.start.end -command.execute.unless.blocks.start.end.destination -command.execute.unless.data -command.execute.unless.data.block -command.execute.unless.data.block.sourcePos -command.execute.unless.data.entity -command.execute.unless.data.entity.source -command.execute.unless.data.storage -command.execute.unless.data.storage.source -command.execute.unless.entity -command.execute.unless.predicate -command.execute.unless.score -command.execute.unless.score.target -command.execute.unless.score.target.targetObjective -command.execute.unless.score.target.targetObjective.< -command.execute.unless.score.target.targetObjective.<.source -command.execute.unless.score.target.targetObjective.<= -command.execute.unless.score.target.targetObjective.<=.source -command.execute.unless.score.target.targetObjective.= -command.execute.unless.score.target.targetObjective.=.source -command.execute.unless.score.target.targetObjective.> -command.execute.unless.score.target.targetObjective.>.source -command.execute.unless.score.target.targetObjective.>= -command.execute.unless.score.target.targetObjective.>=.source -command.execute.unless.score.target.targetObjective.matches -command.experience -command.experience.add -command.experience.add.targets -command.experience.add.targets.amount -command.experience.add.targets.amount.levels -command.experience.add.targets.amount.points -command.experience.query -command.experience.query.targets -command.experience.query.targets.levels -command.experience.query.targets.points -command.experience.set -command.experience.set.targets -command.experience.set.targets.amount -command.experience.set.targets.amount.levels -command.experience.set.targets.amount.points -command.fill -command.fill.from -command.fill.from.to -command.fill.from.to.block -command.fill.from.to.block.destroy -command.fill.from.to.block.hollow -command.fill.from.to.block.keep -command.fill.from.to.block.outline -command.fill.from.to.block.replace -command.fill.from.to.block.replace.filter -command.fly -command.fly.player -command.forceload -command.forceload.add -command.forceload.add.from -command.forceload.add.from.to -command.forceload.query -command.forceload.query.pos -command.forceload.remove -command.forceload.remove.all -command.forceload.remove.from -command.forceload.remove.from.to -command.forge -command.forge.dimensions -command.forge.entity -command.forge.entity.list -command.forge.entity.list.filter -command.forge.entity.list.filter.dim -command.forge.generate -command.forge.generate.pos -command.forge.generate.pos.count -command.forge.generate.pos.count.dim -command.forge.generate.pos.count.dim.interval -command.forge.mods -command.forge.tags -command.forge.tags.registry -command.forge.tags.registry.get -command.forge.tags.registry.get.tag -command.forge.tags.registry.get.tag.page -command.forge.tags.registry.list -command.forge.tags.registry.list.page -command.forge.tags.registry.query -command.forge.tags.registry.query.element -command.forge.tags.registry.query.element.page -command.forge.tps -command.forge.tps.dim -command.forge.track -command.forge.track.entity -command.forge.track.reset -command.forge.track.reset.entity -command.forge.track.reset.te -command.forge.track.start -command.forge.track.start.entity -command.forge.track.start.entity.duration -command.forge.track.start.te -command.forge.track.start.te.duration -command.forge.track.te -command.ftblibrary -command.ftblibrary.day -command.ftblibrary.gamemode -command.ftblibrary.generate_loot_tables -command.ftblibrary.nbtedit -command.ftblibrary.nbtedit.block -command.ftblibrary.nbtedit.block.pos -command.ftblibrary.nbtedit.entity -command.ftblibrary.nbtedit.entity.entity -command.ftblibrary.nbtedit.item -command.ftblibrary.nbtedit.player -command.ftblibrary.nbtedit.player.player -command.ftblibrary.night -command.ftblibrary.rain -command.ftbquests -command.ftbquests.block_rewards -command.ftbquests.block_rewards.enabled -command.ftbquests.block_rewards.enabled.player -command.ftbquests.change_progress -command.ftbquests.change_progress.players -command.ftbquests.change_progress.players.complete -command.ftbquests.change_progress.players.complete.quest_object -command.ftbquests.change_progress.players.reset -command.ftbquests.change_progress.players.reset.quest_object -command.ftbquests.delete_empty_reward_tables -command.ftbquests.editing_mode -command.ftbquests.editing_mode.enabled -command.ftbquests.editing_mode.enabled.player -command.ftbquests.export_reward_table_to_chest -command.ftbquests.export_reward_table_to_chest.reward_table -command.ftbquests.export_reward_table_to_chest.reward_table.pos -command.ftbquests.generate_chapter_with_all_items_in_game -command.ftbquests.import_reward_table_from_chest -command.ftbquests.import_reward_table_from_chest.name -command.ftbquests.import_reward_table_from_chest.name.pos -command.ftbquests.locked -command.ftbquests.locked.enabled -command.ftbquests.locked.enabled.player -command.ftbquests.reload -command.ftbranks -command.ftbranks.add -command.ftbranks.add.players -command.ftbranks.add.players.rank -command.ftbranks.condition -command.ftbranks.condition.rank -command.ftbranks.condition.rank.value -command.ftbranks.create -command.ftbranks.create.name -command.ftbranks.delete -command.ftbranks.delete.rank -command.ftbranks.list_all_ranks -command.ftbranks.list_players_with -command.ftbranks.list_players_with.rank -command.ftbranks.list_ranks_of -command.ftbranks.list_ranks_of.player -command.ftbranks.node -command.ftbranks.node.add -command.ftbranks.node.add.rank -command.ftbranks.node.add.rank.node -command.ftbranks.node.add.rank.node.value -command.ftbranks.node.remove -command.ftbranks.node.remove.rank -command.ftbranks.node.remove.rank.node -command.ftbranks.refresh_readme -command.ftbranks.reload -command.ftbranks.remove -command.ftbranks.remove.players -command.ftbranks.remove.players.rank -command.ftbranks.show_rank -command.ftbranks.show_rank.rank -command.ftbteams -command.ftbteams.info -command.ftbteams.info.server_id -command.ftbteams.info.team -command.ftbteams.list -command.ftbteams.list.parties -command.ftbteams.list.players -command.ftbteams.list.server_teams -command.ftbteams.msg -command.ftbteams.msg.text -command.ftbteams.party -command.ftbteams.party.allies -command.ftbteams.party.allies.add -command.ftbteams.party.allies.add.player -command.ftbteams.party.allies.list -command.ftbteams.party.allies.remove -command.ftbteams.party.allies.remove.player -command.ftbteams.party.create -command.ftbteams.party.create.name -command.ftbteams.party.deny_invite -command.ftbteams.party.deny_invite.team -command.ftbteams.party.invite -command.ftbteams.party.invite.players -command.ftbteams.party.join -command.ftbteams.party.join.team -command.ftbteams.party.kick -command.ftbteams.party.kick.players -command.ftbteams.party.leave -command.ftbteams.party.settings -command.ftbteams.party.settings.key -command.ftbteams.party.settings.key.value -command.ftbteams.party.settings_for -command.ftbteams.party.settings_for.team -command.ftbteams.party.settings_for.team.key -command.ftbteams.party.settings_for.team.key.value -command.ftbteams.party.transfer_ownership -command.ftbteams.party.transfer_ownership.player -command.ftbteams.server -command.ftbteams.server.create -command.ftbteams.server.create.name -command.ftbteams.server.delete -command.ftbteams.server.delete.team -command.ftbteams.server.settings -command.ftbteams.server.settings.team -command.ftbteams.server.settings.team.key -command.ftbteams.server.settings.team.key.value -command.function -command.function.name -command.gamemode -command.gamemode.adventure -command.gamemode.adventure.target -command.gamemode.creative -command.gamemode.creative.target -command.gamemode.spectator -command.gamemode.spectator.target -command.gamemode.survival -command.gamemode.survival.target -command.gamerule -command.gamerule.announceAdvancements -command.gamerule.announceAdvancements.value -command.gamerule.commandBlockOutput -command.gamerule.commandBlockOutput.value -command.gamerule.disableElytraMovementCheck -command.gamerule.disableElytraMovementCheck.value -command.gamerule.disableRaids -command.gamerule.disableRaids.value -command.gamerule.doDaylightCycle -command.gamerule.doDaylightCycle.value -command.gamerule.doEntityDrops -command.gamerule.doEntityDrops.value -command.gamerule.doFireTick -command.gamerule.doFireTick.value -command.gamerule.doImmediateRespawn -command.gamerule.doImmediateRespawn.value -command.gamerule.doInsomnia -command.gamerule.doInsomnia.value -command.gamerule.doLimitedCrafting -command.gamerule.doLimitedCrafting.value -command.gamerule.doMobLoot -command.gamerule.doMobLoot.value -command.gamerule.doMobSpawning -command.gamerule.doMobSpawning.value -command.gamerule.doPatrolSpawning -command.gamerule.doPatrolSpawning.value -command.gamerule.doTileDrops -command.gamerule.doTileDrops.value -command.gamerule.doTraderSpawning -command.gamerule.doTraderSpawning.value -command.gamerule.doWeatherCycle -command.gamerule.doWeatherCycle.value -command.gamerule.drowningDamage -command.gamerule.drowningDamage.value -command.gamerule.fallDamage -command.gamerule.fallDamage.value -command.gamerule.fireDamage -command.gamerule.fireDamage.value -command.gamerule.forgiveDeadPlayers -command.gamerule.forgiveDeadPlayers.value -command.gamerule.freezeDamage -command.gamerule.freezeDamage.value -command.gamerule.keepInventory -command.gamerule.keepInventory.value -command.gamerule.logAdminCommands -command.gamerule.logAdminCommands.value -command.gamerule.maxCommandChainLength -command.gamerule.maxCommandChainLength.value -command.gamerule.maxEntityCramming -command.gamerule.maxEntityCramming.value -command.gamerule.mobGriefing -command.gamerule.mobGriefing.value -command.gamerule.naturalRegeneration -command.gamerule.naturalRegeneration.value -command.gamerule.playersSleepingPercentage -command.gamerule.playersSleepingPercentage.value -command.gamerule.randomTickSpeed -command.gamerule.randomTickSpeed.value -command.gamerule.reducedDebugInfo -command.gamerule.reducedDebugInfo.value -command.gamerule.sendCommandFeedback -command.gamerule.sendCommandFeedback.value -command.gamerule.showDeathMessages -command.gamerule.showDeathMessages.value -command.gamerule.spawnRadius -command.gamerule.spawnRadius.value -command.gamerule.spectatorsGenerateChunks -command.gamerule.spectatorsGenerateChunks.value -command.gamerule.universalAnger -command.gamerule.universalAnger.value -command.give -command.give.targets -command.give.targets.item -command.give.targets.item.count -command.god -command.god.player -command.hat -command.heal -command.heal.player -command.help -command.help.command -command.home -command.home.name -command.ie -command.ie.clearshaders -command.ie.clearshaders.player -command.ie.mineral -command.ie.mineral.get -command.ie.mineral.get.location -command.ie.mineral.list -command.ie.mineral.put -command.ie.mineral.put.mineral -command.ie.mineral.put.mineral.radius -command.ie.mineral.put.mineral.radius.pos -command.ie.mineral.setDepletion -command.ie.mineral.setDepletion.depletion -command.ie.mineral.setDepletion.depletion.pos -command.invsee -command.invsee.player -command.ip -command.ip.reservoir -command.ip.reservoir.get -command.ip.reservoir.get.location -command.ip.reservoir.locate -command.ip.reservoir.set -command.ip.reservoir.set.amount -command.ip.reservoir.set.amount.amount -command.ip.reservoir.set.amount.amount.location -command.ip.reservoir.set.capacity -command.ip.reservoir.set.capacity.capacity -command.ip.reservoir.set.capacity.capacity.location -command.ip.reservoir.set.type -command.ip.reservoir.set.type.name -command.ip.reservoir.set.type.name.location -command.item -command.item.modify -command.item.modify.block -command.item.modify.block.pos -command.item.modify.block.pos.slot -command.item.modify.block.pos.slot.modifier -command.item.modify.entity -command.item.modify.entity.targets -command.item.modify.entity.targets.slot -command.item.modify.entity.targets.slot.modifier -command.item.replace -command.item.replace.block -command.item.replace.block.pos -command.item.replace.block.pos.slot -command.item.replace.block.pos.slot.from -command.item.replace.block.pos.slot.from.block -command.item.replace.block.pos.slot.from.block.source -command.item.replace.block.pos.slot.from.block.source.sourceSlot -command.item.replace.block.pos.slot.from.block.source.sourceSlot.modifier -command.item.replace.block.pos.slot.from.entity -command.item.replace.block.pos.slot.from.entity.source -command.item.replace.block.pos.slot.from.entity.source.sourceSlot -command.item.replace.block.pos.slot.from.entity.source.sourceSlot.modifier -command.item.replace.block.pos.slot.with -command.item.replace.block.pos.slot.with.item -command.item.replace.block.pos.slot.with.item.count -command.item.replace.entity -command.item.replace.entity.targets -command.item.replace.entity.targets.slot -command.item.replace.entity.targets.slot.from -command.item.replace.entity.targets.slot.from.block -command.item.replace.entity.targets.slot.from.block.source -command.item.replace.entity.targets.slot.from.block.source.sourceSlot -command.item.replace.entity.targets.slot.from.block.source.sourceSlot.modifier -command.item.replace.entity.targets.slot.from.entity -command.item.replace.entity.targets.slot.from.entity.source -command.item.replace.entity.targets.slot.from.entity.source.sourceSlot -command.item.replace.entity.targets.slot.from.entity.source.sourceSlot.modifier -command.item.replace.entity.targets.slot.with -command.item.replace.entity.targets.slot.with.item -command.item.replace.entity.targets.slot.with.item.count -command.jfr -command.jfr.start -command.jfr.stop -command.kick -command.kick.targets -command.kick.targets.reason -command.kickme -command.kill -command.kill.targets -command.kjs_hand -command.kubejs -command.kubejs.custom_command -command.kubejs.custom_command.id -command.kubejs.dump_registry -command.kubejs.dump_registry.registry -command.kubejs.errors -command.kubejs.export -command.kubejs.export_virtual_data -command.kubejs.hand -command.kubejs.hotbar -command.kubejs.inventory -command.kubejs.list_tag -command.kubejs.list_tag.registry -command.kubejs.list_tag.registry.tag -command.kubejs.offhand -command.kubejs.painter -command.kubejs.painter.player -command.kubejs.painter.player.object -command.kubejs.reload -command.kubejs.reload.client_scripts -command.kubejs.reload.lang -command.kubejs.reload.server_scripts -command.kubejs.reload.startup_scripts -command.kubejs.reload.textures -command.kubejs.stages -command.kubejs.stages.add -command.kubejs.stages.add.player -command.kubejs.stages.add.player.stage -command.kubejs.stages.clear -command.kubejs.stages.clear.player -command.kubejs.stages.list -command.kubejs.stages.list.player -command.kubejs.stages.remove -command.kubejs.stages.remove.player -command.kubejs.stages.remove.player.stage -command.kubejs.warnings -command.kubejs.wiki -command.leaderboard -command.leaderboard.damage_dealt -command.leaderboard.deaths -command.leaderboard.deaths_per_hour -command.leaderboard.distance_walked -command.leaderboard.jumps -command.leaderboard.mob_kills -command.leaderboard.player_kills -command.leaderboard.time_played -command.leaderboard.time_since_death -command.list -command.list.uuids -command.listhomes -command.listhomes.player -command.listwarps -command.locate -command.locate.structure -command.locatebiome -command.locatebiome.biome -command.loot -command.loot.give -command.loot.give.players -command.loot.give.players.fish -command.loot.give.players.fish.loot_table -command.loot.give.players.fish.loot_table.pos -command.loot.give.players.fish.loot_table.pos.mainhand -command.loot.give.players.fish.loot_table.pos.offhand -command.loot.give.players.fish.loot_table.pos.tool -command.loot.give.players.kill -command.loot.give.players.kill.target -command.loot.give.players.loot -command.loot.give.players.loot.loot_table -command.loot.give.players.mine -command.loot.give.players.mine.pos -command.loot.give.players.mine.pos.mainhand -command.loot.give.players.mine.pos.offhand -command.loot.give.players.mine.pos.tool -command.loot.insert -command.loot.insert.targetPos -command.loot.insert.targetPos.fish -command.loot.insert.targetPos.fish.loot_table -command.loot.insert.targetPos.fish.loot_table.pos -command.loot.insert.targetPos.fish.loot_table.pos.mainhand -command.loot.insert.targetPos.fish.loot_table.pos.offhand -command.loot.insert.targetPos.fish.loot_table.pos.tool -command.loot.insert.targetPos.kill -command.loot.insert.targetPos.kill.target -command.loot.insert.targetPos.loot -command.loot.insert.targetPos.loot.loot_table -command.loot.insert.targetPos.mine -command.loot.insert.targetPos.mine.pos -command.loot.insert.targetPos.mine.pos.mainhand -command.loot.insert.targetPos.mine.pos.offhand -command.loot.insert.targetPos.mine.pos.tool -command.loot.replace -command.loot.replace.block -command.loot.replace.block.targetPos -command.loot.replace.block.targetPos.slot -command.loot.replace.block.targetPos.slot.count -command.loot.replace.block.targetPos.slot.count.fish -command.loot.replace.block.targetPos.slot.count.fish.loot_table -command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos -command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos.mainhand -command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos.offhand -command.loot.replace.block.targetPos.slot.count.fish.loot_table.pos.tool -command.loot.replace.block.targetPos.slot.count.kill -command.loot.replace.block.targetPos.slot.count.kill.target -command.loot.replace.block.targetPos.slot.count.loot -command.loot.replace.block.targetPos.slot.count.loot.loot_table -command.loot.replace.block.targetPos.slot.count.mine -command.loot.replace.block.targetPos.slot.count.mine.pos -command.loot.replace.block.targetPos.slot.count.mine.pos.mainhand -command.loot.replace.block.targetPos.slot.count.mine.pos.offhand -command.loot.replace.block.targetPos.slot.count.mine.pos.tool -command.loot.replace.block.targetPos.slot.fish -command.loot.replace.block.targetPos.slot.fish.loot_table -command.loot.replace.block.targetPos.slot.fish.loot_table.pos -command.loot.replace.block.targetPos.slot.fish.loot_table.pos.mainhand -command.loot.replace.block.targetPos.slot.fish.loot_table.pos.offhand -command.loot.replace.block.targetPos.slot.fish.loot_table.pos.tool -command.loot.replace.block.targetPos.slot.kill -command.loot.replace.block.targetPos.slot.kill.target -command.loot.replace.block.targetPos.slot.loot -command.loot.replace.block.targetPos.slot.loot.loot_table -command.loot.replace.block.targetPos.slot.mine -command.loot.replace.block.targetPos.slot.mine.pos -command.loot.replace.block.targetPos.slot.mine.pos.mainhand -command.loot.replace.block.targetPos.slot.mine.pos.offhand -command.loot.replace.block.targetPos.slot.mine.pos.tool -command.loot.replace.entity -command.loot.replace.entity.entities -command.loot.replace.entity.entities.slot -command.loot.replace.entity.entities.slot.count -command.loot.replace.entity.entities.slot.count.fish -command.loot.replace.entity.entities.slot.count.fish.loot_table -command.loot.replace.entity.entities.slot.count.fish.loot_table.pos -command.loot.replace.entity.entities.slot.count.fish.loot_table.pos.mainhand -command.loot.replace.entity.entities.slot.count.fish.loot_table.pos.offhand -command.loot.replace.entity.entities.slot.count.fish.loot_table.pos.tool -command.loot.replace.entity.entities.slot.count.kill -command.loot.replace.entity.entities.slot.count.kill.target -command.loot.replace.entity.entities.slot.count.loot -command.loot.replace.entity.entities.slot.count.loot.loot_table -command.loot.replace.entity.entities.slot.count.mine -command.loot.replace.entity.entities.slot.count.mine.pos -command.loot.replace.entity.entities.slot.count.mine.pos.mainhand -command.loot.replace.entity.entities.slot.count.mine.pos.offhand -command.loot.replace.entity.entities.slot.count.mine.pos.tool -command.loot.replace.entity.entities.slot.fish -command.loot.replace.entity.entities.slot.fish.loot_table -command.loot.replace.entity.entities.slot.fish.loot_table.pos -command.loot.replace.entity.entities.slot.fish.loot_table.pos.mainhand -command.loot.replace.entity.entities.slot.fish.loot_table.pos.offhand -command.loot.replace.entity.entities.slot.fish.loot_table.pos.tool -command.loot.replace.entity.entities.slot.kill -command.loot.replace.entity.entities.slot.kill.target -command.loot.replace.entity.entities.slot.loot -command.loot.replace.entity.entities.slot.loot.loot_table -command.loot.replace.entity.entities.slot.mine -command.loot.replace.entity.entities.slot.mine.pos -command.loot.replace.entity.entities.slot.mine.pos.mainhand -command.loot.replace.entity.entities.slot.mine.pos.offhand -command.loot.replace.entity.entities.slot.mine.pos.tool -command.loot.spawn -command.loot.spawn.targetPos -command.loot.spawn.targetPos.fish -command.loot.spawn.targetPos.fish.loot_table -command.loot.spawn.targetPos.fish.loot_table.pos -command.loot.spawn.targetPos.fish.loot_table.pos.mainhand -command.loot.spawn.targetPos.fish.loot_table.pos.offhand -command.loot.spawn.targetPos.fish.loot_table.pos.tool -command.loot.spawn.targetPos.kill -command.loot.spawn.targetPos.kill.target -command.loot.spawn.targetPos.loot -command.loot.spawn.targetPos.loot.loot_table -command.loot.spawn.targetPos.mine -command.loot.spawn.targetPos.mine.pos -command.loot.spawn.targetPos.mine.pos.mainhand -command.loot.spawn.targetPos.mine.pos.offhand -command.loot.spawn.targetPos.mine.pos.tool -command.me -command.me.action -command.modernfix -command.modernfix.upgradeStructures -command.msg -command.msg.targets -command.msg.targets.message -command.mute -command.mute.player -command.nickname -command.nickname.nickname -command.nicknamefor -command.nicknamefor.player -command.nicknamefor.player.nickname -command.open-patchouli-book -command.open-patchouli-book.targets -command.open-patchouli-book.targets.book -command.open-patchouli-book.targets.book.entry -command.open-patchouli-book.targets.book.entry.page -command.openpac -command.openpac-claims -command.openpac-claims.about -command.openpac-claims.about.profile -command.openpac-claims.admin-mode -command.openpac-claims.claim -command.openpac-claims.claim.anyway -command.openpac-claims.claim.anyway.block pos -command.openpac-claims.claim.block pos -command.openpac-claims.forceload -command.openpac-claims.forceload.anyway -command.openpac-claims.forceload.anyway.block pos -command.openpac-claims.forceload.block pos -command.openpac-claims.non-ally-mode -command.openpac-claims.server -command.openpac-claims.server-claim-mode -command.openpac-claims.server.claim -command.openpac-claims.server.claim.anyway -command.openpac-claims.server.claim.anyway.block pos -command.openpac-claims.server.claim.block pos -command.openpac-claims.server.forceload -command.openpac-claims.server.forceload.anyway -command.openpac-claims.server.forceload.anyway.block pos -command.openpac-claims.server.forceload.block pos -command.openpac-claims.server.sub-claim -command.openpac-claims.server.sub-claim.current -command.openpac-claims.server.sub-claim.for -command.openpac-claims.server.sub-claim.for.player -command.openpac-claims.server.sub-claim.for.player.current -command.openpac-claims.server.sub-claim.for.player.use -command.openpac-claims.server.sub-claim.for.player.use.sub-id -command.openpac-claims.server.sub-claim.use -command.openpac-claims.server.sub-claim.use.sub-id -command.openpac-claims.server.unclaim -command.openpac-claims.server.unclaim.anyway -command.openpac-claims.server.unclaim.anyway.block pos -command.openpac-claims.server.unclaim.block pos -command.openpac-claims.server.unforceload -command.openpac-claims.server.unforceload.anyway -command.openpac-claims.server.unforceload.anyway.block pos -command.openpac-claims.server.unforceload.block pos -command.openpac-claims.sub-claim -command.openpac-claims.sub-claim.current -command.openpac-claims.sub-claim.for -command.openpac-claims.sub-claim.for.player -command.openpac-claims.sub-claim.for.player.current -command.openpac-claims.sub-claim.for.player.use -command.openpac-claims.sub-claim.for.player.use.sub-id -command.openpac-claims.sub-claim.use -command.openpac-claims.sub-claim.use.sub-id -command.openpac-claims.unclaim -command.openpac-claims.unclaim.anyway -command.openpac-claims.unclaim.anyway.block pos -command.openpac-claims.unclaim.block pos -command.openpac-claims.unforceload -command.openpac-claims.unforceload.anyway -command.openpac-claims.unforceload.anyway.block pos -command.openpac-claims.unforceload.block pos -command.openpac-parties -command.openpac-parties.about -command.openpac-parties.about.player -command.openpac-parties.about.profile -command.openpac-parties.ally -command.openpac-parties.ally.add -command.openpac-parties.ally.add.player -command.openpac-parties.ally.remove -command.openpac-parties.ally.remove.owner -command.openpac-parties.chat -command.openpac-parties.chat.message -command.openpac-parties.create -command.openpac-parties.destroy -command.openpac-parties.destroy.confirm -command.openpac-parties.join -command.openpac-parties.join.id -command.openpac-parties.leave -command.openpac-parties.member -command.openpac-parties.member.invite -command.openpac-parties.member.invite.player -command.openpac-parties.member.kick -command.openpac-parties.member.kick.name -command.openpac-parties.member.rank -command.openpac-parties.member.rank.rank -command.openpac-parties.member.rank.rank.name -command.openpac-parties.transfer -command.openpac-parties.transfer.new-owner -command.openpac-parties.transfer.new-owner.confirm -command.openpac.expired-claims-config -command.openpac.expired-claims-config.get -command.openpac.expired-claims-config.get.key -command.openpac.expired-claims-config.help -command.openpac.expired-claims-config.help.key -command.openpac.expired-claims-config.reset -command.openpac.expired-claims-config.reset.key -command.openpac.expired-claims-config.set -command.openpac.expired-claims-config.set.key -command.openpac.expired-claims-config.set.key.value -command.openpac.player-config -command.openpac.player-config.default -command.openpac.player-config.default.get -command.openpac.player-config.default.get.key -command.openpac.player-config.default.help -command.openpac.player-config.default.help.key -command.openpac.player-config.default.reset -command.openpac.player-config.default.reset.key -command.openpac.player-config.default.set -command.openpac.player-config.default.set.key -command.openpac.player-config.default.set.key.value -command.openpac.player-config.for -command.openpac.player-config.for.player -command.openpac.player-config.for.player.get -command.openpac.player-config.for.player.get.key -command.openpac.player-config.for.player.help -command.openpac.player-config.for.player.help.key -command.openpac.player-config.for.player.reset -command.openpac.player-config.for.player.reset.key -command.openpac.player-config.for.player.set -command.openpac.player-config.for.player.set.key -command.openpac.player-config.for.player.set.key.value -command.openpac.player-config.for.player.sub -command.openpac.player-config.for.player.sub.create -command.openpac.player-config.for.player.sub.create.sub-id -command.openpac.player-config.for.player.sub.delete -command.openpac.player-config.for.player.sub.delete.sub-id -command.openpac.player-config.for.player.sub.get -command.openpac.player-config.for.player.sub.get.sub-id -command.openpac.player-config.for.player.sub.get.sub-id.key -command.openpac.player-config.for.player.sub.help -command.openpac.player-config.for.player.sub.help.sub-id -command.openpac.player-config.for.player.sub.help.sub-id.key -command.openpac.player-config.for.player.sub.list -command.openpac.player-config.for.player.sub.list.start-at -command.openpac.player-config.for.player.sub.reset -command.openpac.player-config.for.player.sub.reset.sub-id -command.openpac.player-config.for.player.sub.reset.sub-id.key -command.openpac.player-config.for.player.sub.set -command.openpac.player-config.for.player.sub.set.sub-id -command.openpac.player-config.for.player.sub.set.sub-id.key -command.openpac.player-config.for.player.sub.set.sub-id.key.value -command.openpac.player-config.get -command.openpac.player-config.get.key -command.openpac.player-config.help -command.openpac.player-config.help.key -command.openpac.player-config.reset -command.openpac.player-config.reset.key -command.openpac.player-config.set -command.openpac.player-config.set.key -command.openpac.player-config.set.key.value -command.openpac.player-config.sub -command.openpac.player-config.sub.create -command.openpac.player-config.sub.create.sub-id -command.openpac.player-config.sub.delete -command.openpac.player-config.sub.delete.sub-id -command.openpac.player-config.sub.get -command.openpac.player-config.sub.get.sub-id -command.openpac.player-config.sub.get.sub-id.key -command.openpac.player-config.sub.help -command.openpac.player-config.sub.help.sub-id -command.openpac.player-config.sub.help.sub-id.key -command.openpac.player-config.sub.list -command.openpac.player-config.sub.list.start-at -command.openpac.player-config.sub.reset -command.openpac.player-config.sub.reset.sub-id -command.openpac.player-config.sub.reset.sub-id.key -command.openpac.player-config.sub.set -command.openpac.player-config.sub.set.sub-id -command.openpac.player-config.sub.set.sub-id.key -command.openpac.player-config.sub.set.sub-id.key.value -command.openpac.server-claims-config -command.openpac.server-claims-config.get -command.openpac.server-claims-config.get.key -command.openpac.server-claims-config.help -command.openpac.server-claims-config.help.key -command.openpac.server-claims-config.reset -command.openpac.server-claims-config.reset.key -command.openpac.server-claims-config.set -command.openpac.server-claims-config.set.key -command.openpac.server-claims-config.set.key.value -command.openpac.server-claims-config.sub -command.openpac.server-claims-config.sub.create -command.openpac.server-claims-config.sub.create.sub-id -command.openpac.server-claims-config.sub.delete -command.openpac.server-claims-config.sub.delete.sub-id -command.openpac.server-claims-config.sub.get -command.openpac.server-claims-config.sub.get.sub-id -command.openpac.server-claims-config.sub.get.sub-id.key -command.openpac.server-claims-config.sub.help -command.openpac.server-claims-config.sub.help.sub-id -command.openpac.server-claims-config.sub.help.sub-id.key -command.openpac.server-claims-config.sub.list -command.openpac.server-claims-config.sub.list.start-at -command.openpac.server-claims-config.sub.reset -command.openpac.server-claims-config.sub.reset.sub-id -command.openpac.server-claims-config.sub.reset.sub-id.key -command.openpac.server-claims-config.sub.set -command.openpac.server-claims-config.sub.set.sub-id -command.openpac.server-claims-config.sub.set.sub-id.key -command.openpac.server-claims-config.sub.set.sub-id.key.value -command.openpac.wilderness-config -command.openpac.wilderness-config.get -command.openpac.wilderness-config.get.key -command.openpac.wilderness-config.help -command.openpac.wilderness-config.help.key -command.openpac.wilderness-config.reset -command.openpac.wilderness-config.reset.key -command.openpac.wilderness-config.set -command.openpac.wilderness-config.set.key -command.openpac.wilderness-config.set.key.value -command.opm -command.opm.message -command.particle -command.particle.name -command.particle.name.pos -command.particle.name.pos.delta -command.particle.name.pos.delta.speed -command.particle.name.pos.delta.speed.count -command.particle.name.pos.delta.speed.count.force -command.particle.name.pos.delta.speed.count.force.viewers -command.particle.name.pos.delta.speed.count.normal -command.particle.name.pos.delta.speed.count.normal.viewers -command.placefeature -command.placefeature.feature -command.placefeature.feature.pos -command.playsound -command.playsound.sound -command.playsound.sound.ambient -command.playsound.sound.ambient.targets -command.playsound.sound.ambient.targets.pos -command.playsound.sound.ambient.targets.pos.volume -command.playsound.sound.ambient.targets.pos.volume.pitch -command.playsound.sound.ambient.targets.pos.volume.pitch.minVolume -command.playsound.sound.block -command.playsound.sound.block.targets -command.playsound.sound.block.targets.pos -command.playsound.sound.block.targets.pos.volume -command.playsound.sound.block.targets.pos.volume.pitch -command.playsound.sound.block.targets.pos.volume.pitch.minVolume -command.playsound.sound.hostile -command.playsound.sound.hostile.targets -command.playsound.sound.hostile.targets.pos -command.playsound.sound.hostile.targets.pos.volume -command.playsound.sound.hostile.targets.pos.volume.pitch -command.playsound.sound.hostile.targets.pos.volume.pitch.minVolume -command.playsound.sound.master -command.playsound.sound.master.targets -command.playsound.sound.master.targets.pos -command.playsound.sound.master.targets.pos.volume -command.playsound.sound.master.targets.pos.volume.pitch -command.playsound.sound.master.targets.pos.volume.pitch.minVolume -command.playsound.sound.music -command.playsound.sound.music.targets -command.playsound.sound.music.targets.pos -command.playsound.sound.music.targets.pos.volume -command.playsound.sound.music.targets.pos.volume.pitch -command.playsound.sound.music.targets.pos.volume.pitch.minVolume -command.playsound.sound.neutral -command.playsound.sound.neutral.targets -command.playsound.sound.neutral.targets.pos -command.playsound.sound.neutral.targets.pos.volume -command.playsound.sound.neutral.targets.pos.volume.pitch -command.playsound.sound.neutral.targets.pos.volume.pitch.minVolume -command.playsound.sound.player -command.playsound.sound.player.targets -command.playsound.sound.player.targets.pos -command.playsound.sound.player.targets.pos.volume -command.playsound.sound.player.targets.pos.volume.pitch -command.playsound.sound.player.targets.pos.volume.pitch.minVolume -command.playsound.sound.record -command.playsound.sound.record.targets -command.playsound.sound.record.targets.pos -command.playsound.sound.record.targets.pos.volume -command.playsound.sound.record.targets.pos.volume.pitch -command.playsound.sound.record.targets.pos.volume.pitch.minVolume -command.playsound.sound.voice -command.playsound.sound.voice.targets -command.playsound.sound.voice.targets.pos -command.playsound.sound.voice.targets.pos.volume -command.playsound.sound.voice.targets.pos.volume.pitch -command.playsound.sound.voice.targets.pos.volume.pitch.minVolume -command.playsound.sound.weather -command.playsound.sound.weather.targets -command.playsound.sound.weather.targets.pos -command.playsound.sound.weather.targets.pos.volume -command.playsound.sound.weather.targets.pos.volume.pitch -command.playsound.sound.weather.targets.pos.volume.pitch.minVolume -command.publish -command.publish.port -command.railways -command.railways.split_train -command.railways.split_train.train_id -command.railways.split_train.train_id.number -command.railways.split_train.train_name -command.railways.split_train.train_name.number -command.railways.train_uuid -command.railways.train_uuid.name -command.recipe -command.recipe.give -command.recipe.give.targets -command.recipe.give.targets.all -command.recipe.give.targets.recipe -command.recipe.take -command.recipe.take.targets -command.recipe.take.targets.all -command.recipe.take.targets.recipe -command.recording -command.reload -command.rtp -command.say -command.say.message -command.schedule -command.schedule.clear -command.schedule.clear.function -command.schedule.function -command.schedule.function.function -command.schedule.function.function.time -command.schedule.function.function.time.append -command.schedule.function.function.time.replace -command.scoreboard -command.scoreboard.objectives -command.scoreboard.objectives.add -command.scoreboard.objectives.add.objective -command.scoreboard.objectives.add.objective.criteria -command.scoreboard.objectives.add.objective.criteria.displayName -command.scoreboard.objectives.list -command.scoreboard.objectives.modify -command.scoreboard.objectives.modify.objective -command.scoreboard.objectives.modify.objective.displayname -command.scoreboard.objectives.modify.objective.displayname.displayName -command.scoreboard.objectives.modify.objective.rendertype -command.scoreboard.objectives.modify.objective.rendertype.hearts -command.scoreboard.objectives.modify.objective.rendertype.integer -command.scoreboard.objectives.remove -command.scoreboard.objectives.remove.objective -command.scoreboard.objectives.setdisplay -command.scoreboard.objectives.setdisplay.slot -command.scoreboard.objectives.setdisplay.slot.objective -command.scoreboard.players -command.scoreboard.players.add -command.scoreboard.players.add.targets -command.scoreboard.players.add.targets.objective -command.scoreboard.players.add.targets.objective.score -command.scoreboard.players.enable -command.scoreboard.players.enable.targets -command.scoreboard.players.enable.targets.objective -command.scoreboard.players.get -command.scoreboard.players.get.target -command.scoreboard.players.get.target.objective -command.scoreboard.players.list -command.scoreboard.players.list.target -command.scoreboard.players.operation -command.scoreboard.players.operation.targets -command.scoreboard.players.operation.targets.targetObjective -command.scoreboard.players.operation.targets.targetObjective.operation -command.scoreboard.players.operation.targets.targetObjective.operation.source -command.scoreboard.players.operation.targets.targetObjective.operation.source.sourceObjective -command.scoreboard.players.remove -command.scoreboard.players.remove.targets -command.scoreboard.players.remove.targets.objective -command.scoreboard.players.remove.targets.objective.score -command.scoreboard.players.reset -command.scoreboard.players.reset.targets -command.scoreboard.players.reset.targets.objective -command.scoreboard.players.set -command.scoreboard.players.set.targets -command.scoreboard.players.set.targets.objective -command.scoreboard.players.set.targets.objective.score -command.seed -command.setblock -command.setblock.pos -command.setblock.pos.block -command.setblock.pos.block.destroy -command.setblock.pos.block.keep -command.setblock.pos.block.replace -command.sethome -command.sethome.name -command.setwarp -command.setwarp.name -command.setworldspawn -command.setworldspawn.pos -command.setworldspawn.pos.angle -command.snr -command.snr.split_train -command.snr.split_train.train_id -command.snr.split_train.train_id.number -command.snr.split_train.train_name -command.snr.split_train.train_name.number -command.snr.train_uuid -command.snr.train_uuid.name -command.spawn -command.spawnpoint -command.spawnpoint.targets -command.spawnpoint.targets.pos -command.spawnpoint.targets.pos.angle -command.spectate -command.spectate.target -command.spectate.target.player -command.spreadplayers -command.spreadplayers.center -command.spreadplayers.center.spreadDistance -command.spreadplayers.center.spreadDistance.maxRange -command.spreadplayers.center.spreadDistance.maxRange.respectTeams -command.spreadplayers.center.spreadDistance.maxRange.respectTeams.targets -command.spreadplayers.center.spreadDistance.maxRange.under -command.spreadplayers.center.spreadDistance.maxRange.under.maxHeight -command.spreadplayers.center.spreadDistance.maxRange.under.maxHeight.respectTeams -command.spreadplayers.center.spreadDistance.maxRange.under.maxHeight.respectTeams.targets -command.stopsound -command.stopsound.targets -command.stopsound.targets.all -command.stopsound.targets.all.sound -command.stopsound.targets.ambient -command.stopsound.targets.ambient.sound -command.stopsound.targets.block -command.stopsound.targets.block.sound -command.stopsound.targets.hostile -command.stopsound.targets.hostile.sound -command.stopsound.targets.master -command.stopsound.targets.master.sound -command.stopsound.targets.music -command.stopsound.targets.music.sound -command.stopsound.targets.neutral -command.stopsound.targets.neutral.sound -command.stopsound.targets.player -command.stopsound.targets.player.sound -command.stopsound.targets.record -command.stopsound.targets.record.sound -command.stopsound.targets.voice -command.stopsound.targets.voice.sound -command.stopsound.targets.weather -command.stopsound.targets.weather.sound -command.streaming -command.summon -command.summon.entity -command.summon.entity.pos -command.summon.entity.pos.nbt -command.tag -command.tag.targets -command.tag.targets.add -command.tag.targets.add.name -command.tag.targets.list -command.tag.targets.remove -command.tag.targets.remove.name -command.tb -command.tb.access -command.tb.access.pos -command.tb.access.target -command.tb.clear -command.tb.clear.player -command.tb.remove -command.tb.remove.player -command.tb.restore -command.tb.restore.target -command.tb.restore.target.backpack_id -command.tb.unpack -command.tb.unpack.pos -command.tb.unpack.target -command.team -command.team.add -command.team.add.team -command.team.add.team.displayName -command.team.empty -command.team.empty.team -command.team.join -command.team.join.team -command.team.join.team.members -command.team.leave -command.team.leave.members -command.team.list -command.team.list.team -command.team.modify -command.team.modify.team -command.team.modify.team.collisionRule -command.team.modify.team.collisionRule.always -command.team.modify.team.collisionRule.never -command.team.modify.team.collisionRule.pushOtherTeams -command.team.modify.team.collisionRule.pushOwnTeam -command.team.modify.team.color -command.team.modify.team.color.value -command.team.modify.team.deathMessageVisibility -command.team.modify.team.deathMessageVisibility.always -command.team.modify.team.deathMessageVisibility.hideForOtherTeams -command.team.modify.team.deathMessageVisibility.hideForOwnTeam -command.team.modify.team.deathMessageVisibility.never -command.team.modify.team.displayName -command.team.modify.team.displayName.displayName -command.team.modify.team.friendlyFire -command.team.modify.team.friendlyFire.allowed -command.team.modify.team.nametagVisibility -command.team.modify.team.nametagVisibility.always -command.team.modify.team.nametagVisibility.hideForOtherTeams -command.team.modify.team.nametagVisibility.hideForOwnTeam -command.team.modify.team.nametagVisibility.never -command.team.modify.team.prefix -command.team.modify.team.prefix.prefix -command.team.modify.team.seeFriendlyInvisibles -command.team.modify.team.seeFriendlyInvisibles.allowed -command.team.modify.team.suffix -command.team.modify.team.suffix.suffix -command.team.remove -command.team.remove.team -command.teammsg -command.teammsg.message -command.teleport -command.teleport.destination -command.teleport.location -command.teleport.targets -command.teleport.targets.destination -command.teleport.targets.location -command.teleport.targets.location.facing -command.teleport.targets.location.facing.entity -command.teleport.targets.location.facing.entity.facingEntity -command.teleport.targets.location.facing.entity.facingEntity.facingAnchor -command.teleport.targets.location.facing.facingLocation -command.teleport.targets.location.rotation -command.teleport_last -command.teleport_last.player -command.tellraw -command.tellraw.targets -command.tellraw.targets.message -command.tfc -command.tfc.clearworld -command.tfc.clearworld.radius -command.tfc.clearworld.radius.preset -command.tfc.climateChunkUpdate -command.tfc.count -command.tfc.count.radius -command.tfc.count.radius.block -command.tfc.forge -command.tfc.forge.bonus -command.tfc.heat -command.tfc.heat.value -command.tfc.locate -command.tfc.locate.biome -command.tfc.locate.biome.biome -command.tfc.locate.vein -command.tfc.locate.vein.vein -command.tfc.locate.vein.vein.max_y -command.tfc.locate.volcano -command.tfc.player -command.tfc.player.target -command.tfc.player.target.add -command.tfc.player.target.add.hunger -command.tfc.player.target.add.hunger.value -command.tfc.player.target.add.saturation -command.tfc.player.target.add.saturation.value -command.tfc.player.target.add.water -command.tfc.player.target.add.water.value -command.tfc.player.target.query -command.tfc.player.target.query.hunger -command.tfc.player.target.query.nutrition -command.tfc.player.target.query.saturation -command.tfc.player.target.query.water -command.tfc.player.target.reset -command.tfc.player.target.reset.hunger -command.tfc.player.target.reset.saturation -command.tfc.player.target.reset.water -command.tfc.player.target.set -command.tfc.player.target.set.hunger -command.tfc.player.target.set.hunger.value -command.tfc.player.target.set.saturation -command.tfc.player.target.set.saturation.value -command.tfc.player.target.set.water -command.tfc.player.target.set.water.value -command.tfc.propick -command.tfc.propick.clearworld -command.tfc.propick.scan -command.tfc.tree -command.tfc.tree.pos -command.tfc.tree.pos.wood -command.tfc.tree.pos.wood.variant -command.time -command.time.add -command.time.add.days -command.time.add.days.value -command.time.add.months -command.time.add.months.value -command.time.add.ticks -command.time.add.ticks.value -command.time.add.years -command.time.add.years.value -command.time.query -command.time.query.calendarticks -command.time.query.day -command.time.query.daytime -command.time.query.gametime -command.time.query.ticks -command.time.set -command.time.set.day -command.time.set.midnight -command.time.set.monthlength -command.time.set.monthlength.value -command.time.set.night -command.time.set.noon -command.title -command.title.targets -command.title.targets.actionbar -command.title.targets.actionbar.title -command.title.targets.clear -command.title.targets.reset -command.title.targets.subtitle -command.title.targets.subtitle.title -command.title.targets.times -command.title.targets.times.fadeIn -command.title.targets.times.fadeIn.stay -command.title.targets.times.fadeIn.stay.fadeOut -command.title.targets.title -command.title.targets.title.title -command.tpa -command.tpa.target -command.tpaccept -command.tpaccept.id -command.tpahere -command.tpahere.target -command.tpdeny -command.tpdeny.id -command.tpx -command.tpx.dimension -command.trashcan -command.trigger -command.trigger.objective -command.trigger.objective.add -command.trigger.objective.add.value -command.trigger.objective.set -command.trigger.objective.set.value -command.unmute -command.unmute.player -command.warp -command.warp.name -command.weather -command.weather.clear -command.weather.clear.duration -command.weather.rain -command.weather.rain.duration -command.weather.rain.duration.intensity -command.weather.thunder -command.weather.thunder.duration -command.weather.thunder.duration.intensity -command.worldborder -command.worldborder.add -command.worldborder.add.distance -command.worldborder.add.distance.time -command.worldborder.center -command.worldborder.center.pos -command.worldborder.damage -command.worldborder.damage.amount -command.worldborder.damage.amount.damagePerBlock -command.worldborder.damage.buffer -command.worldborder.damage.buffer.distance -command.worldborder.get -command.worldborder.set -command.worldborder.set.distance -command.worldborder.set.distance.time -command.worldborder.warning -command.worldborder.warning.distance -command.worldborder.warning.distance.distance -command.worldborder.warning.time -command.worldborder.warning.time.time diff --git a/defaultconfigs/ftbranks/players.snbt b/defaultconfigs/ftbranks/players.snbt deleted file mode 100644 index ffcd4415b..000000000 --- a/defaultconfigs/ftbranks/players.snbt +++ /dev/null @@ -1 +0,0 @@ -{ } diff --git a/defaultconfigs/ftbranks/ranks.snbt b/defaultconfigs/ftbranks/ranks.snbt deleted file mode 100644 index 16cfe32af..000000000 --- a/defaultconfigs/ftbranks/ranks.snbt +++ /dev/null @@ -1,26 +0,0 @@ -{ - member: { - name: "Player" - power: 1 - condition: "always_active" - ftbranks.name_format: "{name}" - ftbchunks.max_claimed: 50 - ftbchunks.max_force_loaded: 3 - command.trashcan: true - } - vip: { - name: "VIP" - power: 50 - ftbranks.name_format: "&b{name}&r" - ftbchunks.max_claimed: 150 - ftbchunks.max_force_loaded: 5 - } - admin: { - name: "Admin" - power: 1000 - condition: "op" - ftbranks.name_format: "&c{name}&r" - ftbchunks.max_claimed: 1000 - ftbchunks.max_force_loaded: 10 - } -} diff --git a/defaultconfigs/openpartiesandclaims-server.toml b/defaultconfigs/openpartiesandclaims-server.toml deleted file mode 100644 index 0b3d1366c..000000000 --- a/defaultconfigs/openpartiesandclaims-server.toml +++ /dev/null @@ -1,274 +0,0 @@ - -[serverConfig] - #The default language used for server-side localization for players that don't have the mod installed. - defaultLanguage = "en_us" - #How often to auto-save modified data, e.g. parties, claims, player configs (in minutes). - #Range: > 1 - autosaveInterval = 10 - #How many sub-configs (sub-claims) can each player create. - #Range: 0 ~ 1024 - playerSubConfigLimit = 64 - #The permission system to use for everything that requires permission checks (e.g. permission_api, ftb_ranks, luck_perms, prometheus). Non-built-in permission systems can be registered through the API with an addon. - permissionSystem = "ftb_ranks" - #The player party system to prefer and use for anything that can't support multiple systems (e.g. default, ftb_teams, argonauts, argonauts_guilds). Non-built-in party systems can be registered through the API with an addon. - primaryPartySystem = "ftb_teams" - #A list of options in the player config that individual players can reconfigure. If an option is in neither of the configurable option lists, - #then the value in the default player config is used across the server. Check the default player config .toml file for the option names. - playerConfigurablePlayerConfigOptions = ["claims.protectClaimedChunks", "claims.forceload.enabled", "claims.name", "claims.color", "claims.protection.fromParty", "claims.protection.fromAllyParties", "claims.protection.buttonsFromProjectiles", "claims.protection.targetsFromProjectiles", "claims.protection.platesFromPlayers", "claims.protection.platesFromMobs", "claims.protection.platesFromOther", "claims.protection.tripwireFromPlayers", "claims.protection.tripwireFromMobs", "claims.protection.tripwireFromOther", "claims.protection.cropTrample", "claims.protection.playerLightning", "claims.protection.fromFrostWalking", "claims.protection.entitiesFromPlayers", "claims.protection.entitiesFromMobs", "claims.protection.entitiesFromOther", "claims.protection.entitiesRedirect", "claims.protection.entitiesFromExplosions", "claims.protection.entitiesFromFire", "claims.protection.netherPortalsPlayers", "claims.protection.netherPortalsMobs", "claims.protection.netherPortalsOther", "claims.protection.fluidBarrier", "claims.protection.dispenserBarrier", "claims.protection.pistonBarrier", "claims.protection.itemTossPlayers", "claims.protection.itemTossMobs", "claims.protection.itemTossOther", "claims.protection.itemTossRedirect", "claims.protection.mobLoot", "claims.protection.playerDeathLoot", "claims.protection.itemPickupPlayers", "claims.protection.itemPickupMobs", "claims.protection.itemPickupRedirect", "claims.protection.xpPickup", "claims.protection.raids", "claims.protection.naturalSpawnHostile", "claims.protection.naturalSpawnFriendly", "claims.protection.spawnersHostile", "claims.protection.spawnersFriendly", "claims.protection.projectileHitHostileSpawn", "claims.protection.projectileHitFriendlySpawn", "parties.name", "parties.shareLocationWithParty", "parties.shareLocationWithMutualAllyParties", "parties.receiveLocationsFromParty", "parties.receiveLocationsFromMutualAllyParties", "claims.protection.exceptionGroups.block.interact.Controls", "claims.protection.exceptionGroups.block.interact.Doors", "claims.protection.exceptionGroups.block.interact.Chests", "claims.protection.exceptionGroups.block.interact.Barrels", "claims.protection.exceptionGroups.block.interact.Ender_Chests", "claims.protection.exceptionGroups.block.interact.Shulker_Boxes", "claims.protection.exceptionGroups.block.interact.Furnaces", "claims.protection.exceptionGroups.block.interact.Hoppers", "claims.protection.exceptionGroups.block.interact.Dispenser-like", "claims.protection.exceptionGroups.block.interact.Anvils", "claims.protection.exceptionGroups.block.interact.Beds", "claims.protection.exceptionGroups.block.interact.Beacons", "claims.protection.exceptionGroups.block.interact.Enchanting_Tables", "claims.protection.exceptionGroups.block.break.Crops", "claims.protection.exceptionGroups.entity.interact.Traders", "claims.protection.exceptionGroups.entity.handInteract.Item_Frames", "claims.protection.exceptionGroups.entity.interact.Armor_Stands", "claims.protection.exceptionGroups.entity.break.Livestock", "claims.protection.exceptionGroups.entity.blockAccess.Villagers", "claims.protection.exceptionGroups.entity.entityAccess.Zombies", "claims.protection.exceptionGroups.entity.droppedItemAccess.Villagers", "claims.protection.exceptionGroups.entity.droppedItemAccess.Piglins", "claims.protection.exceptionGroups.entity.droppedItemAccess.Foxes", "claims.protection.exceptionGroups.item.interact.Books", "claims.protection.exceptionGroups.entity.barrier.Ender_Pearls", "/*remove comment to enable*/claims.protection.exceptionGroups.entity.barrier.Players"] - #A list of additional options in the player config that OPs can reconfigure for players. - #This is meant for options that should be configured per player but not by the players. - #If an option is in neither of the configurable option lists, then the value in the default player config is used across the server. - #Check the default player config .toml file for the option names. - opConfigurablePlayerConfigOptions = ["claims.bonusChunkClaims", "claims.bonusChunkForceloads"] - - [serverConfig.parties] - #Whether the parties part of this mod is enabled. - enabled = false - #The maximum number of members in a party. Existing members are not removed if the limit is reduced. - #Range: > 1 - maxPartyMembers = 64 - #The maximum number of allies for a party. Existing allies are not removed if the limit is reduced. - #Range: > 0 - maxPartyAllies = 64 - #The maximum number of invites to a party. Existing invites are not removed if the limit is reduced. - #Range: > 1 - maxPartyInvites = 16 - #For how long a party (members) can stay completely inactive on the server until it is deleted (in hours). This improves performance for servers running for years. - #Range: > 1 - partyExpirationTime = 168 - #How often to check for expired parties in order to remove them (in minutes). The interval is effectively rounded up to a multiple of 10 minutes. - #Range: > 10 - partyExpirationCheckInterval = 360 - - [serverConfig.claims] - #Whether the claims part of this mod is enabled. - enabled = true - #For how long a player can stay completely inactive on the server until their claims are expired (in hours). This improves performance for servers running for years. - #Range: > 1 - playerClaimsExpirationTime = 4380 - #How often to check for expired player chunk claims in order to remove them (in minutes). The interval is effectively rounded up to a multiple of 10 minutes. - #Range: > 10 - playerClaimsExpirationCheckInterval = 360 - #Whether to convert expired player chunk claims to "expired claims" instead of completely freeing them. This shouldn't be too bad for performance because it still reduces the number of unique claims. - playerClaimsConvertExpiredClaims = true - #The maximum number of chunks that a player can claim. Additional claims can be configured in the player config. - #This value can be overridden with a player permission. - #Range: > 0 - maxPlayerClaims = 50 - #The maximum number of claimed chunks that a player can forceload. Additional forceloads can be configured in the player config. - #This value can be overridden with a player permission. - #Range: > 0 - maxPlayerClaimForceloads = 3 - #The permission that should override the default "maxPlayerClaims" value. Set it to an empty string to never check permissions. The used permission system can be configured with "permissionSystem". - maxPlayerClaimsPermission = "ftbchunks.max_claimed" - #The permission that should override the default "maxPlayerClaimForceloads" value. Set it to an empty string to never check permissions. - #The permission override only takes effect after the player logs in at least once after a server (re)launch, so it is recommended to keep all permission-based forceload limits equal to or greater than "maxPlayerClaimForceloads". - #The used permission system can be configured with "permissionSystem". - maxPlayerClaimForceloadsPermission = "ftbchunks.max_force_loaded" - #The permission that gives non-OP players the ability to make server claims and enable server claim mode. The used permission system can be configured with "permissionSystem". - serverClaimPermission = "xaero.pac_server_claims" - #The permission that gives non-OP players the ability to enable claim admin mode. The used permission system can be configured with "permissionSystem". - adminModePermission = "xaero.pac_admin_mode" - #The maximum distance on the X or Z axis (forming a square) that a chunk can be claimed at by a player. - #Range: > 0 - maxClaimDistance = 5 - #The type of the list defined in "claimableDimensionsList". ONLY - include only the listed dimensions. ALL_BUT - include all but the listed dimensions. - #Allowed Values: ONLY, ALL_BUT - claimableDimensionsListType = "ALL_BUT" - #Dimensions to include/exclude from being claimable, depending on the list type in "claimableDimensionsListType". - #For example ["minecraft:overworld", "minecraft:the_nether"]. - #By default the list is empty and of type ALL_BUT, meaning that all dimensions are claimable. - claimableDimensionsList = [] - #Whether to allow existing player claims to stay active in unclaimable dimensions which were previously claimable. - allowExistingClaimsInUnclaimableDimensions = true - #Whether to allow existing player forceloads to stay active in unclaimable dimensions which were previously claimable. Only relevant if existing claims are allowed. - allowExistingForceloadsInUnclaimableDimensions = false - #Whether to synchronize world chunk claims to the game clients. Enables client-side mods to access the claims data, e.g. to display it on a map. - #ALL - all claims are synced. OWNED_ONLY - only the claims that the client player owns and server claims are synced. NOT_SYNCED - claims are not synced. - #Allowed Values: NOT_SYNCED, OWNED_ONLY, ALL - claimsSynchronization = "ALL" - - [serverConfig.claims.protection] - #The type of the list defined in "friendlyChunkProtectedEntityList". ONLY - include only the listed entities. ALL_BUT - include all but the listed entities. - #Allowed Values: ONLY, ALL_BUT - friendlyChunkProtectedEntityListType = "ALL_BUT" - #Friendly entities to fully include/exclude in chunk protection, depending on the list type in "friendlyChunkProtectedEntityListType". Supports entity type tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["*:villager", "minecraft:m(ule|ooshroom)", "#minecraft:axolotl_hunt_targets"]. - #By default the list is empty with the type set to ALL_BUT, which means that all friendly entities are included. - friendlyChunkProtectedEntityList = ["minecraft:boat"] - #The type of the list defined in "hostileChunkProtectedEntityList". ONLY - include only the listed entities. ALL_BUT - include all but the listed entities. - #Allowed Values: ONLY, ALL_BUT - hostileChunkProtectedEntityListType = "ONLY" - #Hostile entities to fully include/exclude in chunk protection, depending on the list type in "hostileChunkProtectedEntityListType". Supports entity type tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(|wither_)skeleton", "minecraft:zombie(_villager|)", "#minecraft:raiders"] - hostileChunkProtectedEntityList = [] - #No longer a working option. Please transfer anything you still have here to "forcedBlockProtectionExceptionList" or "blockProtectionOptionalExceptionGroups", - #but keep in mind that those options work differently and please read their comments. - #This option will be completely removed on the full release of the mod. - blockProtectionExceptionList = [] - #No longer a working option. Please transfer anything you still have here to "forcedEntityProtectionExceptionList" or "entityProtectionOptionalExceptionGroups", - #but keep in mind that those options work differently and please read their comments. - #This option will be completely removed on the full release of the mod. - entityProtectionExceptionList = [] - #No longer a working option. Please transfer anything you still have here to "forcedEntityClaimBarrierList" or "entityClaimBarrierOptionalGroups", - #but keep in mind that those options work differently and please read their comments. - #This option will be completely removed on the full release of the mod. - entityClaimBarrierList = [] - #Blocks to partially exclude from chunk protection. Supports block tags. - #Just a block/tag ID in the list, e.g. "minecraft:lever" allows block interaction across the server if the item in the used hand isn't blocking it. - #Prefix "hand$" is the same as no prefix but enforces an empty hand requirement in protected chunks. Prefix "break$" allows breaking the block(s). - #Prefix "anything$" is the same as no prefix but allows interaction with any item held in the hand. Please make sure that no item does anything bad when used at a block with such an exception. - #Add the same block/tag multiple times to use multiple prefixes. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:lever", "minecraft:*_button", "break$minecraft:*_button", "break$minecraft:(*_|)sand"] - forcedBlockProtectionExceptionList = ["minecraft:crafting_table"] - #Custom groups of blocks that a player/claim config should be able to make protection exceptions for. Each group can consist of multiple blocks and block tags. - #A group without a prefix creates a player config option for the right-click interaction with the group blocks. The format for a block group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-DIRT35{minecraft:dirt, minecraft:grass_block, minecraft:(oak|spruce)_*}". - #A group can be prefixed with "hand$" to create an option for the right-click interaction with an enforced empty hand requirement or "break$" for breaking the group blocks. - #Moreover, prefix "anything$" creates an option for the right-click interaction with any item held in the hand, not just allowed items. Please make sure that no item does anything - #bad when used at a block with such an exception. - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - blockProtectionOptionalExceptionGroups = ["Controls{minecraft:lever, #minecraft:buttons}", "Doors{#minecraft:doors, #minecraft:fence_gates, #forge:fence_gates, #minecraft:trapdoors}", "Chests{minecraft:chest, minecraft:trapped_chest, #forge:chests/wooden}", "Barrels{minecraft:barrel, #forge:barrels}", "Ender_Chests{minecraft:ender_chest, #forge:chests/ender}", "Shulker_Boxes{#minecraft:shulker_boxes}", "Furnaces{minecraft:furnace, minecraft:blast_furnace, minecraft:smoker}", "Hoppers{minecraft:hopper}", "Dispenser-like{minecraft:dispenser, minecraft:dropper}", "Anvils{#minecraft:anvil}", "Beds{#minecraft:beds}", "Beacons{minecraft:beacon}", "Enchanting_Tables{minecraft:enchanting_table}", "break$Crops{#minecraft:crops}"] - #Entities to partially exclude from chunk protection. Supports entity type tags. - #Just an entity/tag ID in the list, e.g. "minecraft:horse" allows entity interaction across the server if the item in the used hand isn't blocking it. - #Prefix "hand$" is the same as no prefix but enforces an empty hand requirement in protected chunks. Prefix "break$" allows killing the entities across the server. - #Prefix "anything$" is the same as no prefix but allows interaction with any item held in the hand. Please make sure that no item does anything bad when used at an entity with such an exception. - #Add the same entity/tag multiple times to use multiple prefixes. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:villager", "break$minecraft:villager", "break$minecraft:(trader_|)llama"] - forcedEntityProtectionExceptionList = ["minecraft:minecart"] - #Custom groups of entities that a player/claim config should be able to make protection exceptions for. Each group can consist of multiple entities and entity tags. - #A group without a prefix creates a player config option for the right-click interaction with the group entities. The format for an entity group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". - #A group can be prefixed with "hand$" to create an option for the right-click interaction with an enforced empty hand requirement or "break$" for destroying the group entities. - #Moreover, prefix "anything$" creates an option for the right-click interaction with any item held in the hand, not just allowed items. Please make sure that no item does anything - #bad when used at an entity with such an exception. - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - entityProtectionOptionalExceptionGroups = ["Traders{minecraft:villager, minecraft:wandering_trader}", "hand$Item_Frames{minecraft:item_frame}", "break$Livestock{minecraft:cow, minecraft:mooshroom, minecraft:sheep, minecraft:chicken, minecraft:pig, minecraft:rabbit, minecraft:goat}", "Armor_Stands{minecraft:armor_stand}"] - #Entities that are prevented from entering the claim. Supports entity type tags. An entity/tag ID in the list, e.g. "minecraft:falling_block" prevents the entities from entering. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. For example: "minecraft:zombie(_villager|)". - forcedEntityClaimBarrierList = ["minecraft:falling_block", "supplementaries:slingshot_projectile"] - #Custom groups of entities that a player/claim config should be able to enable a barrier for. Each group can consist of multiple entities and entity tags. - #Each group creates a player config option for controlling the entity barrier. The format for a entity group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{#minecraft:raiders, minecraft:zombie(_villager|)}". - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - entityClaimBarrierOptionalGroups = ["Players{minecraft:player}", "Ender_Pearls{minecraft:ender_pearl}"] - #Entities that can bypass all block protection. Supports entity type tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - entitiesAllowedToGrief = ["minecraft:sheep"] - #Entities that can bypass all protection of other entities. Supports entity type tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - entitiesAllowedToGriefEntities = [] - #Entities that can bypass all dropped item protection. Supports entity type tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - entitiesAllowedToGriefDroppedItems = [] - #(Forge-only option) Mobs that can grief entities/items but not blocks. This list is used when overriding the vanilla "mob griefing" game rule value. - #By default, the mod assumes that any "mob griefing" game rule check is meant for block protection. - #This means that the "Protect Blocks From Mobs" option might cause entity or item protection, if that's what the mob is trying to affect. - #By adding a mob to this list, you're removing the block protection check for it during the "mob griefing" game rule check. - #Supports entity type tags. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:*illager", "minecraft:(v|p)illager", "#minecraft:raiders"] - nonBlockGriefingMobs = [] - #(Forge-only option) Mobs that can grief entities in ways other than attacking them, e.g. how evokers can change the color of sheep. This list is used when overriding the vanilla "mob griefing" game rule value. - #By default, the mod assumes that any "mob griefing" game rule check is meant for block protection only. Add a mob to this list if you want the entity protection option to be checked as well when the rule is checked. - #Check out the "nonBlockGriefingMobs" option if you want to also remove the default block protection check for the mob. - #Supports entity type tags. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - entityGriefingMobs = [] - #(Forge-only option) Mobs that can grief dropped items. This list is used when overriding the vanilla "mob griefing" game rule value. - #By default, the mod assumes that any "mob griefing" game rule check is meant for block protection only. Add a mob to this list if you want the item pickup protection option to be checked as well when the rule is checked. - #This mod should detect most mobs picking up items by default, but if it doesn't already detect a specific mob, this option might help. - #Check out the "nonBlockGriefingMobs" option if you want to also remove the default block protection check for the mob. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - droppedItemGriefingMobs = [] - #Custom groups of entities that a player/claim config should be able to make block access exceptions for (e.g. letting sheep eat grass or endermen take blocks). Each group can consist of multiple entities and entity tags. - #The format for an entity group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - blockAccessEntityGroups = ["Villagers{minecraft:villager}"] - #Custom groups of entities that a player/claim config should be able to make entity access exceptions for (e.g. letting zombies kill things). - #The groups should consist of entities that are the ones accessing other entities. The groups should not contain entities that are being accessed. Check out the "entityProtectionOptionalExceptionGroups" option for that. - #Each group can consist of multiple entities and entity tags. The format for an entity group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - entityAccessEntityGroups = ["Zombies{minecraft:zombie, minecraft:zombie_villager, minecraft:husk, minecraft:drowned}"] - #Custom groups of entities that a player/claim config should be able to make dropped item access exceptions for (e.g. letting piglins pick up gold). - #The groups should consist of entities that are the ones trying to pick up items, not consist of specific items. - #Each group can consist of multiple entities and entity tags. The format for an entity group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-GUYS98{minecraft:pig, minecraft:c(ow|at), #minecraft:beehive_inhabitors}". - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - droppedItemAccessEntityGroups = ["Villagers{minecraft:villager}", "Piglins{minecraft:piglin}", "Foxes{minecraft:fox}"] - #A list of fake players (UUIDs or names) that shouldn't be affected by any chunk claim protection if they try to access a chunk with building protection compatible with - #the chunk that the fake player's origin block is positioned in, e.g. claims with the same owner and block protection option values. - #This works great for fake players that are bound to the position of a specific placed block (origin block). Moreover, the mod supports fake players placed at a block - #next to the origin block, even if that means entering another chunk, e.g. in the case of the Integrated Tunnels mod, or if the origin block is touching the target block. - #The mod will try all positions next to the target block and the fake player as the possible position of the fake player origin block. - #This will always protect the target block if it or the fake player touch a claim with incompatible build protection. Avoid building on such claim edges. - #However, some fake players' origin blocks can be nowhere near the fake player or the target block, e.g. in the case of the Create mod, or there might be no origin block at all, - #e.g. NPCs that can move around. In this case, the mods that use such fake players require explicit support to be implemented. Although they might also sometimes - #be supported by default, if the fake players use UUIDs of actual players. - #Explicit support exists for the Create mod (requires an extension on Fabric) and you are not required to add anything to this list. - #Make sure to always test that claim edges are protected from outside interaction by fake players that you add to this list. - #Wondering where to get the UUIDs or usernames of specific fake players? You can check the source code of the mods that use them or politely ask the mod authors. - #For example ["41C82C87-7AfB-4024-BB57-13D2C99CAE77", "FakePlayerName"] - staticFakePlayers = ["[IntegratedTunnels]"] - #A list of Java classes of fake players that should be excluded from claim protection exceptions given to fake players with the "staticFakePlayers" option - #or built-in fake player support, like in the case of Create mod deployers. - #This option is meant for fake players similar to ComputerCraft's turtles, which take the UUID of the player that places them. It becomes a problem when a turtle takes - #the UUID of a fake player from "staticFakePlayers" or a deployer because the turtle then gets the same privileges without actually being stationary itself nor a deployer. - #Adding classes here should not break support of fake players that take the UUID of their owner. It simply takes away privileges which aren't meant for them. - #For example ["dan200.computercraft.shared.turtle.core.TurtlePlayer"] - staticFakePlayerClassExceptions = ["dan200.computercraft.shared.turtle.core.TurtlePlayer"] - #By default, right-click use of some items is allowed in protected chunks, e.g. swords, pickaxes, bows, shield, tridents, splash potions, to let the players protect themselves or interact with some blocks/entities. - #To remove such exceptions for specific items, add them to this list. This list applies to both using an item at air and using it at a block/entity. Supports item tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:trident", "minecraft:shield", "minecraft:(oak|spruce)_boat", "#minecraft:boats"] - additionalBannedItemsList = ["supplementaries:slingshot"] - #By default, most item right-click uses are disabled in protected chunks. To make an exception for a specific item, add it to this list. This option has a higher priority than "additionalBannedItemsList". - #This list applies to both using an item at air and using it at a block/entity. Supports item tags. Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:fishing_rod", "minecraft:ender_pearl", "minecraft:(red|green)_bed", "#minecraft:beds"] - itemUseProtectionExceptionList = ["minecraft:firework_rocket"] - #Custom groups of items that a player/claim config should be able to make protection exceptions for. Each group can consist of multiple items and item tags. - #Each group creates a player config option for the right-click use of the group items. The format for an item group is {}. - #The group ID should consist of at most 32 characters that are letters A-Z, numbers 0-9 or the - and _ characters, e.g. "ePiC-stuff98{minecraft:(writable|written)_book, minecraft:*_book, #minecraft:compasses}". - #The player config options created for the groups, like regular options, must be added in the "playerConfigurablePlayerConfigOptions" list for players to have access to them. - #The exact paths of the added options can be found in the default player config file after you start the server. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - itemUseProtectionOptionalExceptionGroups = ["Books{minecraft:written_book, minecraft:writable_book}"] - #Items that are completely banned from right-click usage on the server, claimed or not. This list applies to both using an item at air and using it at a block/entity. Supports item tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:trident", "minecraft:shield", "minecraft:(oak|spruce)_boat", "#minecraft:boats"] - completelyDisabledItemInteractions = [] - #Blocks that are completely banned from being interacted with on the server, claimed or not. Does not affect block breaking. Supports block tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:dirt", "minecraft:*_table", "minecraft:(cartography|fletching)_table", "#minecraft:buttons"] - completelyDisabledBlockInteractions = [] - #Entities that are completely banned from being interacted with on the server, claimed or not. Does not affect killing the entities. Supports entity tags. - #Supports patterns with special characters *, (, ) and |, where * matches anything, ( ) are used for grouping and | means OR. - #For example ["minecraft:(v|p)illager", "minecraft:*illager", "#minecraft:raiders"] - completelyDisabledEntityInteractions = [] - #Whether to completely disable frost walking on the server. Use this if the regular frost walking protection doesn't work, since there is no game rule for it. - completelyDisableFrostWalking = false - #Whether to ignore most detected entity collisions for boats. - #By default, boats detect entity collisions and handle them every tick for every entity that touches them, which is a lot. - #This can become very slow on a server if we also add the necessary claim protection checks in the mix. - #This option makes it so most collisions with boats are randomly ignored, which helps the performance without affecting gameplay all that much. - reducedBoatEntityCollisions = true - diff --git a/defaultconfigs/sophisticatedbackpacks-server.toml b/defaultconfigs/sophisticatedbackpacks-server.toml deleted file mode 100644 index 26b05d451..000000000 --- a/defaultconfigs/sophisticatedbackpacks-server.toml +++ /dev/null @@ -1,428 +0,0 @@ - -#Server Settings -[server] - #List of items that are not allowed to be put in backpacks - e.g. "minecraft:shulker_box" - disallowedItems = [] - #Determines if container items (those that override canFitInsideContainerItems to false) are able to fit in backpacks - containerItemsDisallowed = false - #List of blocks that inventory interaction upgrades can't interact with - e.g. "minecraft:shulker_box" - noInteractionBlocks = [] - #List of blocks that are not allowed to connect to backpacks - e.g. "refinedstorage:external_storage" - noConnectionBlocks = [] - #Turns on/off item fluid handler of backpack in its item form. There are some dupe bugs caused by default fluid handling implementation that manifest when backpack is drained / filled in its item form in another mod's tank and the only way to prevent them is disallowing drain/fill in item form altogether - itemFluidHandlerEnabled = true - #Determines whether player can right click on backpack that another player is wearing to open it. If off will turn off that capability for everyone and remove related settings from backpack. - allowOpeningOtherPlayerBackpacks = true - #Allows disabling item display settings. Primarily in cases where custom backpack model doesn't support showing the item. (Requires game restart to take effect) - itemDisplayDisabled = false - #Allows disabling logic that dedupes backpacks with the same UUID in players' inventory. This is here to allow turning off the logic just in case it would be causing performance issues. - tickDedupeLogicDisabled = false - #Determines if backpacks can be placed in container items (those that check for return value of canFitInsideContainerItems) - canBePlacedInContainerItems = false - - #Leather Backpack Settings - [server.leatherBackpack] - #Number of inventory slots in the backpack - #Range: 1 ~ 144 - inventorySlotCount = 27 - #Number of upgrade slots in the backpack - #Range: 0 ~ 10 - upgradeSlotCount = 1 - - #Iron Backpack Settings - [server.ironBackpack] - #Number of inventory slots in the backpack - #Range: 1 ~ 144 - inventorySlotCount = 54 - #Number of upgrade slots in the backpack - #Range: 0 ~ 10 - upgradeSlotCount = 2 - - #Gold Backpack Settings - [server.goldBackpack] - #Number of inventory slots in the backpack - #Range: 1 ~ 144 - inventorySlotCount = 81 - #Number of upgrade slots in the backpack - #Range: 0 ~ 10 - upgradeSlotCount = 3 - - #Diamond Backpack Settings - [server.diamondBackpack] - #Number of inventory slots in the backpack - #Range: 1 ~ 144 - inventorySlotCount = 108 - #Number of upgrade slots in the backpack - #Range: 0 ~ 10 - upgradeSlotCount = 5 - - #Netherite Backpack Settings - [server.netheriteBackpack] - #Number of inventory slots in the backpack - #Range: 1 ~ 144 - inventorySlotCount = 120 - #Number of upgrade slots in the backpack - #Range: 0 ~ 10 - upgradeSlotCount = 7 - - #Compacting Upgrade Settings - [server.compactingUpgrade] - #Number of Compacting Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Compacting Upgrade Settings - [server.advancedCompactingUpgrade] - #Number of Advanced Compacting Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Deposit Upgrade Settings - [server.depositUpgrade] - #Number of Deposit Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Deposit Upgrade Settings - [server.advancedDepositUpgrade] - #Number of Advanced Deposit Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Feeding Upgrade Settings - [server.feedingUpgrade] - #Number of Feeding Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Feeding Upgrade Settings - [server.advancedFeedingUpgrade] - #Number of Advanced Feeding Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Filter Upgrade Settings - [server.filterUpgrade] - #Number of Filter Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Filter Upgrade Settings - [server.advancedFilterUpgrade] - #Number of Advanced Filter Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Magnet Upgrade Settings - [server.magnetUpgrade] - #Number of Magnet Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - #Range around storage in blocks at which magnet will pickup items - #Range: 1 ~ 20 - magnetRange = 3 - - #Advanced Magnet Upgrade Settings - [server.advancedMagnetUpgrade] - #Number of Advanced Magnet Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - #Range around storage in blocks at which magnet will pickup items - #Range: 1 ~ 20 - magnetRange = 5 - - #Pickup Upgrade Settings - [server.pickupUpgrade] - #Number of Pickup Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Pickup Upgrade Settings - [server.advancedPickupUpgrade] - #Number of Advanced Pickup Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Refill Upgrade Settings - [server.refillUpgrade] - #Number of Refill Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 6 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Refill Upgrade Settings - [server.advancedRefillUpgrade] - #Number of Advanced Refill Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 12 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Restock Upgrade Settings - [server.restockUpgrade] - #Number of Restock Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - - #Advanced Restock Upgrade Settings - [server.advancedRestockUpgrade] - #Number of Advanced Restock Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Void Upgrade Settings - [server.voidUpgrade] - #Number of Void Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 9 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 3 - #Determines whether void upgrade allows voiding anything or it only has overflow option - voidAnythingEnabled = true - - #Advanced Void Upgrade Settings - [server.advancedVoidUpgrade] - #Number of Advanced Void Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 16 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - #Determines whether void upgrade allows voiding anything or it only has overflow option - voidAnythingEnabled = true - - #Stack Upgrade Settings - [server.stackUpgrade] - #List of items that are not supposed to stack in storage even when stack upgrade is inserted. Item registry names are expected here. - nonStackableItems = ["minecraft:bundle", "minecraft:shulker_box", "minecraft:white_shulker_box", "minecraft:orange_shulker_box", "minecraft:magenta_shulker_box", "minecraft:light_blue_shulker_box", "minecraft:yellow_shulker_box", "minecraft:lime_shulker_box", "minecraft:pink_shulker_box", "minecraft:gray_shulker_box", "minecraft:light_gray_shulker_box", "minecraft:cyan_shulker_box", "minecraft:purple_shulker_box", "minecraft:blue_shulker_box", "minecraft:brown_shulker_box", "minecraft:green_shulker_box", "minecraft:red_shulker_box", "minecraft:black_shulker_box"] - - #Smelting Upgrade Settings - [server.smeltingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - - #Smoking Upgrade Settings - [server.smokingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - - #Blasting Upgrade Settings - [server.blastingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - - #Auto-Smelting Upgrade Settings - [server.autoSmeltingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - #Number of input filter slots - #Range: 1 ~ 20 - inputFilterSlots = 8 - #Number of input filter slots displayed in a row - #Range: 1 ~ 6 - inputFilterSlotsInRow = 4 - #Number of fuel filter slots - #Range: 1 ~ 20 - fuelFilterSlots = 4 - #Number of fuel filter slots displayed in a row - #Range: 1 ~ 6 - fuelFilterSlotsInRow = 4 - - #Auto-Smoking Upgrade Settings - [server.autoSmokingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - #Number of input filter slots - #Range: 1 ~ 20 - inputFilterSlots = 8 - #Number of input filter slots displayed in a row - #Range: 1 ~ 6 - inputFilterSlotsInRow = 4 - #Number of fuel filter slots - #Range: 1 ~ 20 - fuelFilterSlots = 4 - #Number of fuel filter slots displayed in a row - #Range: 1 ~ 6 - fuelFilterSlotsInRow = 4 - - #Auto-Blasting Upgrade Settings - [server.autoBlastingUpgrade] - #Smelting speed multiplier (1.0 equals speed at which vanilla furnace smelts items) - #Range: 0.25 ~ 4.0 - smeltingSpeedMultiplier = 1.0 - #Fuel efficiency multiplier (1.0 equals speed at which it's used in vanilla furnace) - #Range: 0.25 ~ 4.0 - fuelEfficiencyMultiplier = 1.0 - #Number of input filter slots - #Range: 1 ~ 20 - inputFilterSlots = 8 - #Number of input filter slots displayed in a row - #Range: 1 ~ 6 - inputFilterSlotsInRow = 4 - #Number of fuel filter slots - #Range: 1 ~ 20 - fuelFilterSlots = 4 - #Number of fuel filter slots displayed in a row - #Range: 1 ~ 6 - fuelFilterSlotsInRow = 4 - - #Inception Upgrade Settings - [server.inceptionUpgrade] - #Allows / Disallows backpack upgrades to work with inventories of Backpacks in the Backpack with Inception Upgrade - upgradesUseInventoriesOfBackpacksInBackpack = true - #Allows / Disallows upgrades to be functional even when they are in Backpacks in the inventory of Backpack with Inception Upgrade - upgradesInContainedBackpacksAreFunctional = true - - #Tool Swapper Upgrade Settings - [server.toolSwapperUpgrade] - #Number of Tool Swapper Upgrade's filter slots - #Range: 1 ~ 20 - filterSlots = 8 - #Number of filter slots displayed in a row - #Range: 1 ~ 6 - slotsInRow = 4 - - #Tank Upgrade Settings - [server.tankUpgrade] - #Capacity in mB the tank upgrade will have per row of storage slots - #Range: 500 ~ 20000 - capacityPerSlotRow = 4000 - #Ratio that gets applied (multiplies) to inventory stack multiplier before this is applied to max energy of the battery and max in/out. Value lower than 1 makes stack multiplier affect the max energy less, higher makes it affect the max energy more. 0 turns off stack multiplier affecting battery upgrade - #Range: 0.0 ~ 5.0 - stackMultiplierRatio = 1.0 - #Cooldown between fill/drain actions done on fluid containers in tank slots. Only fills/drains one bucket worth to/from container after this cooldown and then waits again. - #Range: 1 ~ 100 - autoFillDrainContainerCooldown = 20 - #How much FE can be transfered in / out per operation. This is a base transfer rate and same as max capacity gets multiplied by number of rows in storage and stack multiplier. - #Range: 1 ~ 1000 - maxInputOutput = 20 - #Energy in FE the battery upgrade will have per row of storage slots - #Range: 500 ~ 50000 - energyPerSlotRow = 10000 - - #Pump Upgrade Settings - [server.pumpUpgrade] - #Number of fluid filter slots - #Range: 1 ~ 20 - filterSlots = 4 - #How much mB can be transfered in / out per operation. This is a base transfer rate that gets multiplied by number of rows in storage and stack multiplier. - #Range: 1 ~ 1000 - maxInputOutput = 20 - #Ratio that gets applied (multiplies) to inventory stack multiplier before this is applied to max input/output value. Value lower than 1 makes stack multiplier affect the capacity less, higher makes it affect the capacity more. 0 turns off stack multiplier affecting input/output - #Range: 0.0 ~ 5.0 - stackMultiplierRatio = 1.0 - - #Xp Pump Upgrade Settings - [server.xpPumpUpgrade] - #Whether xp pump can mend items with mending. Set false here to turn off the feature altogether. - mendingOn = true - #How many experience points at a maximum would be used to mend an item per operation (every 5 ticks and 1 xp point usually translates to 2 damage repaired). - #Range: 1 ~ 20 - maxXpPointsPerMending = 5 - - #Settings for Spawning Entities with Backpack - [server.entityBackpackAdditions] - #Chance of an entity spawning with Backpack - #Range: 0.0 ~ 1.0 - chance = 0.0 - #Turns on/off addition of loot into backpacks - addLoot = false - #Turns on/off buffing the entity that wears backpack with potion effects. These are scaled based on how much loot is added. - buffWithPotionEffects = true - #Turns on/off buffing the entity that wears backpack with additional health. Health is scaled based on backpack tier the mob wears. - buffHealth = true - #Turns on/off equiping the entity that wears backpack with armor. What armor material and how enchanted is scaled based on backpack tier the mob wears. - equipWithArmor = true - #Map of entities that can spawn with backpack and related loot tables (if adding a loot is enabled) in format of "EntityRegistryName|LootTableName" - entityLootTableList = [] - #List of music discs that are not supposed to be played by entities - discBlockList = [] - #Turns on/off a chance that the entity that wears backpack gets jukebox upgrade and plays a music disc. - playJukebox = true - #Determines whether backpack drops to fake players if killed by them in addition to real ones that it always drops to - dropToFakePlayers = false - #Chance of mob dropping backpack when killed by player - #Range: 0.0 ~ 1.0 - backpackDropChance = 0.5 - #Chance increase per looting level of mob dropping backpack - #Range: 0.0 ~ 0.3 - lootingChanceIncreasePerLevel = 0.15 - - [server.nerfs] - #Determines if too many backpacks in player's inventory cause slowness to the player - tooManyBackpacksSlowness = true - #Maximum number of backpacks in player's inventory that will not cause slowness - #Range: 1 ~ 27 - maxNumberOfBackpacks = 1 - #Ratio of slowness levels per every backpack above the maximum number allowed. (number of backpacks above the max gets multiplied by this number and ceiled) - #Range: 0.1 ~ 5.0 - slownessLevelsPerAdditionalBackpack = 1.0 - #Determines if active upgrades will only work in the backpack that's worn by the player. Active upgrades are for example magnet, pickup, cooking, feeding upgrades. - onlyWornBackpackTriggersUpgrades = true - diff --git a/defaultconfigs/tfc-server.toml b/defaultconfigs/tfc-server.toml deleted file mode 100644 index b92381f36..000000000 --- a/defaultconfigs/tfc-server.toml +++ /dev/null @@ -1,1264 +0,0 @@ - -[general] - # - # Enable nether portal creation - enableNetherPortals = false - # - # Forces a number of game rules to specific values. - # naturalRegeneration = false (Health regen is much slower and not tied to extra saturation) - # doInsomnia = false (No phantoms) - # doTraderSpawning = false (No wandering traders) - # doPatrolSpawning = false (No pillager patrols) - enableForcedTFCGameRules = true - # - # If true, TFC will stop time when no players are online on a running server. - # This prevents food from decaying, the calendar from advancing, and the sun from moving, etc. - # !!Disable at your own risk!! - enableTimeStopWhenServerEmpty = true - # - # Enable fire arrows and fireballs to spread fire and light blocks. - enableFireArrowSpreading = true - # - # Base probability for a firestarter to start a fire. May change based on circumstances - #Range: 0.0 ~ 1.0 - fireStarterChance = 0.5 - # - # Enable rat infestations for improperly stored food. - enableInfestations = true - # - # Enables TFC setting the moon phase based on the progress of the month. The etymology of the English word 'month' is in fact related to the word 'moon'. - enableCalendarSensitiveMoonPhases = true - # - # If false, vanilla lightning will not strike. - enableLightning = true - # - # If true, lightning has a chance of stripping bark off of trees. - enableLightningStrippingLogs = true - -[blocks] - - [blocks.farmland] - # - # If TFC soil blocks are able to be created into farmland using a hoe. - enableFarmlandCreation = true - - [blocks.grassPath] - # - # If TFC soil blocks are able to be created into (grass) path blocks using a hoe. - enableGrassPathCreation = true - - [blocks.grass] - # - # The chance that when grass that freezes and thaws it will have a loose rock rise to the surface, provided some conditions are met. Set to 0 to disable. - #Range: 0.0 ~ 1.0 - grassSpawningRocksChance = 0.001 - - [blocks.rootedDirt] - # - # If TFC rooted dirt blocks are able to be created into dirt blocks using a hoe. - enableRootedDirtToDirtCreation = true - - [blocks.snow] - # - # [Requires MC Restart] If snow will slow players that move on top of it similar to soul sand or honey. - enableSnowSlowEntities = true - # - # The chance that snow will accumulate during a storm. Lower values = faster snow accumulation, but also more block updates (aka lag). - #Range: > 1 - snowAccumulateChance = 20 - # - # The chance that snow will melt during a storm. Lower values = faster snow melting, but also more block updates (aka lag). - #Range: > 1 - snowMeltChance = 36 - - [blocks.plants] - # - # Chance for a plant to grow each random tick, does not include crops. Lower = slower growth. Set to 0 to disable random plant growth. - #Range: 0.0 ~ 1.0 - plantGrowthChance = 0.04 - # - # Chance for a twisting/weeping/kelp plant to grow each random tick, does not include crops. Lower = slower growth. Set to 0 to disable random plant growth. - #Range: 0.0 ~ 1.0 - plantLongGrowthChance = 0.03 - # - # Chance for a plant to spread each random tick, does not include crops. Lower = slower growth. Set to 0 to disable random plant spreading. - #Range: 0.0 ~ 1.0 - plantSpreadChance = 0.001 - # - # A movement multiplier for players moving through plants. Individual plants will use a ratio of this value, and lower = slower. - #Range: 0.0 ~ 1.0 - plantsMovementModifier = 0.2 - - [blocks.leaves] - # - # A movement multiplier for players moving through leaves. Lower = slower. - #Range: 0.0 ~ 1.0 - leavesMovementModifier = 0.4 - # - # If true, then leaves will decay slowly over time when disconnected from logs (vanilla behavior), as opposed to instantly (TFC behavior). - enableLeavesDecaySlowly = false - - [blocks.cobblestone] - # - # If mossy rock blocks will spread their moss to nearby rock blocks (bricks and cobble; stairs, slabs and walls thereof). - enableMossyRockSpreading = true - # - # The rate at which rock blocks will accumulate moss. Higher value = slower. - #Range: > 1 - mossyRockSpreadRate = 20 - - [blocks.chest] - # - # The largest (inclusive) size of an item that is allowed in a chest. - #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE - chestMaximumItemSize = "LARGE" - - [blocks.largeVessel] - # - # If true, large vessels will interact with in-world automation such as hoppers on a side-specific basis. - largeVesselEnableAutomation = true - # - # If true, large vessels will seal and unseal on redstone signal. - largeVesselEnableRedstoneSeal = true - - [blocks.torch] - # - # Number of ticks required for a torch to burn out (1000 = 1 in game hour = 50 seconds), default is 72 hours. Set to -1 to disable torch burnout. - #Range: > -1 - torchTicks = 72000 - - [blocks.candle] - # - # Number of ticks required for a candle to burn out (1000 = 1 in game hour = 50 seconds), default is 264 hours. Set to -1 to disable candle burnout. - #Range: > -1 - candleTicks = 264000 - - [blocks.dryingBricks] - # - # Number of ticks required for mud bricks to dry (1000 = 1 in game hour = 50 seconds), default is 24 hours. Set to -1 to disable drying. - #Range: > -1 - mudBricksTicks = 24000 - - [blocks.charcoal] - # - # Number of ticks required for charcoal pit to complete. (1000 = 1 in game hour = 50 seconds), default is 18 hours. - #Range: > -1 - charcoalTicks = 18000 - - [blocks.pitKiln] - # - # Number of ticks required for a pit kiln to burn out. (1000 = 1 in game hour = 50 seconds), default is 8 hours. - #Range: > 20 - pitKilnTicks = 8000 - # - # The maximum temperature which a pit kiln reaches. - #Range: > 0 - pitKilnTemperature1 = 1400 - - [blocks.crucible] - # - # Tank capacity of a crucible (in mB). - #Range: 0 ~ 2147483645 - crucibleCapacity = 4000 - # - # A modifier for how fast fluid containers empty into crucibles. Containers will empty 1 mB every (this) number of ticks. - #Range: > 1 - cruciblePouringRate = 4 - # - # A modifier for how fast fluid containers empty into crucibles when shift is held. Containers will empty 1 mB every (this) number of ticks. - #Range: > 1 - crucibleFastPouringRate = 1 - # - # If true, barrels will interact with in-world automation such as hoppers on a side-specific basis. - crucibleEnableAutomation = true - - [blocks.anvil] - # - # The number of pixels that the anvil's result may be off by, but still count as recipe completion. By default this requires pixel perfect accuracy. - #Range: 0 ~ 150 - anvilAcceptableWorkRange = 0 - # - # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Modestly Forged'. - #Range: 1.0 ~ 1.7976931348623157E308 - anvilModestlyForgedThreshold = 10.0 - # - # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Well Forged'. - #Range: 1.0 ~ 1.7976931348623157E308 - anvilWellForgedThreshold = 5.0 - # - # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Expertly Forged'. - #Range: 1.0 ~ 1.7976931348623157E308 - anvilExpertForgedThreshold = 2.0 - # - # The minimum efficiency (ratio of number of steps taken / minimum number of steps required) that must be passed for a item to be considered 'Perfectly Forged'. - #Range: 1.0 ~ 1.7976931348623157E308 - anvilPerfectlyForgedThreshold = 1.5 - # - # The multiplier to efficiency (mining speed) that is applied to a 'Perfectly Forged' tool. - #Range: 1.0 ~ 1000.0 - anvilMaxEfficiencyMultiplier = 1.8 - # - # The bonus to durability (probability to ignore a point of damage) that is applied to a 'Perfectly Forged' tool. Note that 1 ~ infinite durability, and 0 ~ no bonus. - #Range: 0.0 ~ 1.0 - anvilMaxDurabilityMultiplier = 0.5 - # - # The boost to attack damage that is applied to a 'Perfectly Forged' tool. - #Range: 1.0 ~ 1000.0 - anvilMaxDamageMultiplier = 1.5 - - [blocks.barrel] - # - # Tank capacity of a barrel (in mB). - #Range: > 0 - barrelCapacity = 10000 - # - # If true, barrels will interact with in-world automation such as hoppers on a side-specific basis. - barrelEnableAutomation = true - # - # If true, barrels will seal and unseal on redstone signal. - barrelEnableRedstoneSeal = true - - [blocks.composter] - # - # Number of ticks required for a composter in normal conditions to complete. (24000 = 1 game day), default is 12 days. - #Range: > 20 - composterTicks = 288000 - # - # If true, the composter will interact with in-world automation such as hoppers on a side-specific basis. - composterEnableAutomation = true - - [blocks.sluice] - # - # Number of ticks required for a sluice to process an item. (20 = 1 second), default is 5 seconds. - #Range: > 1 - sluiceTicks = 100 - - [blocks.lamp] - # - # Tank capacity of a lamp (in mB). - #Range: 0 ~ 2147483645 - lampCapacity = 250 - - [blocks.pumpkin] - # - # Enables the knifing of pumpkins to carve them. - enablePumpkinCarving = true - # - # Number of ticks required for a jack 'o lantern to burn out (1000 = 1 in game hour = 50 seconds), default is 108 hours. Set to -1 to disable burnout. - #Range: > -1 - jackOLanternTicks = 108000 - - [blocks.bloomery] - # - # Inventory capacity (in number of items per level of chimney) of the bloomery. - #Range: > 1 - bloomeryCapacity = 8 - # - # The maximum number of levels that can be built in a bloomery multiblock, for added capacity. - #Range: > 1 - bloomeryMaxChimneyHeight = 3 - - [blocks.blastFurnace] - # - # Inventory capacity (in number of items per level of chimney) of the blast furnace. - #Range: > 1 - blastFurnaceCapacity = 4 - # - # Fluid capacity (in mB) of the output tank of the blast furnace. - #Range: > 1 - blastFurnaceFluidCapacity = 10000 - # - # A multiplier for how fast the blast furnace consumes fuel. Higher values = faster fuel consumption. - #Range: > 1 - blastFurnaceFuelConsumptionMultiplier = 4 - # - # The maximum number of levels that can be built in a blast furnace multiblock, for added capacity. - #Range: > 1 - blastFurnaceMaxChimneyHeight = 5 - # - # If true, blast furnaces will interact with in-world automation such as hoppers on a side-specific basis. - blastFurnaceEnableAutomation = true - - [blocks.loom] - # - # If true, looms will interact with in-world automation such as hoppers on a side-specific basis. - loomEnableAutomation = true - - [blocks.thatch] - # - # A movement multiplier for players moving through thatch. Lower = slower. - #Range: 0.0 ~ 1.0 - thatchMovementMultiplier = 0.6 - - [blocks.thatchBed] - # - # If true, thatch beds can set the player's spawn. - enableThatchBedSpawnSetting = true - # - # If true, the player can sleep the night in a thatch bed - enableThatchBedSleeping = false - # - # If true, the player cannot sleep in thatch beds during thunderstorms. - thatchBedNoSleepInThunderstorms = true - - [blocks.placedItems] - # - # The maximum size of items that can be placed as 4 items on the ground with V. If an item is larger than this, it could still be placed with the 'maxPlacedLargeItemSize' option. - #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE - maxPlacedItemSize = "LARGE" - # - # The maximum size of items that can be placed as a single item on the ground with V. Items are checked to see if they're the right size to be placed in a group of 4 items first. - #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE - maxPlacedLargeItemSize = "HUGE" - # - # If true, players can place items on the ground with V. - enablePlacingItems = true - # - # If true, the tag 'tfc:placed_item_whitelist' will be checked to allow items to be in placed items and will exclude everything else. - usePlacedItemWhitelist = false - - [blocks.charcoalForge] - # - # If true, charcoal forges will interact with in-world automation such as hoppers on a side-specific basis. - charcoalForgeEnableAutomation = true - - [blocks.firePitEnableAutomation] - # - # If true, fire pits will interact with in-world automation such as hoppers on a side-specific basis. - firePitEnableAutomation = true - - [blocks.nestBox] - # - # If true, nest boxes will interact with in-world automation such as hoppers on a side-specific basis. - nestBoxEnableAutomation = true - - [blocks.powderKeg] - # - # If true, powder kegs can be lit and exploded. - powderKegEnabled = true - # - # If true, powder kegs will interact with in-world automation such as hoppers on a side-specific basis. - powderKegEnableAutomation = true - # - # A modifier to the strength of powderkegs when exploding. A max powderkeg explosion is 64, and all explosions are capped to this size no matter the value of the modifier. - #Range: 0.0 ~ 64.0 - powderKegStrengthModifier = 1.0 - - [blocks.hotWater] - # - # An amount that sitting in hot water will restore health, approximately twice per second. - #Range: 0.0 ~ 20.0 - hotWaterHealAmount = 0.08 - - [blocks.saplings] - # - # Modifier applied to the growth time of every (non-fruit) sapling. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. - #Range: 0.0 ~ 1.7976931348623157E308 - globalSaplingGrowthModifier = 1.0 - # - # Modifier applied to the growth time of every fruit tree sapling. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. - #Range: 0.0 ~ 1.7976931348623157E308 - globalFruitSaplingGrowthModifier = 1.0 - # - # Days for a acacia tree sapling to be ready to grow into a full tree. - #Range: > 0 - acaciaSaplingGrowthDays = 11 - # - # Days for a ash tree sapling to be ready to grow into a full tree. - #Range: > 0 - ashSaplingGrowthDays = 7 - # - # Days for a aspen tree sapling to be ready to grow into a full tree. - #Range: > 0 - aspenSaplingGrowthDays = 8 - # - # Days for a birch tree sapling to be ready to grow into a full tree. - #Range: > 0 - birchSaplingGrowthDays = 7 - # - # Days for a blackwood tree sapling to be ready to grow into a full tree. - #Range: > 0 - blackwoodSaplingGrowthDays = 8 - # - # Days for a chestnut tree sapling to be ready to grow into a full tree. - #Range: > 0 - chestnutSaplingGrowthDays = 7 - # - # Days for a douglas_fir tree sapling to be ready to grow into a full tree. - #Range: > 0 - douglas_firSaplingGrowthDays = 7 - # - # Days for a hickory tree sapling to be ready to grow into a full tree. - #Range: > 0 - hickorySaplingGrowthDays = 10 - # - # Days for a kapok tree sapling to be ready to grow into a full tree. - #Range: > 0 - kapokSaplingGrowthDays = 7 - # - # Days for a mangrove tree sapling to be ready to grow into a full tree. - #Range: > 0 - mangroveSaplingGrowthDays = 8 - # - # Days for a maple tree sapling to be ready to grow into a full tree. - #Range: > 0 - mapleSaplingGrowthDays = 7 - # - # Days for a oak tree sapling to be ready to grow into a full tree. - #Range: > 0 - oakSaplingGrowthDays = 10 - # - # Days for a palm tree sapling to be ready to grow into a full tree. - #Range: > 0 - palmSaplingGrowthDays = 7 - # - # Days for a pine tree sapling to be ready to grow into a full tree. - #Range: > 0 - pineSaplingGrowthDays = 7 - # - # Days for a rosewood tree sapling to be ready to grow into a full tree. - #Range: > 0 - rosewoodSaplingGrowthDays = 8 - # - # Days for a sequoia tree sapling to be ready to grow into a full tree. - #Range: > 0 - sequoiaSaplingGrowthDays = 18 - # - # Days for a spruce tree sapling to be ready to grow into a full tree. - #Range: > 0 - spruceSaplingGrowthDays = 7 - # - # Days for a sycamore tree sapling to be ready to grow into a full tree. - #Range: > 0 - sycamoreSaplingGrowthDays = 8 - # - # Days for a white_cedar tree sapling to be ready to grow into a full tree. - #Range: > 0 - white_cedarSaplingGrowthDays = 7 - # - # Days for a willow tree sapling to be ready to grow into a full tree. - #Range: > 0 - willowSaplingGrowthDays = 11 - # - # Days for a cherry tree sapling to be eligible to grow - #Range: > 0 - cherrySaplingGrowthDays1 = 8 - # - # Days for a green_apple tree sapling to be eligible to grow - #Range: > 0 - green_appleSaplingGrowthDays1 = 10 - # - # Days for a lemon tree sapling to be eligible to grow - #Range: > 0 - lemonSaplingGrowthDays1 = 8 - # - # Days for a olive tree sapling to be eligible to grow - #Range: > 0 - oliveSaplingGrowthDays1 = 12 - # - # Days for a orange tree sapling to be eligible to grow - #Range: > 0 - orangeSaplingGrowthDays1 = 7 - # - # Days for a peach tree sapling to be eligible to grow - #Range: > 0 - peachSaplingGrowthDays1 = 11 - # - # Days for a plum tree sapling to be eligible to grow - #Range: > 0 - plumSaplingGrowthDays1 = 8 - # - # Days for a red_apple tree sapling to be eligible to grow - #Range: > 0 - red_appleSaplingGrowthDays1 = 10 - # - # Days for a banana tree sapling to be eligible to grow - #Range: > 0 - bananaSaplingGrowthDays = 6 - - [blocks.crops] - # - # Modifier applied to the growth time of every crop. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. - #Range: 0.001 ~ 1000.0 - cropGrowthModifier = 1.0 - # - # Modifier applied to the expiry time of every crop. The modifier multiplies the ticks it takes to grow, so larger values cause longer growth times. For example, a value of 2 doubles the growth time. - #Range: 0.001 ~ 1000.0 - cropExpiryModifier = 1.0 - - [blocks.dispenser] - # - # If true, dispensers can light TFC devices. - dispenserEnableLighting = true - - [blocks.powderBowl] - # - # If true, powder bowls will interact with in-world automation such as hoppers on a side-specific basis. - powderBowlEnableAutomation = true - -[items] - - [items.smallVessel] - # - # Tank capacity of a small vessel (in mB). - #Range: 0 ~ 2147483645 - smallVesselCapacity = 3000 - # - # The largest (inclusive) size of an item that is allowed in a small vessel. - #Allowed Values: TINY, VERY_SMALL, SMALL, NORMAL, LARGE, VERY_LARGE, HUGE - smallVesselMaximumItemSize = "SMALL" - # - # If true, the vessel can be inserted and extracted from by clicking on it in the inventory. You may want to disable this if you have a inventory-tweaking mod - enableSmallVesselInventoryInteraction = true - - [items.molds] - # - # Tank capacity of a Fire Ingot mold (in mB). - #Range: 0 ~ 2147483645 - moldIngotCapacity = 144 - # - # Tank capacity of a Pickaxe Head mold (in mB). - #Range: 0 ~ 2147483645 - moldPickaxeHeadCapacity = 144 - # - # Tank capacity of a Propick Head mold (in mB). - #Range: 0 ~ 2147483645 - moldPropickHeadCapacity = 144 - # - # Tank capacity of a Axe Head mold (in mB). - #Range: 0 ~ 2147483645 - moldAxeHeadCapacity = 144 - # - # Tank capacity of a Shovel Head mold (in mB). - #Range: 0 ~ 2147483645 - moldShovelHeadCapacity = 144 - # - # Tank capacity of a Hoe Head mold (in mB). - #Range: 0 ~ 2147483645 - moldHoeHeadCapacity = 144 - # - # Tank capacity of a Chisel Head mold (in mB). - #Range: 0 ~ 2147483645 - moldChiselHeadCapacity = 144 - # - # Tank capacity of a Hammer Head mold (in mB). - #Range: 0 ~ 2147483645 - moldHammerHeadCapacity = 144 - # - # Tank capacity of a Saw Blade mold (in mB). - #Range: 0 ~ 2147483645 - moldSawBladeCapacity = 144 - # - # Tank capacity of a Javelin Head mold (in mB). - #Range: 0 ~ 2147483645 - moldJavelinHeadCapacity = 144 - # - # Tank capacity of a Sword Blade mold (in mB). - #Range: 0 ~ 2147483645 - moldSwordBladeCapacity = 288 - # - # Tank capacity of a Mace Head mold (in mB). - #Range: 0 ~ 2147483645 - moldMaceHeadCapacity = 288 - # - # Tank capacity of a Knife Blade mold (in mB). - #Range: 0 ~ 2147483645 - moldKnifeBladeCapacity = 144 - # - # Tank capacity of a Bell mold (in mB). - #Range: 0 ~ 2147483645 - moldScytheBladeCapacity = 144 - - [items.jug] - # - # Tank capacity of a ceramic jug (in mB). - #Range: 0 ~ 2147483645 - jugCapacity = 100 - # - # The chance a jug will break after drinking. - #Range: 0.0 ~ 1.0 - jugBreakChance = 0.02 - - [items.glassBottle] - # - # Tank capacity of a silica glass bottle (in mB). - #Range: 0 ~ 2147483645 - silicaGlassBottleCapacity = 500 - # - # The chance a silica glass bottle will break after drinking. - #Range: 0.0 ~ 1.0 - silicaGlassBottleBreakChance = 0.005 - # - # Tank capacity of a hematitic glass bottle (in mB). - #Range: 0 ~ 2147483645 - hematiticGlassBottleCapacity = 400 - # - # The chance a hematitic glass bottle will break after drinking. - #Range: 0.0 ~ 1.0 - hematiticGlassBottleBreakChance = 0.02 - # - # Tank capacity of a volcanic glass bottle (in mB). - #Range: 0 ~ 2147483645 - volcanicGlassBottleCapacity = 400 - # - # The chance a volcanic glass bottle will break after drinking. - #Range: 0.0 ~ 1.0 - volcanicGlassBottleBreakChance = 0.04 - # - # Tank capacity of a olivine glass bottle (in mB). - #Range: 0 ~ 2147483645 - olivineGlassBottleCapacity = 400 - # - # The chance a olivine glass bottle will break after drinking. - #Range: 0.0 ~ 1.0 - olivineGlassBottleBreakChance = 0.01 - - [items.woodenBucket] - # - # Tank capacity of a wooden bucket (in mB). - #Range: 0 ~ 2147483645 - woodenBucketCapacity = 1000 - -[mechanics] - - [mechanics.heat] - # - # A multiplier for how fast devices themselves heat up. Higher = faster. - #Range: 0.0 ~ 1.7976931348623157E308 - deviceHeatingModifier = 1.0 - # - # A multiplier for how fast items heat in devices. Higher = faster. - #Range: 0.0 ~ 1.7976931348623157E308 - itemHeatingModifier = 1.0 - # - # A multiplier for how fast items cool. Higher = faster. - #Range: 0.0 ~ 1.7976931348623157E308 - itemCoolingModifier = 0.8 - # - # Should hot item entities cool off when in contact with blocks like water or snow? - coolHotItemEntities = true - # - # Ticks between each time an item loses temperature when sitting on a cold block. 20 ticks = 1 second. - #Range: > 1 - ticksBeforeItemCool = 10 - - [mechanics.collapses] - # - # Enable rock collapsing when mining raw stone blocks - enableBlockCollapsing = true - # - # Enable explosions causing immediate collapses. - enableExplosionCollapsing = true - # - # Enable land slides (gravity affected blocks) when placing blocks or on block updates. - enableBlockLandslides = true - # - # Enable chisels starting collapses - enableChiselsStartCollapses = true - # - # Chance for a collapse to be triggered by mining a block. - #Range: 0.0 ~ 1.0 - collapseTriggerChance = 0.1 - # - # Chance for a collapse to be fake triggered by mining a block. - #Range: 0.0 ~ 1.0 - collapseFakeTriggerChance = 0.35 - # - # Chance for a block fo fall from mining collapse. Higher = more likely. - #Range: 0.0 ~ 1.0 - collapsePropagateChance = 0.55 - # - # Chance for a block to fall from an explosion triggered collapse. Higher = mor likely. - #Range: 0.0 ~ 1.0 - collapseExplosionPropagateChance = 0.3 - # - # Minimum radius for a collapse - #Range: 1 ~ 32 - collapseMinRadius = 3 - # - # Variance of the radius of a collapse. Total size is in [minRadius, minRadius + radiusVariance] - #Range: 1 ~ 32 - collapseRadiusVariance = 16 - - [mechanics.player] - # - # If peaceful difficulty should still have vanilla-esque passive regeneration of health, food, and hunger - enablePeacefulDifficultyPassiveRegeneration = false - # - # A multiplier for passive exhaustion accumulation. - # Exhaustion is the hidden stat which controls when you get hungry. In vanilla it is incremented by running and jumping for example. In TFC, exhaustion is added just by existing. - # 1.0 = A full hunger bar's worth of exhaustion every 2.5 days. Set to zero to disable completely. - #Range: 0.0 ~ 100.0 - passiveExhaustionMultiplier = 1.0 - # - # A multiplier for how quickly the player gets thirsty. - # The player loses thirst in sync with when they lose hunger. This represents how much thirst they lose. 0 = None, 100 = the entire thirst bar. - #Range: 0.0 ~ 100.0 - thirstModifier1 = 5.0 - # - # Enables the player losing more thirst in hotter environments. - enableThirstOverheating = true - # - # How much thirst the player gains from drinking in the rain (standing outside in the rain and looking up) per tick. - #Range: 0.0 ~ 100.0 - thirstGainedFromDrinkingInTheRain = 0.20833333333333334 - # - # A multiplier for how quickly the player regenerates health, under TFC's passive regeneration. - # By default, the player regenerates 0.2 HP/second, or 0.6 HP/second when above 80% hunger and thirst, where 1 HP = 1/50 of a heart. - #Range: 0.0 ~ 100.0 - naturalRegenerationModifier = 1.0 - # - # How much total hunger consumed is required to completely refresh the player's nutrition. - # Player nutrition in TFC is calculated based on nutrition of the last few foods eaten - this is how many foods are used to calculate nutrition. By default, all TFC foods restore 4 hunger. - #Range: > 1 - nutritionRotationHungerWindow = 80 - # - # If player's nutrition should be kept even after death. Hunger and thirst are not affected and will be reset. - keepNutritionAfterDeath = true - # - # How many hours should different foods ignore when trying to stack together automatically? - # Food made with different creation dates doesn't stack by default, unless it's within a specific window. This is the number of hours that different foods will try and stack together at the loss of a little extra expiry time. - #Range: 1 ~ 100 - foodDecayStackWindow = 6 - # - # A multiplier for food decay, or expiration times. Larger values will result in naturally shorter expiration times. - # Setting this to zero will cause decay not to apply. - # Note that if you set this to zero **food items will lose their creation dates!!**. This is not reversible! - #Range: 0.0 ~ 1000.0 - foodDecayModifier = 1.0 - # - # Enables negative effects from carrying too many very heavy items, including potion effects. - enableOverburdening = true - # - # A multiplier for the minimum health that the player will obtain, based on their nutrition - #Range: 0.001 ~ 1000.0 - nutritionMinimumHealthModifier = 0.2 - # - # A multiplier for the default health that the player will have (this is at a average nutrition of 40%, aka the starting nutrition. - # Nutrition above this value will linearly scale to the maximum multiplier. - # Nutrition below this value will linearly scale to the minimum multiplier. - #Range: 0.001 ~ 1000.0 - nutritionDefaultHealthModifier = 0.85 - # - # A multiplier for the maximum health that the player will obtain, based on their nutrition - #Range: 0.001 ~ 1000.0 - nutritionMaximumHealthModifier = 3.0 - - [mechanics.foodTraits] - # - # The modifier for the 'Salted' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitSaltedModifier = 0.5 - # - # The modifier for the 'Brined' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitBrinedModifier = 1.0 - # - # The modifier for the 'Pickled' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitPickledModifier = 0.5 - # - # The modifier for the 'Preserved' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitPreservedModifier = 0.5 - # - # The modifier for the 'Vinegar' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitVinegarModifier = 0.1 - # - # The modifier for the 'Charcoal Grilled' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitCharcoalGrilledModifier = 1.25 - # - # The modifier for the 'Wood Grilled' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitWoodGrilledModifier = 0.8 - # - # The modifier for the 'Burnt To A Crisp' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitBurntToACrispModifier = 2.5 - # - # The modifier for the 'Wild' food trait. Values less than 1 extend food lifetime, values greater than one decrease it. A value of zero stops decay. - #Range: 0.0 ~ 1.7976931348623157E308 - traitWildModifier = 0.5 - - [mechanics.fluids] - # - # If true, TFC buckets that naturally place sources (colored steel) will place sources. If false, this behavior is disabled. - enableBucketsPlacingSources = true - - [mechanics.vanillaChanges] - # - # If vanilla bonemeal's instant-growth effect should be enabled. - enableVanillaBonemeal = false - # - # If true, vanilla's snow and ice formation mechanics will be used, and none of the TFC mechanics (improved snow and ice placement, snow stacking, icicle formation, passive snow or ice melting) will exist. - enableVanillaWeatherEffects = false - # - # If true, vanilla will attempt to spawn skeleton 'trap' horses during thunderstorms. - enableVanillaSkeletonHorseSpawning = false - # - # If true, enables the default vanilla behavior of mobs spawning with enchanted weapons sometimes. - enableVanillaMobsSpawningWithEnchantments = false - # - # If true, enables the default behavior of mobs sapwning with vanilla armor and weapons - enableVanillaMobsSpawningWithVanillaEquipment = false - # - # If true, golems can be built - enableVanillaGolems = false - # - # If true, vanilla monsters are able to spawn. If false, the 'enableVanillaMonstersOnSurface' config option is not used, and all spawns are denied. - enableVanillaMonsters = true - # - # If true, vanilla monsters will spawn on the surface instead of just underground. If false, vanilla monsters will not spawn on the surface. - enableVanillaMonstersOnSurface = false - # - # If true, chicken jockies can spawn - enableChickenJockies = false - # - # If true, eggs can be thrown. - enableVanillaEggThrowing = false - # - # If true, drinking milk will clear potion effects and restore no nutrition, as in vanilla. - enableVanillaDrinkingMilkClearsPotionEffects = false - - [mechanics.animals] - - [mechanics.animals.pig] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - pigFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - pigAdulthoodDays = 80 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - pigUses = 60 - # - # Does the animal eat rotten food? - pigEatsRottenFood = true - # - # Length of pregnancy in days - #Range: > 0 - pigGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - pigChildCount = 10 - - [mechanics.animals.donkey] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - donkeyFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - donkeyAdulthoodDays = 80 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - donkeyUses = 60 - # - # Does the animal eat rotten food? - donkeyEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - donkeyGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - donkeyChildCount = 1 - - [mechanics.animals.mule] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - muleFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - muleAdulthoodDays = 80 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - muleUses = 60 - # - # Does the animal eat rotten food? - muleEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - muleGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - muleChildCount = 1 - - [mechanics.animals.horse] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - horseFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - horseAdulthoodDays = 80 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - horseUses = 60 - # - # Does the animal eat rotten food? - horseEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - horseGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - horseChildCount = 1 - - [mechanics.animals.cat] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - catFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - catAdulthoodDays = 50 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - catUses = 60 - # - # Does the animal eat rotten food? - catEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - catGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - catChildCount = 6 - - [mechanics.animals.dog] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - dogFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - dogAdulthoodDays = 50 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - dogUses = 60 - # - # Does the animal eat rotten food? - dogEatsRottenFood = true - # - # Length of pregnancy in days - #Range: > 0 - dogGestationDays = 19 - # - # Max number of children born - #Range: 0 ~ 100 - dogChildCount = 2 - - [mechanics.animals.cow] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - cowFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - cowAdulthoodDays = 192 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - cowUses = 128 - # - # Does the animal eat rotten food? - cowEatsRottenFood = true - # - # Length of pregnancy in days - #Range: > 0 - cowGestationDays = 58 - # - # Max number of children born - #Range: 0 ~ 100 - cowChildCount = 2 - # - # Ticks until produce is ready - #Range: > 0 - cowProduceTicks = 24000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - cowMinProduceFamiliarity = 0.15 - - [mechanics.animals.goat] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - goatFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - goatAdulthoodDays = 96 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - goatUses = 60 - # - # Does the animal eat rotten food? - goatEatsRottenFood = true - # - # Length of pregnancy in days - #Range: > 0 - goatGestationDays = 32 - # - # Max number of children born - #Range: 0 ~ 100 - goatChildCount = 2 - # - # Ticks until produce is ready - #Range: > 0 - goatProduceTicks = 72000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - goatMinProduceFamiliarity = 0.15 - - [mechanics.animals.yak] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - yakFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - yakAdulthoodDays = 180 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - yakUses = 230 - # - # Does the animal eat rotten food? - yakEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - yakGestationDays = 64 - # - # Max number of children born - #Range: 0 ~ 100 - yakChildCount = 1 - # - # Ticks until produce is ready - #Range: > 0 - yakProduceTicks = 23500 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - yakMinProduceFamiliarity = 0.15 - - [mechanics.animals.alpaca] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - alpacaFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - alpacaAdulthoodDays = 98 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - alpacaUses = 128 - # - # Does the animal eat rotten food? - alpacaEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - alpacaGestationDays = 36 - # - # Max number of children born - #Range: 0 ~ 100 - alpacaChildCount = 2 - # - # Ticks until produce is ready - #Range: > 0 - alpacaProduceTicks = 120000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - alpacaMinProduceFamiliarity = 0.15 - - [mechanics.animals.sheep] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - sheepFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - sheepAdulthoodDays = 56 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - sheepUses = 60 - # - # Does the animal eat rotten food? - sheepEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - sheepGestationDays = 32 - # - # Max number of children born - #Range: 0 ~ 100 - sheepChildCount = 2 - # - # Ticks until produce is ready - #Range: > 0 - sheepProduceTicks = 168000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - sheepMinProduceFamiliarity = 0.15 - - [mechanics.animals.muskOx] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - muskOxFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - muskOxAdulthoodDays = 168 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - muskOxUses = 160 - # - # Does the animal eat rotten food? - muskOxEatsRottenFood = false - # - # Length of pregnancy in days - #Range: > 0 - muskOxGestationDays = 64 - # - # Max number of children born - #Range: 0 ~ 100 - muskOxChildCount = 1 - # - # Ticks until produce is ready - #Range: > 0 - muskOxProduceTicks = 96000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - muskOxMinProduceFamiliarity = 0.15 - - [mechanics.animals.chicken] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - chickenFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - chickenAdulthoodDays = 24 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - chickenUses = 100 - # - # Does the animal eat rotten food? - chickenEatsRottenFood = true - # - # Ticks until produce is ready - #Range: > 0 - chickenProduceTicks = 30000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - chickenMinProduceFamiliarity = 0.15 - # - # Ticks until egg is ready to hatch - #Range: > 0 - chickenHatchDays = 8 - - [mechanics.animals.duck] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - duckFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - duckAdulthoodDays = 32 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - duckUses = 72 - # - # Does the animal eat rotten food? - duckEatsRottenFood = false - # - # Ticks until produce is ready - #Range: > 0 - duckProduceTicks = 32000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - duckMinProduceFamiliarity = 0.15 - # - # Ticks until egg is ready to hatch - #Range: > 0 - duckHatchDays = 8 - - [mechanics.animals.quail] - # - # Max familiarity an adult may reach - #Range: 0.0 ~ 1.0 - quailFamiliarityCap = 0.35 - # - # Days until animal reaches adulthood - #Range: > 0 - quailAdulthoodDays = 22 - # - # Uses before animal becomes old and can no longer be used - #Range: > 0 - quailUses = 48 - # - # Does the animal eat rotten food? - quailEatsRottenFood = true - # - # Ticks until produce is ready - #Range: > 0 - quailProduceTicks = 28000 - # - # Minimum familiarity [0-1] needed for produce. Set above 1 to disable produce. - #Range: 0.0 ~ 3.4028234663852886E38 - quailMinProduceFamiliarity = 0.15 - # - # Ticks until egg is ready to hatch - #Range: > 0 - quailHatchDays = 8 - -[weird] - farmlandMakesTheBestRaceTracks = false - diff --git a/kubejs/assets/emi/index/stacks/items.json b/kubejs/assets/emi/index/stacks/items.json index c9288b43b..d6b8b397a 100644 --- a/kubejs/assets/emi/index/stacks/items.json +++ b/kubejs/assets/emi/index/stacks/items.json @@ -1,8 +1,3 @@ { - "filters": [ - "/tfc:ore/[^*]+/[^*]+/", - "/firmalife:ore/[^*]+/[^*]+/", - "ae2:facade", - "chiselandbits:block_bit" - ] + "filters": [] } \ No newline at end of file diff --git a/kubejs/assets/emi/recipe/filters/categories.json b/kubejs/assets/emi/recipe/filters/categories.json index 2aa0f16a3..bb587f9ca 100644 --- a/kubejs/assets/emi/recipe/filters/categories.json +++ b/kubejs/assets/emi/recipe/filters/categories.json @@ -1,26 +1,14 @@ { "filters": [ + { + "category": "minecraft:blasting" + }, + { + "category": "minecraft:smoking" + }, { "category": "minecraft:campfire_cooking" }, - { - "category": "minecraft:brewing" - }, - { - "category": "minecraft:stonecutting" - }, - { - "category": "emi:anvil_repairing" - }, - { - "category": "emi:world_interaction" - }, - { - "category": "gtceu:primitive_blast_furnace" - }, - { - "category": "create:mystery_conversion" - }, { "category": "jumbofurnace:jumbo_furnace_upgrade" }, @@ -30,9 +18,19 @@ { "category": "emi:composting" }, + { + "category": "emi:anvil_repairing" + }, + { + "category": "gtceu:primitive_blast_furnace" + }, { "category": "emi:fuel" }, + { + "category": "create:mystery_conversion" + }, + { "id": "/emi:/crafting/repairing/[^*]+/" }, @@ -50,6 +48,57 @@ }, { "id": "sophisticatedbackpacks:multiple_colors" + }, + + { + "category": "emi:world_interaction", + "id": "/emi:\/world\/flower_duping\//" + }, + { + "category": "emi:world_interaction", + "id": "/emi:\/world\/stripping\/minecraft/" + }, + + { + "category": "emi:world_interaction", + "id": "emi:/world/shearing/minecraft/pumpkin" + }, + + { + "category": "emi:world_interaction", + "id": "/emi:\/world\/tilling\/minecraft/" + }, + { + "category": "emi:world_interaction", + "id": "/emi:\/world\/flattening\/minecraft/" + }, + + { + "category": "emi:world_interaction", + "id": "emi:/world/fluid_spring/minecraft/water" + }, + { + "category": "emi:world_interaction", + "id": "emi:/world/fluid_interaction/minecraft/cobblestone" + }, + { + "category": "emi:world_interaction", + "id": "emi:/world/fluid_interaction/minecraft/stone" + }, + + { + "category": "emi:world_interaction", + "id": "/emi:\/emi\/bucket_filling\/minecraft/" + }, + + { + "category": "emi:world_interaction", + "id": "emi:/world/unique/minecraft/water_bottle" + }, + + { + "category": "emi:world_interaction", + "id": "emi:/world/unique/minecraft/mud" } ] } \ No newline at end of file diff --git a/kubejs/assets/gtceu/lang/en_us.json b/kubejs/assets/gtceu/lang/en_us.json index c655b848f..9d2abe646 100644 --- a/kubejs/assets/gtceu/lang/en_us.json +++ b/kubejs/assets/gtceu/lang/en_us.json @@ -1,5 +1,5 @@ { - "gtceu.jei.bedrock_fluid.tfc_salt_water_deposit": "Sea Water Deposit", + "gtceu.jei.bedrock_fluid.fresh_water": "Fresh Water Deposit", "block.gtceu.greenhouse": "Electric Greenhouse", "gtceu.greenhouse": "Electric Greenhouse", diff --git a/kubejs/assets/gtceu/lang/ru_ru.json b/kubejs/assets/gtceu/lang/ru_ru.json index 0b2d775e3..6972660ba 100644 --- a/kubejs/assets/gtceu/lang/ru_ru.json +++ b/kubejs/assets/gtceu/lang/ru_ru.json @@ -1,5 +1,5 @@ { - "gtceu.jei.bedrock_fluid.tfc_salt_water_deposit": "Sea Water Deposit", + "gtceu.jei.bedrock_fluid.fresh_water": "Отложение пресной воды", "block.gtceu.greenhouse": "Электрическая теплица", "gtceu.greenhouse": "Электрическая теплица", diff --git a/kubejs/assets/minecraft/textures/item/raw_copper.png b/kubejs/assets/minecraft/textures/item/raw_copper.png new file mode 100644 index 000000000..afa9c5dc8 Binary files /dev/null and b/kubejs/assets/minecraft/textures/item/raw_copper.png differ diff --git a/kubejs/assets/minecraft/textures/item/raw_gold.png b/kubejs/assets/minecraft/textures/item/raw_gold.png new file mode 100644 index 000000000..31b9965a4 Binary files /dev/null and b/kubejs/assets/minecraft/textures/item/raw_gold.png differ diff --git a/kubejs/assets/minecraft/textures/item/raw_iron.png b/kubejs/assets/minecraft/textures/item/raw_iron.png new file mode 100644 index 000000000..a532bc3b5 Binary files /dev/null and b/kubejs/assets/minecraft/textures/item/raw_iron.png differ diff --git a/kubejs/assets/tfg/blockstates/copper_coil_block.json b/kubejs/assets/tfg/blockstates/copper_coil_block.json new file mode 100644 index 000000000..db9b8845f --- /dev/null +++ b/kubejs/assets/tfg/blockstates/copper_coil_block.json @@ -0,0 +1,10 @@ +{ + "variants": { + "active=false": { + "model": "tfg:block/copper_coil_block" + }, + "active=true": { + "model": "tfg:block/copper_coil_block_active" + } + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/lang/en_us.json b/kubejs/assets/tfg/lang/en_us.json index dfc5db90d..2ce72c508 100644 --- a/kubejs/assets/tfg/lang/en_us.json +++ b/kubejs/assets/tfg/lang/en_us.json @@ -1,4 +1,28 @@ { + "item.tfg.mining_hammer_head_extruder_mold": "Extruder Mold (Mining Hammer)", + "item.tfg.sword_head_extruder_mold": "Extruder Mold (Sword Head)", + "item.tfg.pickaxe_head_extruder_mold": "Extruder Mold (Pickaxe Head)", + "item.tfg.shovel_head_extruder_mold": "Extruder Mold (Shovel Head)", + "item.tfg.axe_head_extruder_mold": "Extruder Mold (Axe Head)", + "item.tfg.hoe_head_extruder_mold": "Extruder Mold (Hoe Head)", + "item.tfg.scythe_head_extruder_mold": "Extruder Mold (Scythe Head)", + "item.tfg.file_head_extruder_mold": "Extruder Mold (File Head)", + "item.tfg.hammer_head_extruder_mold": "Extruder Mold (Hammer Head)", + "item.tfg.saw_head_extruder_mold": "Extruder Mold (Saw Head)", + "item.tfg.knife_head_extruder_mold": "Extruder Mold (Knife Head)", + "item.tfg.butchery_knife_head_extruder_mold": "Extruder Mold (Butchery Knife Head)", + "item.tfg.propick_head_extruder_mold": "Extruder Mold (Propick Head)", + "item.tfg.javelin_head_extruder_mold": "Extruder Mold (Javelin Head)", + "item.tfg.chisel_head_extruder_mold": "Extruder Mold (Chisel Head)", + "item.tfg.mace_head_extruder_mold": "Extruder Mold (Mace Head)", + + "item.tfg.lamp_casting_mold": "Casting Mold (Lamp)", + "item.tfg.trapdoor_casting_mold": "Casting Mold (Trapdoor)", + "item.tfg.chain_casting_mold": "Casting Mold (Chain)", + "item.tfg.bell_casting_mold": "Casting Mold (Bell)", + + "quests.placeholder.delimiter": "=== QUEST SECTION ===", + "quests.naming-1": "t - Title", "quests.naming-2": "st - Subtitle", "quests.naming-3": "d* - Description, where * description number, for example: d1, d2, d3, d4...", @@ -10,7 +34,7 @@ "quests.387DEEADF4922AB3.t": "Ore generation in the TFG world", "quests.387DEEADF4922AB3.st": "Much more fun than vanilla", - "quests.387DEEADF4922AB3.d1": "In TerraFirmaGreg ore is generated more interestingly than anywhere else. \n1. Each ore appears in its own rock. TFC adds many different rocks to the world, that is, you won’t find a regular vanilla stone anywhere, so ores, like in real life, are generated only in certain rocks. \n2. There are several types of ore veins, such as: cluster, sphere, pipe and a few rare others that we will not talk about. \n3. To make life easier for players, ore indicators appear on the surface, under which in most cases the ore vein itself is located. \nTFG contains a small Wiki for this in an Excel spreadsheet. In order to follow the link, complete the task, then pick up the reward and a button will appear in the chat when you click on it, which will transfer you to an Excel table with ore generation.", + "quests.387DEEADF4922AB3.d1": "In TerraFirmaGreg ore is generated more interestingly than anywhere else. \n1. Each ore appears in its own rock. TFC adds many different rocks to the world, that is, you won’t find a regular vanilla stone anywhere, so ores, like in real life, are generated only in certain rocks. \n2. There are several types of ore veins, such as: cluster, sphere, pipe and a few rare others that we will not talk about. \n3. To make life easier for players, ore indicators appear on the surface, under which in most cases the ore vein itself is located. \nTo determine which rock a particular ore will spawn in, just open the explore EMI tabs, on one of them you will find the distribution of ores by dimensions and rocks.", "quests.63E6C5684E12828C.st": "You need to drink water in order not to die, try to find a river or lake with ordinary water!", "quests.63E6C5684E12828C.d1": "Use the right mouse button to drink some water. \nCareful! If you drink salt water you will experience increased thirst and will most likely die.", diff --git a/kubejs/assets/tfg/lang/ru_ru.json b/kubejs/assets/tfg/lang/ru_ru.json index a5915d9c4..b2f85564d 100644 --- a/kubejs/assets/tfg/lang/ru_ru.json +++ b/kubejs/assets/tfg/lang/ru_ru.json @@ -1,4 +1,28 @@ { + "item.tfg.mining_hammer_head_extruder_mold": "Форма экструдера (Оголовье шахтерского молота)", + "item.tfg.sword_head_extruder_mold": "Форма экструдера (Оголовье меча)", + "item.tfg.pickaxe_head_extruder_mold": "Форма экструдера (Оголовье кирки)", + "item.tfg.shovel_head_extruder_mold": "Форма экструдера (Оголовье лопаты)", + "item.tfg.axe_head_extruder_mold": "Форма экструдера (Оголовье топора)", + "item.tfg.hoe_head_extruder_mold": "Форма экструдера (Оголовье мотыги)", + "item.tfg.scythe_head_extruder_mold": "Форма экструдера (Оголовье косы)", + "item.tfg.file_head_extruder_mold": "Форма экструдера (Оголовье напильника)", + "item.tfg.hammer_head_extruder_mold": "Форма экструдера (Оголовье кувалды)", + "item.tfg.saw_head_extruder_mold": "Форма экструдера (Оголовье пилы)", + "item.tfg.knife_head_extruder_mold": "Форма экструдера (Оголовье меча)", + "item.tfg.butchery_knife_head_extruder_mold": "Форма экструдера (Оголовье тесака)", + "item.tfg.propick_head_extruder_mold": "Форма экструдера (Оголовье геологической кирки)", + "item.tfg.javelin_head_extruder_mold": "Форма экструдера (Оголовье копья)", + "item.tfg.chisel_head_extruder_mold": "Форма экструдера (Оголовье стамески)", + "item.tfg.mace_head_extruder_mold": "Форма экструдера (Оголовье биты)", + + "item.tfg.lamp_casting_mold": "Отливная форма (Лампа)", + "item.tfg.trapdoor_casting_mold": "Отливная форма (Люк)", + "item.tfg.chain_casting_mold": "Отливная форма (Цепь)", + "item.tfg.bell_casting_mold": "Отливная форма (Колокол)", + + "quests.placeholder.delimiter": "=== QUEST SECTION ===", + "quests.naming-1": "t - Заголовок", "quests.naming-2": "st - Подзаголовок", "quests.naming-3": "d* - Описание, где * номер описания, например: d1, d2, d3, d4...", @@ -10,7 +34,7 @@ "quests.387DEEADF4922AB3.t": "Генерация руд в мире TFG", "quests.387DEEADF4922AB3.st": "Куда веселей чем в ванилле", - "quests.387DEEADF4922AB3.d1": "В TerraFirmaGreg руду генерируются интересней чем где либо. \n1. Каждая руда появляется в своей породе. TFC добавляет в мир много разных пород, то есть обычный камень из ваниллы вы нигде не встретите, поэтому руды как и в реальной жизни генерируются только в определенных породах. \n2. Существуют несколько типов рудных жил, такие как: кластер, сфера, труба и несколько редких других, о которых говорить не будем. \n3. Для облегчения жизни игрокам, на поверхности появляются рудные индикаторы, под которыми в большинстве случаев располагается сама жила с рудой. \nTFG содержит небольшое Wiki для этого в таблице Excel. Для того, чтобы перейти по ссылке, выполните задание, после заберите награду и в чате отобразится кнопка по нажатию на которую вас перебросит на таблицу Excel с генерацией руды.", + "quests.387DEEADF4922AB3.d1": "В TerraFirmaGreg руду генерируются интересней чем где либо. \n1. Каждая руда появляется в своей породе. TFC добавляет в мир много разных пород, то есть обычный камень из ваниллы вы нигде не встретите, поэтому руды как и в реальной жизни генерируются только в определенных породах. \n2. Существуют несколько типов рудных жил, такие как: кластер, сфера, труба и несколько редких других, о которых говорить не будем. \n3. Для облегчения жизни игрокам, на поверхности появляются рудные индикаторы, под которыми в большинстве случаев располагается сама жила с рудой. \nЧтобы определить в какой породе спавнится та или иная руда, просто откройте исследуйте вкладки EMI, на одной из них вы найдете распространение руд по измерениям и породам.", "quests.63E6C5684E12828C.st": "Вам нужно пить воду, чтобы не умереть, постарайтсь найти реку или озеро с обычной водой!", "quests.63E6C5684E12828C.d1": "Используйте правую кнопку мыши, чтобы выпить немного воды. \nОсторожно! Если вы выпьете соленой воды у вас появится эффект усиленной жажды и скорее всего вы умрете.", diff --git a/kubejs/assets/tfg/models/block/copper_coil_block.json b/kubejs/assets/tfg/models/block/copper_coil_block.json new file mode 100644 index 000000000..9933ec27f --- /dev/null +++ b/kubejs/assets/tfg/models/block/copper_coil_block.json @@ -0,0 +1,6 @@ +{ + "parent": "minecraft:block/cube_all", + "textures": { + "all": "tfg:block/casings/coils/machine_coil_copper" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/block/copper_coil_block_active.json b/kubejs/assets/tfg/models/block/copper_coil_block_active.json new file mode 100644 index 000000000..a3c2ebb3e --- /dev/null +++ b/kubejs/assets/tfg/models/block/copper_coil_block_active.json @@ -0,0 +1,7 @@ +{ + "parent": "gtceu:block/cube_2_layer/all", + "textures": { + "bot_all": "tfg:block/casings/coils/machine_coil_copper", + "top_all": "tfg:block/casings/coils/machine_coil_copper_bloom" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/copper_coil_block.json b/kubejs/assets/tfg/models/item/copper_coil_block.json new file mode 100644 index 000000000..84d2ca9a7 --- /dev/null +++ b/kubejs/assets/tfg/models/item/copper_coil_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:block/copper_coil_block" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/models/item/unfinished_copper_coil_block.json b/kubejs/assets/tfg/models/item/unfinished_copper_coil_block.json new file mode 100644 index 000000000..b3218943a --- /dev/null +++ b/kubejs/assets/tfg/models/item/unfinished_copper_coil_block.json @@ -0,0 +1,3 @@ +{ + "parent": "tfg:item/copper_coil_block" +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper.png b/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper.png new file mode 100644 index 000000000..4e8461f4c Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper.png.mcmeta new file mode 100644 index 000000000..250d849bf --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper.png.mcmeta @@ -0,0 +1,5 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/coils/machine_coil_copper_ctm" + } +} \ No newline at end of file diff --git a/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_bloom.png b/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_bloom.png new file mode 100644 index 000000000..06b49ec01 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_bloom.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_bloom.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_bloom.png.mcmeta new file mode 100644 index 000000000..ce9216fdd --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_bloom.png.mcmeta @@ -0,0 +1,9 @@ +{ + "ldlib": { + "connection": "tfg:block/casings/coils/machine_coil_copper_bloom_ctm", + "emissive": true + }, + "gtceu": { + "bloom": true + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_bloom_ctm.png b/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_bloom_ctm.png new file mode 100644 index 000000000..fd24da442 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_bloom_ctm.png differ diff --git a/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_bloom_ctm.png.mcmeta b/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_bloom_ctm.png.mcmeta new file mode 100644 index 000000000..5f4d1c8fd --- /dev/null +++ b/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_bloom_ctm.png.mcmeta @@ -0,0 +1,5 @@ +{ + "gtceu": { + "bloom": true + } +} diff --git a/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_ctm.png b/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_ctm.png new file mode 100644 index 000000000..5bbd2fd92 Binary files /dev/null and b/kubejs/assets/tfg/textures/block/casings/coils/machine_coil_copper_ctm.png differ diff --git a/kubejs/assets/tfg/textures/item/axe_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/axe_head_extruder_mold.png new file mode 100644 index 000000000..bf4980a20 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/axe_head_extruder_mold.png differ diff --git a/kubejs/assets/tfg/textures/item/bell_casting_mold.png b/kubejs/assets/tfg/textures/item/bell_casting_mold.png new file mode 100644 index 000000000..ff6c6776b Binary files /dev/null and b/kubejs/assets/tfg/textures/item/bell_casting_mold.png differ diff --git a/kubejs/assets/tfg/textures/item/butchery_knife_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/butchery_knife_head_extruder_mold.png new file mode 100644 index 000000000..93a4849e4 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/butchery_knife_head_extruder_mold.png differ diff --git a/kubejs/assets/tfg/textures/item/chain_casting_mold.png b/kubejs/assets/tfg/textures/item/chain_casting_mold.png new file mode 100644 index 000000000..43330bf6a Binary files /dev/null and b/kubejs/assets/tfg/textures/item/chain_casting_mold.png differ diff --git a/kubejs/assets/tfg/textures/item/chisel_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/chisel_head_extruder_mold.png new file mode 100644 index 000000000..ec8202022 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/chisel_head_extruder_mold.png differ diff --git a/kubejs/assets/tfg/textures/item/file_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/file_head_extruder_mold.png new file mode 100644 index 000000000..62ca30abd Binary files /dev/null and b/kubejs/assets/tfg/textures/item/file_head_extruder_mold.png differ diff --git a/kubejs/assets/tfg/textures/item/hammer_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/hammer_head_extruder_mold.png new file mode 100644 index 000000000..83220a2f3 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/hammer_head_extruder_mold.png differ diff --git a/kubejs/assets/tfg/textures/item/hoe_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/hoe_head_extruder_mold.png new file mode 100644 index 000000000..152bb6f93 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/hoe_head_extruder_mold.png differ diff --git a/kubejs/assets/tfg/textures/item/javelin_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/javelin_head_extruder_mold.png new file mode 100644 index 000000000..1ecbe20a4 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/javelin_head_extruder_mold.png differ diff --git a/kubejs/assets/tfg/textures/item/knife_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/knife_head_extruder_mold.png new file mode 100644 index 000000000..efdc6d366 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/knife_head_extruder_mold.png differ diff --git a/kubejs/assets/tfg/textures/item/lamp_casting_mold.png b/kubejs/assets/tfg/textures/item/lamp_casting_mold.png new file mode 100644 index 000000000..d94f7b4a2 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/lamp_casting_mold.png differ diff --git a/kubejs/assets/tfg/textures/item/mace_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/mace_head_extruder_mold.png new file mode 100644 index 000000000..327fbafe4 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/mace_head_extruder_mold.png differ diff --git a/kubejs/assets/tfg/textures/item/mining_hammer_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/mining_hammer_head_extruder_mold.png new file mode 100644 index 000000000..8398d97eb Binary files /dev/null and b/kubejs/assets/tfg/textures/item/mining_hammer_head_extruder_mold.png differ diff --git a/kubejs/assets/tfg/textures/item/pickaxe_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/pickaxe_head_extruder_mold.png new file mode 100644 index 000000000..344e96c5d Binary files /dev/null and b/kubejs/assets/tfg/textures/item/pickaxe_head_extruder_mold.png differ diff --git a/kubejs/assets/tfg/textures/item/propick_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/propick_head_extruder_mold.png new file mode 100644 index 000000000..747881431 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/propick_head_extruder_mold.png differ diff --git a/kubejs/assets/tfg/textures/item/saw_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/saw_head_extruder_mold.png new file mode 100644 index 000000000..b333f9b3a Binary files /dev/null and b/kubejs/assets/tfg/textures/item/saw_head_extruder_mold.png differ diff --git a/kubejs/assets/tfg/textures/item/scythe_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/scythe_head_extruder_mold.png new file mode 100644 index 000000000..e7c4387ae Binary files /dev/null and b/kubejs/assets/tfg/textures/item/scythe_head_extruder_mold.png differ diff --git a/kubejs/assets/tfg/textures/item/shovel_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/shovel_head_extruder_mold.png new file mode 100644 index 000000000..5940e79fb Binary files /dev/null and b/kubejs/assets/tfg/textures/item/shovel_head_extruder_mold.png differ diff --git a/kubejs/assets/tfg/textures/item/spade_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/spade_head_extruder_mold.png new file mode 100644 index 000000000..b621e6a37 Binary files /dev/null and b/kubejs/assets/tfg/textures/item/spade_head_extruder_mold.png differ diff --git a/kubejs/assets/tfg/textures/item/sword_head_extruder_mold.png b/kubejs/assets/tfg/textures/item/sword_head_extruder_mold.png new file mode 100644 index 000000000..24690d7ce Binary files /dev/null and b/kubejs/assets/tfg/textures/item/sword_head_extruder_mold.png differ diff --git a/kubejs/assets/tfg/textures/item/trapdoor_casting_mold.png b/kubejs/assets/tfg/textures/item/trapdoor_casting_mold.png new file mode 100644 index 000000000..5ca1e99ef Binary files /dev/null and b/kubejs/assets/tfg/textures/item/trapdoor_casting_mold.png differ diff --git a/kubejs/client_scripts/beneath/assets.js b/kubejs/client_scripts/beneath/assets.js new file mode 100644 index 000000000..59b317829 --- /dev/null +++ b/kubejs/client_scripts/beneath/assets.js @@ -0,0 +1,27 @@ +// priority: 0 + +const registerBeneathAssets = (e) => { + + //#region Обработка дерева топором + global.BENEATH_WOOD_TYPES.forEach(woodName => { + const logJson = { + type: 'emi:world_interaction', + left: `item:beneath:wood/log/${woodName}`, + right: '#item:minecraft:axes', + output: `item:beneath:wood/stripped_log/${woodName}` + } + + const woodJson = { + type: 'emi:world_interaction', + left: `item:beneath:wood/wood/${woodName}`, + right: '#item:minecraft:axes', + output: `item:beneath:wood/stripped_wood/${woodName}` + } + + e.add(`emi:recipe/additions/beneath_${woodName}_log_conversion`, logJson) + e.add(`emi:recipe/additions/beneath_${woodName}_wood_conversion`, woodJson) + }) + //#endregion + + //todo: flattering recipes, shovels, etc +} \ No newline at end of file diff --git a/kubejs/client_scripts/example.js b/kubejs/client_scripts/example.js deleted file mode 100644 index c283f7462..000000000 --- a/kubejs/client_scripts/example.js +++ /dev/null @@ -1,3 +0,0 @@ -// priority: 1 - -console.log('TerraFirmaGreg the best modpack in the world :)') \ No newline at end of file diff --git a/kubejs/client_scripts/main_client_script.js b/kubejs/client_scripts/main_client_script.js new file mode 100644 index 000000000..a5a52b9b4 --- /dev/null +++ b/kubejs/client_scripts/main_client_script.js @@ -0,0 +1,12 @@ +// priority: 1 + +console.log('TerraFirmaGreg the best modpack in the world :)') + +/** + * Событие регистрации любых ассетов на клиентской стороне. + */ +ClientEvents.highPriorityAssets(event => { + registerBeneathAssets(event) + registerMinecraftAssets(event) + registerTFCAssets(event) +}) \ No newline at end of file diff --git a/kubejs/client_scripts/minecraft/assets.js b/kubejs/client_scripts/minecraft/assets.js new file mode 100644 index 000000000..519237216 --- /dev/null +++ b/kubejs/client_scripts/minecraft/assets.js @@ -0,0 +1,40 @@ +// priority: 0 + +const registerMinecraftAssets = (e) => { + + //#region Обработка дерева топором + // global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { + // const logJson = { + // type: 'emi:world_interaction', + // left: `item:minecraft:${woodName}_stem`, + // right: '#item:minecraft:axes', + // output: `item:minecraft:stripped_${woodName}_stem` + // } + + // const woodJson = { + // type: 'emi:world_interaction', + // left: `item:minecraft:${woodName}_hyphae`, + // right: '#item:minecraft:axes', + // output: `item:minecraft:stripped_${woodName}_hyphae` + // } + + // e.add(`emi:recipe/additions/vanilla_nether_${woodName}_log_conversion`, logJson) + // e.add(`emi:recipe/additions/vanilla_nether_${woodName}_wood_conversion`, woodJson) + // }) + + //#region Бамбук + const woodName = 'bamboo' + + const bambooJson = { + type: 'emi:world_interaction', + left: `item:minecraft:${woodName}_block`, + right: '#item:minecraft:axes', + output: `item:minecraft:stripped_${woodName}_block` + } + + e.add(`emi:recipe/additions/vanilla_${woodName}_log_conversion`, bambooJson) + + //#endregion + + //#endregion +} \ No newline at end of file diff --git a/kubejs/client_scripts/tfc/assets.js b/kubejs/client_scripts/tfc/assets.js new file mode 100644 index 000000000..2c17e6fd7 --- /dev/null +++ b/kubejs/client_scripts/tfc/assets.js @@ -0,0 +1,27 @@ +// priority: 0 + +const registerTFCAssets = (e) => { + + //#region Обработка дерева топором + global.TFC_WOOD_TYPES.forEach(woodName => { + const logJson = { + type: 'emi:world_interaction', + left: `item:tfc:wood/log/${woodName}`, + right: '#item:minecraft:axes', + output: `item:tfc:wood/stripped_log/${woodName}` + } + + const woodJson = { + type: 'emi:world_interaction', + left: `item:tfc:wood/wood/${woodName}`, + right: '#item:minecraft:axes', + output: `item:tfc:wood/stripped_wood/${woodName}` + } + + e.add(`emi:recipe/additions/tfc_${woodName}_log_conversion`, logJson) + e.add(`emi:recipe/additions/tfc_${woodName}_wood_conversion`, woodJson) + }) + //#endregion + + //todo: flattering recipes, shovels, etc +} \ No newline at end of file diff --git a/kubejs/config/probejs.json b/kubejs/config/probejs.json new file mode 100644 index 000000000..59b7dec92 --- /dev/null +++ b/kubejs/config/probejs.json @@ -0,0 +1,15 @@ +{ + "version": 2, + "Is ProbeJS Loaded for First Time in the Modpack - Configured by ProbeJS Itself": false, + "The Timestamp of ProbeJS Remote Documents - Configured by ProbeJS Itself": 1720270423220, + "Disable Aggressive Mode for ProbeJS Dumps": true, + "Allow ProbeJS to Resolve Classes from Registries Like Item Classes or Block Classes": true, + "Allow ProbeJS to Generate Literal Types for Item/Block/etc. IDs": true, + "Should ProbeJS Only Show Command in Single Player and with Cheat Enabled": true, + "Should ProbeJS be Generally Enabled": true, + "Disable the Recipe JSON Snippet Generation for ProbeJS triggered by `#`": true, + "Should ProbeJS Generate Intermediate JSON Representation of Documents - Mostly for Debugging": false, + "Should ProbeJS Download Schema Scripts from Github for Mods without Addon Supports": false, + "Should ProbeJS Open the Websocket for VSCode Evaluation? 1 - enabled, others - disabled.": 0, + "Which port should ProbeJS listen on for VSCode Extension?": 7796 +} \ No newline at end of file diff --git a/kubejs/data/beneath/worldgen/configured_feature/amethyst_geode.json b/kubejs/data/beneath/worldgen/configured_feature/amethyst_geode.json new file mode 100644 index 000000000..78f981669 --- /dev/null +++ b/kubejs/data/beneath/worldgen/configured_feature/amethyst_geode.json @@ -0,0 +1,18 @@ +{ + "__comment__": "This file was automatically created by mcresources", + "type": "tfc:geode", + "config": { + "outer": "minecraft:blackstone", + "middle": "tfc:rock/raw/quartzite", + "inner": [ + { + "data": "gtceu:quartzite_amethyst_ore", + "weight": 1 + }, + { + "data": "tfc:rock/raw/quartzite", + "weight": 2 + } + ] + } +} \ No newline at end of file diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/acacia.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/acacia.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/acacia.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/acacia.json index dc6df0bef..353ebbb62 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/acacia.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/acacia.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", + "block": "firmaciv:wood/watercraft_frame/angled/acacia", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", + "block": "firmaciv:wood/watercraft_frame/angled/acacia", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", + "block": "firmaciv:wood/watercraft_frame/angled/acacia", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", + "block": "firmaciv:wood/watercraft_frame/angled/acacia", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", + "block": "firmaciv:wood/watercraft_frame/angled/acacia", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", + "block": "firmaciv:wood/watercraft_frame/angled/acacia", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", + "block": "firmaciv:wood/watercraft_frame/angled/acacia", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", + "block": "firmaciv:wood/watercraft_frame/angled/acacia", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", + "block": "firmaciv:wood/watercraft_frame/angled/acacia", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", + "block": "firmaciv:wood/watercraft_frame/angled/acacia", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", + "block": "firmaciv:wood/watercraft_frame/angled/acacia", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/acacia", + "block": "firmaciv:wood/watercraft_frame/angled/acacia", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/ash.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/ash.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/ash.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/ash.json index 75f5ec0dd..19284251a 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/ash.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/ash.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", + "block": "firmaciv:wood/watercraft_frame/angled/ash", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", + "block": "firmaciv:wood/watercraft_frame/angled/ash", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", + "block": "firmaciv:wood/watercraft_frame/angled/ash", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", + "block": "firmaciv:wood/watercraft_frame/angled/ash", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", + "block": "firmaciv:wood/watercraft_frame/angled/ash", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", + "block": "firmaciv:wood/watercraft_frame/angled/ash", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", + "block": "firmaciv:wood/watercraft_frame/angled/ash", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", + "block": "firmaciv:wood/watercraft_frame/angled/ash", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", + "block": "firmaciv:wood/watercraft_frame/angled/ash", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", + "block": "firmaciv:wood/watercraft_frame/angled/ash", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", + "block": "firmaciv:wood/watercraft_frame/angled/ash", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/ash", + "block": "firmaciv:wood/watercraft_frame/angled/ash", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/aspen.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/aspen.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/aspen.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/aspen.json index 1b6bd1233..f3b2d9b5f 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/aspen.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/aspen.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", + "block": "firmaciv:wood/watercraft_frame/angled/aspen", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", + "block": "firmaciv:wood/watercraft_frame/angled/aspen", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", + "block": "firmaciv:wood/watercraft_frame/angled/aspen", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", + "block": "firmaciv:wood/watercraft_frame/angled/aspen", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", + "block": "firmaciv:wood/watercraft_frame/angled/aspen", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", + "block": "firmaciv:wood/watercraft_frame/angled/aspen", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", + "block": "firmaciv:wood/watercraft_frame/angled/aspen", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", + "block": "firmaciv:wood/watercraft_frame/angled/aspen", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", + "block": "firmaciv:wood/watercraft_frame/angled/aspen", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", + "block": "firmaciv:wood/watercraft_frame/angled/aspen", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", + "block": "firmaciv:wood/watercraft_frame/angled/aspen", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/aspen", + "block": "firmaciv:wood/watercraft_frame/angled/aspen", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/birch.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/birch.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/birch.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/birch.json index 6d36fef00..20f54ccf5 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/birch.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/birch.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", + "block": "firmaciv:wood/watercraft_frame/angled/birch", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", + "block": "firmaciv:wood/watercraft_frame/angled/birch", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", + "block": "firmaciv:wood/watercraft_frame/angled/birch", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", + "block": "firmaciv:wood/watercraft_frame/angled/birch", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", + "block": "firmaciv:wood/watercraft_frame/angled/birch", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", + "block": "firmaciv:wood/watercraft_frame/angled/birch", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", + "block": "firmaciv:wood/watercraft_frame/angled/birch", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", + "block": "firmaciv:wood/watercraft_frame/angled/birch", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", + "block": "firmaciv:wood/watercraft_frame/angled/birch", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", + "block": "firmaciv:wood/watercraft_frame/angled/birch", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", + "block": "firmaciv:wood/watercraft_frame/angled/birch", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/birch", + "block": "firmaciv:wood/watercraft_frame/angled/birch", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/blackwood.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/blackwood.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/blackwood.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/blackwood.json index feff63c4b..020990dbe 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/blackwood.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/blackwood.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", + "block": "firmaciv:wood/watercraft_frame/angled/blackwood", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", + "block": "firmaciv:wood/watercraft_frame/angled/blackwood", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", + "block": "firmaciv:wood/watercraft_frame/angled/blackwood", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", + "block": "firmaciv:wood/watercraft_frame/angled/blackwood", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", + "block": "firmaciv:wood/watercraft_frame/angled/blackwood", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", + "block": "firmaciv:wood/watercraft_frame/angled/blackwood", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", + "block": "firmaciv:wood/watercraft_frame/angled/blackwood", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", + "block": "firmaciv:wood/watercraft_frame/angled/blackwood", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", + "block": "firmaciv:wood/watercraft_frame/angled/blackwood", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", + "block": "firmaciv:wood/watercraft_frame/angled/blackwood", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", + "block": "firmaciv:wood/watercraft_frame/angled/blackwood", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/blackwood", + "block": "firmaciv:wood/watercraft_frame/angled/blackwood", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/chestnut.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/chestnut.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/chestnut.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/chestnut.json index 9eb30b03a..ca770d7db 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/chestnut.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/chestnut.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", + "block": "firmaciv:wood/watercraft_frame/angled/chestnut", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", + "block": "firmaciv:wood/watercraft_frame/angled/chestnut", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", + "block": "firmaciv:wood/watercraft_frame/angled/chestnut", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", + "block": "firmaciv:wood/watercraft_frame/angled/chestnut", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", + "block": "firmaciv:wood/watercraft_frame/angled/chestnut", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", + "block": "firmaciv:wood/watercraft_frame/angled/chestnut", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", + "block": "firmaciv:wood/watercraft_frame/angled/chestnut", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", + "block": "firmaciv:wood/watercraft_frame/angled/chestnut", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", + "block": "firmaciv:wood/watercraft_frame/angled/chestnut", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", + "block": "firmaciv:wood/watercraft_frame/angled/chestnut", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", + "block": "firmaciv:wood/watercraft_frame/angled/chestnut", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/chestnut", + "block": "firmaciv:wood/watercraft_frame/angled/chestnut", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/douglas_fir.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/douglas_fir.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/douglas_fir.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/douglas_fir.json index b231cc71d..169f303c7 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/douglas_fir.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/douglas_fir.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/angled/douglas_fir", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/angled/douglas_fir", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/angled/douglas_fir", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/angled/douglas_fir", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/angled/douglas_fir", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/angled/douglas_fir", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/angled/douglas_fir", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/angled/douglas_fir", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/angled/douglas_fir", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/angled/douglas_fir", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/angled/douglas_fir", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/angled/douglas_fir", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/hickory.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/hickory.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/hickory.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/hickory.json index 15b0bffa9..714e59b86 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/hickory.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/hickory.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", + "block": "firmaciv:wood/watercraft_frame/angled/hickory", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", + "block": "firmaciv:wood/watercraft_frame/angled/hickory", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", + "block": "firmaciv:wood/watercraft_frame/angled/hickory", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", + "block": "firmaciv:wood/watercraft_frame/angled/hickory", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", + "block": "firmaciv:wood/watercraft_frame/angled/hickory", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", + "block": "firmaciv:wood/watercraft_frame/angled/hickory", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", + "block": "firmaciv:wood/watercraft_frame/angled/hickory", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", + "block": "firmaciv:wood/watercraft_frame/angled/hickory", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", + "block": "firmaciv:wood/watercraft_frame/angled/hickory", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", + "block": "firmaciv:wood/watercraft_frame/angled/hickory", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", + "block": "firmaciv:wood/watercraft_frame/angled/hickory", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/hickory", + "block": "firmaciv:wood/watercraft_frame/angled/hickory", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/kapok.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/kapok.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/kapok.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/kapok.json index cfd4f4157..7d9c7c129 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/kapok.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/kapok.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", + "block": "firmaciv:wood/watercraft_frame/angled/kapok", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", + "block": "firmaciv:wood/watercraft_frame/angled/kapok", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", + "block": "firmaciv:wood/watercraft_frame/angled/kapok", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", + "block": "firmaciv:wood/watercraft_frame/angled/kapok", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", + "block": "firmaciv:wood/watercraft_frame/angled/kapok", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", + "block": "firmaciv:wood/watercraft_frame/angled/kapok", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", + "block": "firmaciv:wood/watercraft_frame/angled/kapok", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", + "block": "firmaciv:wood/watercraft_frame/angled/kapok", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", + "block": "firmaciv:wood/watercraft_frame/angled/kapok", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", + "block": "firmaciv:wood/watercraft_frame/angled/kapok", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", + "block": "firmaciv:wood/watercraft_frame/angled/kapok", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/kapok", + "block": "firmaciv:wood/watercraft_frame/angled/kapok", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/mangrove.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/mangrove.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/mangrove.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/mangrove.json index 330883062..9c6c9ca8d 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/mangrove.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/mangrove.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", + "block": "firmaciv:wood/watercraft_frame/angled/mangrove", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", + "block": "firmaciv:wood/watercraft_frame/angled/mangrove", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", + "block": "firmaciv:wood/watercraft_frame/angled/mangrove", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", + "block": "firmaciv:wood/watercraft_frame/angled/mangrove", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", + "block": "firmaciv:wood/watercraft_frame/angled/mangrove", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", + "block": "firmaciv:wood/watercraft_frame/angled/mangrove", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", + "block": "firmaciv:wood/watercraft_frame/angled/mangrove", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", + "block": "firmaciv:wood/watercraft_frame/angled/mangrove", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", + "block": "firmaciv:wood/watercraft_frame/angled/mangrove", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", + "block": "firmaciv:wood/watercraft_frame/angled/mangrove", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", + "block": "firmaciv:wood/watercraft_frame/angled/mangrove", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/mangrove", + "block": "firmaciv:wood/watercraft_frame/angled/mangrove", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/maple.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/maple.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/maple.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/maple.json index 4d9ee0a0b..343ecc373 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/maple.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/maple.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", + "block": "firmaciv:wood/watercraft_frame/angled/maple", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", + "block": "firmaciv:wood/watercraft_frame/angled/maple", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", + "block": "firmaciv:wood/watercraft_frame/angled/maple", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", + "block": "firmaciv:wood/watercraft_frame/angled/maple", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", + "block": "firmaciv:wood/watercraft_frame/angled/maple", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", + "block": "firmaciv:wood/watercraft_frame/angled/maple", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", + "block": "firmaciv:wood/watercraft_frame/angled/maple", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", + "block": "firmaciv:wood/watercraft_frame/angled/maple", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", + "block": "firmaciv:wood/watercraft_frame/angled/maple", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", + "block": "firmaciv:wood/watercraft_frame/angled/maple", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", + "block": "firmaciv:wood/watercraft_frame/angled/maple", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/maple", + "block": "firmaciv:wood/watercraft_frame/angled/maple", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/oak.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/oak.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/oak.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/oak.json index 8043ac799..8d37c7e78 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/oak.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/oak.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", + "block": "firmaciv:wood/watercraft_frame/angled/oak", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", + "block": "firmaciv:wood/watercraft_frame/angled/oak", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", + "block": "firmaciv:wood/watercraft_frame/angled/oak", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", + "block": "firmaciv:wood/watercraft_frame/angled/oak", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", + "block": "firmaciv:wood/watercraft_frame/angled/oak", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", + "block": "firmaciv:wood/watercraft_frame/angled/oak", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", + "block": "firmaciv:wood/watercraft_frame/angled/oak", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", + "block": "firmaciv:wood/watercraft_frame/angled/oak", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", + "block": "firmaciv:wood/watercraft_frame/angled/oak", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", + "block": "firmaciv:wood/watercraft_frame/angled/oak", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", + "block": "firmaciv:wood/watercraft_frame/angled/oak", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/oak", + "block": "firmaciv:wood/watercraft_frame/angled/oak", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/palm.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/palm.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/palm.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/palm.json index 88fda6683..8f5d172b1 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/palm.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/palm.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", + "block": "firmaciv:wood/watercraft_frame/angled/palm", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", + "block": "firmaciv:wood/watercraft_frame/angled/palm", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", + "block": "firmaciv:wood/watercraft_frame/angled/palm", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", + "block": "firmaciv:wood/watercraft_frame/angled/palm", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", + "block": "firmaciv:wood/watercraft_frame/angled/palm", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", + "block": "firmaciv:wood/watercraft_frame/angled/palm", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", + "block": "firmaciv:wood/watercraft_frame/angled/palm", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", + "block": "firmaciv:wood/watercraft_frame/angled/palm", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", + "block": "firmaciv:wood/watercraft_frame/angled/palm", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", + "block": "firmaciv:wood/watercraft_frame/angled/palm", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", + "block": "firmaciv:wood/watercraft_frame/angled/palm", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/palm", + "block": "firmaciv:wood/watercraft_frame/angled/palm", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/pine.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/pine.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/pine.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/pine.json index 27f54b78b..d110788a1 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/pine.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/pine.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", + "block": "firmaciv:wood/watercraft_frame/angled/pine", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", + "block": "firmaciv:wood/watercraft_frame/angled/pine", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", + "block": "firmaciv:wood/watercraft_frame/angled/pine", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", + "block": "firmaciv:wood/watercraft_frame/angled/pine", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", + "block": "firmaciv:wood/watercraft_frame/angled/pine", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", + "block": "firmaciv:wood/watercraft_frame/angled/pine", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", + "block": "firmaciv:wood/watercraft_frame/angled/pine", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", + "block": "firmaciv:wood/watercraft_frame/angled/pine", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", + "block": "firmaciv:wood/watercraft_frame/angled/pine", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", + "block": "firmaciv:wood/watercraft_frame/angled/pine", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", + "block": "firmaciv:wood/watercraft_frame/angled/pine", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/pine", + "block": "firmaciv:wood/watercraft_frame/angled/pine", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/rosewood.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/rosewood.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/rosewood.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/rosewood.json index 99b6e5d2a..38b33ecb6 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/rosewood.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/rosewood.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", + "block": "firmaciv:wood/watercraft_frame/angled/rosewood", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", + "block": "firmaciv:wood/watercraft_frame/angled/rosewood", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", + "block": "firmaciv:wood/watercraft_frame/angled/rosewood", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", + "block": "firmaciv:wood/watercraft_frame/angled/rosewood", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", + "block": "firmaciv:wood/watercraft_frame/angled/rosewood", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", + "block": "firmaciv:wood/watercraft_frame/angled/rosewood", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", + "block": "firmaciv:wood/watercraft_frame/angled/rosewood", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", + "block": "firmaciv:wood/watercraft_frame/angled/rosewood", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", + "block": "firmaciv:wood/watercraft_frame/angled/rosewood", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", + "block": "firmaciv:wood/watercraft_frame/angled/rosewood", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", + "block": "firmaciv:wood/watercraft_frame/angled/rosewood", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/rosewood", + "block": "firmaciv:wood/watercraft_frame/angled/rosewood", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/sequoia.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/sequoia.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/sequoia.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/sequoia.json index fe158515d..72c6b7452 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/sequoia.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/sequoia.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", + "block": "firmaciv:wood/watercraft_frame/angled/sequoia", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", + "block": "firmaciv:wood/watercraft_frame/angled/sequoia", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", + "block": "firmaciv:wood/watercraft_frame/angled/sequoia", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", + "block": "firmaciv:wood/watercraft_frame/angled/sequoia", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", + "block": "firmaciv:wood/watercraft_frame/angled/sequoia", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", + "block": "firmaciv:wood/watercraft_frame/angled/sequoia", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", + "block": "firmaciv:wood/watercraft_frame/angled/sequoia", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", + "block": "firmaciv:wood/watercraft_frame/angled/sequoia", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", + "block": "firmaciv:wood/watercraft_frame/angled/sequoia", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", + "block": "firmaciv:wood/watercraft_frame/angled/sequoia", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", + "block": "firmaciv:wood/watercraft_frame/angled/sequoia", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sequoia", + "block": "firmaciv:wood/watercraft_frame/angled/sequoia", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/spruce.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/spruce.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/spruce.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/spruce.json index 7862b5adf..d47e81a0e 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/spruce.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/spruce.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", + "block": "firmaciv:wood/watercraft_frame/angled/spruce", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", + "block": "firmaciv:wood/watercraft_frame/angled/spruce", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", + "block": "firmaciv:wood/watercraft_frame/angled/spruce", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", + "block": "firmaciv:wood/watercraft_frame/angled/spruce", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", + "block": "firmaciv:wood/watercraft_frame/angled/spruce", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", + "block": "firmaciv:wood/watercraft_frame/angled/spruce", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", + "block": "firmaciv:wood/watercraft_frame/angled/spruce", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", + "block": "firmaciv:wood/watercraft_frame/angled/spruce", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", + "block": "firmaciv:wood/watercraft_frame/angled/spruce", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", + "block": "firmaciv:wood/watercraft_frame/angled/spruce", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", + "block": "firmaciv:wood/watercraft_frame/angled/spruce", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/spruce", + "block": "firmaciv:wood/watercraft_frame/angled/spruce", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/sycamore.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/sycamore.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/sycamore.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/sycamore.json index fba48dc2c..b84e5d14f 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/sycamore.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/sycamore.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", + "block": "firmaciv:wood/watercraft_frame/angled/sycamore", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", + "block": "firmaciv:wood/watercraft_frame/angled/sycamore", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", + "block": "firmaciv:wood/watercraft_frame/angled/sycamore", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", + "block": "firmaciv:wood/watercraft_frame/angled/sycamore", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", + "block": "firmaciv:wood/watercraft_frame/angled/sycamore", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", + "block": "firmaciv:wood/watercraft_frame/angled/sycamore", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", + "block": "firmaciv:wood/watercraft_frame/angled/sycamore", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", + "block": "firmaciv:wood/watercraft_frame/angled/sycamore", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", + "block": "firmaciv:wood/watercraft_frame/angled/sycamore", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", + "block": "firmaciv:wood/watercraft_frame/angled/sycamore", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", + "block": "firmaciv:wood/watercraft_frame/angled/sycamore", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/sycamore", + "block": "firmaciv:wood/watercraft_frame/angled/sycamore", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/white_cedar.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/white_cedar.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/white_cedar.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/white_cedar.json index 1571378a9..4d3495adb 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/white_cedar.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/white_cedar.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", + "block": "firmaciv:wood/watercraft_frame/angled/white_cedar", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", + "block": "firmaciv:wood/watercraft_frame/angled/white_cedar", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", + "block": "firmaciv:wood/watercraft_frame/angled/white_cedar", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", + "block": "firmaciv:wood/watercraft_frame/angled/white_cedar", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", + "block": "firmaciv:wood/watercraft_frame/angled/white_cedar", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", + "block": "firmaciv:wood/watercraft_frame/angled/white_cedar", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", + "block": "firmaciv:wood/watercraft_frame/angled/white_cedar", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", + "block": "firmaciv:wood/watercraft_frame/angled/white_cedar", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", + "block": "firmaciv:wood/watercraft_frame/angled/white_cedar", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", + "block": "firmaciv:wood/watercraft_frame/angled/white_cedar", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", + "block": "firmaciv:wood/watercraft_frame/angled/white_cedar", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/white_cedar", + "block": "firmaciv:wood/watercraft_frame/angled/white_cedar", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/willow.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/willow.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/willow.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/willow.json index 9dd0f5ab6..6a6c190ca 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_angled/willow.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/angled/willow.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", + "block": "firmaciv:wood/watercraft_frame/angled/willow", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", + "block": "firmaciv:wood/watercraft_frame/angled/willow", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", + "block": "firmaciv:wood/watercraft_frame/angled/willow", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", + "block": "firmaciv:wood/watercraft_frame/angled/willow", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", + "block": "firmaciv:wood/watercraft_frame/angled/willow", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", + "block": "firmaciv:wood/watercraft_frame/angled/willow", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", + "block": "firmaciv:wood/watercraft_frame/angled/willow", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", + "block": "firmaciv:wood/watercraft_frame/angled/willow", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", + "block": "firmaciv:wood/watercraft_frame/angled/willow", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", + "block": "firmaciv:wood/watercraft_frame/angled/willow", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", + "block": "firmaciv:wood/watercraft_frame/angled/willow", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_angled/willow", + "block": "firmaciv:wood/watercraft_frame/angled/willow", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/acacia.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/acacia.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/acacia.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/acacia.json index 74c90469c..0bd7f40eb 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/acacia.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/acacia.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", + "block": "firmaciv:wood/watercraft_frame/flat/acacia", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", + "block": "firmaciv:wood/watercraft_frame/flat/acacia", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", + "block": "firmaciv:wood/watercraft_frame/flat/acacia", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", + "block": "firmaciv:wood/watercraft_frame/flat/acacia", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", + "block": "firmaciv:wood/watercraft_frame/flat/acacia", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", + "block": "firmaciv:wood/watercraft_frame/flat/acacia", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", + "block": "firmaciv:wood/watercraft_frame/flat/acacia", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", + "block": "firmaciv:wood/watercraft_frame/flat/acacia", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", + "block": "firmaciv:wood/watercraft_frame/flat/acacia", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", + "block": "firmaciv:wood/watercraft_frame/flat/acacia", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", + "block": "firmaciv:wood/watercraft_frame/flat/acacia", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/acacia", + "block": "firmaciv:wood/watercraft_frame/flat/acacia", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/ash.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/ash.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/ash.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/ash.json index ba6754296..7cbebb491 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/ash.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/ash.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", + "block": "firmaciv:wood/watercraft_frame/flat/ash", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", + "block": "firmaciv:wood/watercraft_frame/flat/ash", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", + "block": "firmaciv:wood/watercraft_frame/flat/ash", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", + "block": "firmaciv:wood/watercraft_frame/flat/ash", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", + "block": "firmaciv:wood/watercraft_frame/flat/ash", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", + "block": "firmaciv:wood/watercraft_frame/flat/ash", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", + "block": "firmaciv:wood/watercraft_frame/flat/ash", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", + "block": "firmaciv:wood/watercraft_frame/flat/ash", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", + "block": "firmaciv:wood/watercraft_frame/flat/ash", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", + "block": "firmaciv:wood/watercraft_frame/flat/ash", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", + "block": "firmaciv:wood/watercraft_frame/flat/ash", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/ash", + "block": "firmaciv:wood/watercraft_frame/flat/ash", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/aspen.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/aspen.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/aspen.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/aspen.json index e47bf3fb5..6d602f7ee 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/aspen.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/aspen.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", + "block": "firmaciv:wood/watercraft_frame/flat/aspen", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", + "block": "firmaciv:wood/watercraft_frame/flat/aspen", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", + "block": "firmaciv:wood/watercraft_frame/flat/aspen", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", + "block": "firmaciv:wood/watercraft_frame/flat/aspen", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", + "block": "firmaciv:wood/watercraft_frame/flat/aspen", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", + "block": "firmaciv:wood/watercraft_frame/flat/aspen", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", + "block": "firmaciv:wood/watercraft_frame/flat/aspen", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", + "block": "firmaciv:wood/watercraft_frame/flat/aspen", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", + "block": "firmaciv:wood/watercraft_frame/flat/aspen", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", + "block": "firmaciv:wood/watercraft_frame/flat/aspen", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", + "block": "firmaciv:wood/watercraft_frame/flat/aspen", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/aspen", + "block": "firmaciv:wood/watercraft_frame/flat/aspen", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/birch.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/birch.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/birch.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/birch.json index 1c22222fd..8ab6c3c52 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/birch.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/birch.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", + "block": "firmaciv:wood/watercraft_frame/flat/birch", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", + "block": "firmaciv:wood/watercraft_frame/flat/birch", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", + "block": "firmaciv:wood/watercraft_frame/flat/birch", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", + "block": "firmaciv:wood/watercraft_frame/flat/birch", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", + "block": "firmaciv:wood/watercraft_frame/flat/birch", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", + "block": "firmaciv:wood/watercraft_frame/flat/birch", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", + "block": "firmaciv:wood/watercraft_frame/flat/birch", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", + "block": "firmaciv:wood/watercraft_frame/flat/birch", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", + "block": "firmaciv:wood/watercraft_frame/flat/birch", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", + "block": "firmaciv:wood/watercraft_frame/flat/birch", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", + "block": "firmaciv:wood/watercraft_frame/flat/birch", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/birch", + "block": "firmaciv:wood/watercraft_frame/flat/birch", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/blackwood.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/blackwood.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/blackwood.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/blackwood.json index 4a52e57e8..01ce90f96 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/blackwood.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/blackwood.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", + "block": "firmaciv:wood/watercraft_frame/flat/blackwood", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", + "block": "firmaciv:wood/watercraft_frame/flat/blackwood", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", + "block": "firmaciv:wood/watercraft_frame/flat/blackwood", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", + "block": "firmaciv:wood/watercraft_frame/flat/blackwood", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", + "block": "firmaciv:wood/watercraft_frame/flat/blackwood", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", + "block": "firmaciv:wood/watercraft_frame/flat/blackwood", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", + "block": "firmaciv:wood/watercraft_frame/flat/blackwood", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", + "block": "firmaciv:wood/watercraft_frame/flat/blackwood", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", + "block": "firmaciv:wood/watercraft_frame/flat/blackwood", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", + "block": "firmaciv:wood/watercraft_frame/flat/blackwood", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", + "block": "firmaciv:wood/watercraft_frame/flat/blackwood", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/blackwood", + "block": "firmaciv:wood/watercraft_frame/flat/blackwood", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/chestnut.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/chestnut.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/chestnut.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/chestnut.json index a084ce899..0af106297 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/chestnut.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/chestnut.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", + "block": "firmaciv:wood/watercraft_frame/flat/chestnut", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", + "block": "firmaciv:wood/watercraft_frame/flat/chestnut", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", + "block": "firmaciv:wood/watercraft_frame/flat/chestnut", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", + "block": "firmaciv:wood/watercraft_frame/flat/chestnut", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", + "block": "firmaciv:wood/watercraft_frame/flat/chestnut", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", + "block": "firmaciv:wood/watercraft_frame/flat/chestnut", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", + "block": "firmaciv:wood/watercraft_frame/flat/chestnut", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", + "block": "firmaciv:wood/watercraft_frame/flat/chestnut", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", + "block": "firmaciv:wood/watercraft_frame/flat/chestnut", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", + "block": "firmaciv:wood/watercraft_frame/flat/chestnut", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", + "block": "firmaciv:wood/watercraft_frame/flat/chestnut", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/chestnut", + "block": "firmaciv:wood/watercraft_frame/flat/chestnut", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/douglas_fir.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/douglas_fir.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/douglas_fir.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/douglas_fir.json index 7f78bf37d..ec8861408 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/douglas_fir.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/douglas_fir.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/flat/douglas_fir", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/flat/douglas_fir", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/flat/douglas_fir", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/flat/douglas_fir", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/flat/douglas_fir", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/flat/douglas_fir", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/flat/douglas_fir", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/flat/douglas_fir", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/flat/douglas_fir", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/flat/douglas_fir", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/flat/douglas_fir", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/douglas_fir", + "block": "firmaciv:wood/watercraft_frame/flat/douglas_fir", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/hickory.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/hickory.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/hickory.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/hickory.json index e84d2343b..8e0c736f2 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/hickory.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/hickory.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", + "block": "firmaciv:wood/watercraft_frame/flat/hickory", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", + "block": "firmaciv:wood/watercraft_frame/flat/hickory", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", + "block": "firmaciv:wood/watercraft_frame/flat/hickory", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", + "block": "firmaciv:wood/watercraft_frame/flat/hickory", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", + "block": "firmaciv:wood/watercraft_frame/flat/hickory", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", + "block": "firmaciv:wood/watercraft_frame/flat/hickory", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", + "block": "firmaciv:wood/watercraft_frame/flat/hickory", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", + "block": "firmaciv:wood/watercraft_frame/flat/hickory", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", + "block": "firmaciv:wood/watercraft_frame/flat/hickory", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", + "block": "firmaciv:wood/watercraft_frame/flat/hickory", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", + "block": "firmaciv:wood/watercraft_frame/flat/hickory", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/hickory", + "block": "firmaciv:wood/watercraft_frame/flat/hickory", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/kapok.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/kapok.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/kapok.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/kapok.json index 6afdd6499..cfb56f03c 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/kapok.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/kapok.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", + "block": "firmaciv:wood/watercraft_frame/flat/kapok", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", + "block": "firmaciv:wood/watercraft_frame/flat/kapok", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", + "block": "firmaciv:wood/watercraft_frame/flat/kapok", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", + "block": "firmaciv:wood/watercraft_frame/flat/kapok", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", + "block": "firmaciv:wood/watercraft_frame/flat/kapok", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", + "block": "firmaciv:wood/watercraft_frame/flat/kapok", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", + "block": "firmaciv:wood/watercraft_frame/flat/kapok", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", + "block": "firmaciv:wood/watercraft_frame/flat/kapok", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", + "block": "firmaciv:wood/watercraft_frame/flat/kapok", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", + "block": "firmaciv:wood/watercraft_frame/flat/kapok", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", + "block": "firmaciv:wood/watercraft_frame/flat/kapok", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/kapok", + "block": "firmaciv:wood/watercraft_frame/flat/kapok", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/mangrove.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/mangrove.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/mangrove.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/mangrove.json index c1a62aa2d..383377de1 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/mangrove.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/mangrove.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", + "block": "firmaciv:wood/watercraft_frame/flat/mangrove", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", + "block": "firmaciv:wood/watercraft_frame/flat/mangrove", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", + "block": "firmaciv:wood/watercraft_frame/flat/mangrove", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", + "block": "firmaciv:wood/watercraft_frame/flat/mangrove", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", + "block": "firmaciv:wood/watercraft_frame/flat/mangrove", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", + "block": "firmaciv:wood/watercraft_frame/flat/mangrove", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", + "block": "firmaciv:wood/watercraft_frame/flat/mangrove", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", + "block": "firmaciv:wood/watercraft_frame/flat/mangrove", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", + "block": "firmaciv:wood/watercraft_frame/flat/mangrove", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", + "block": "firmaciv:wood/watercraft_frame/flat/mangrove", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", + "block": "firmaciv:wood/watercraft_frame/flat/mangrove", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/mangrove", + "block": "firmaciv:wood/watercraft_frame/flat/mangrove", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/maple.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/maple.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/maple.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/maple.json index 6f120dc61..c78cebc60 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/maple.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/maple.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", + "block": "firmaciv:wood/watercraft_frame/flat/maple", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", + "block": "firmaciv:wood/watercraft_frame/flat/maple", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", + "block": "firmaciv:wood/watercraft_frame/flat/maple", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", + "block": "firmaciv:wood/watercraft_frame/flat/maple", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", + "block": "firmaciv:wood/watercraft_frame/flat/maple", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", + "block": "firmaciv:wood/watercraft_frame/flat/maple", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", + "block": "firmaciv:wood/watercraft_frame/flat/maple", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", + "block": "firmaciv:wood/watercraft_frame/flat/maple", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", + "block": "firmaciv:wood/watercraft_frame/flat/maple", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", + "block": "firmaciv:wood/watercraft_frame/flat/maple", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", + "block": "firmaciv:wood/watercraft_frame/flat/maple", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/maple", + "block": "firmaciv:wood/watercraft_frame/flat/maple", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/oak.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/oak.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/oak.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/oak.json index 07bd18b07..d728fb43a 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/oak.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/oak.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", + "block": "firmaciv:wood/watercraft_frame/flat/oak", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", + "block": "firmaciv:wood/watercraft_frame/flat/oak", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", + "block": "firmaciv:wood/watercraft_frame/flat/oak", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", + "block": "firmaciv:wood/watercraft_frame/flat/oak", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", + "block": "firmaciv:wood/watercraft_frame/flat/oak", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", + "block": "firmaciv:wood/watercraft_frame/flat/oak", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", + "block": "firmaciv:wood/watercraft_frame/flat/oak", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", + "block": "firmaciv:wood/watercraft_frame/flat/oak", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", + "block": "firmaciv:wood/watercraft_frame/flat/oak", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", + "block": "firmaciv:wood/watercraft_frame/flat/oak", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", + "block": "firmaciv:wood/watercraft_frame/flat/oak", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/oak", + "block": "firmaciv:wood/watercraft_frame/flat/oak", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/palm.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/palm.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/palm.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/palm.json index 1f8409ea3..2ff8e6057 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/palm.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/palm.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", + "block": "firmaciv:wood/watercraft_frame/flat/palm", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", + "block": "firmaciv:wood/watercraft_frame/flat/palm", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", + "block": "firmaciv:wood/watercraft_frame/flat/palm", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", + "block": "firmaciv:wood/watercraft_frame/flat/palm", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", + "block": "firmaciv:wood/watercraft_frame/flat/palm", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", + "block": "firmaciv:wood/watercraft_frame/flat/palm", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", + "block": "firmaciv:wood/watercraft_frame/flat/palm", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", + "block": "firmaciv:wood/watercraft_frame/flat/palm", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", + "block": "firmaciv:wood/watercraft_frame/flat/palm", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", + "block": "firmaciv:wood/watercraft_frame/flat/palm", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", + "block": "firmaciv:wood/watercraft_frame/flat/palm", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/palm", + "block": "firmaciv:wood/watercraft_frame/flat/palm", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/pine.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/pine.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/pine.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/pine.json index 1d0372ac9..3f02f20c2 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/pine.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/pine.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", + "block": "firmaciv:wood/watercraft_frame/flat/pine", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", + "block": "firmaciv:wood/watercraft_frame/flat/pine", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", + "block": "firmaciv:wood/watercraft_frame/flat/pine", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", + "block": "firmaciv:wood/watercraft_frame/flat/pine", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", + "block": "firmaciv:wood/watercraft_frame/flat/pine", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", + "block": "firmaciv:wood/watercraft_frame/flat/pine", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", + "block": "firmaciv:wood/watercraft_frame/flat/pine", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", + "block": "firmaciv:wood/watercraft_frame/flat/pine", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", + "block": "firmaciv:wood/watercraft_frame/flat/pine", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", + "block": "firmaciv:wood/watercraft_frame/flat/pine", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", + "block": "firmaciv:wood/watercraft_frame/flat/pine", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/pine", + "block": "firmaciv:wood/watercraft_frame/flat/pine", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/rosewood.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/rosewood.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/rosewood.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/rosewood.json index fd278f1de..2bf6d17f2 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/rosewood.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/rosewood.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", + "block": "firmaciv:wood/watercraft_frame/flat/rosewood", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", + "block": "firmaciv:wood/watercraft_frame/flat/rosewood", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", + "block": "firmaciv:wood/watercraft_frame/flat/rosewood", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", + "block": "firmaciv:wood/watercraft_frame/flat/rosewood", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", + "block": "firmaciv:wood/watercraft_frame/flat/rosewood", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", + "block": "firmaciv:wood/watercraft_frame/flat/rosewood", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", + "block": "firmaciv:wood/watercraft_frame/flat/rosewood", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", + "block": "firmaciv:wood/watercraft_frame/flat/rosewood", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", + "block": "firmaciv:wood/watercraft_frame/flat/rosewood", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", + "block": "firmaciv:wood/watercraft_frame/flat/rosewood", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", + "block": "firmaciv:wood/watercraft_frame/flat/rosewood", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/rosewood", + "block": "firmaciv:wood/watercraft_frame/flat/rosewood", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/sequoia.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/sequoia.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/sequoia.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/sequoia.json index 15772a286..953c853a2 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/sequoia.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/sequoia.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", + "block": "firmaciv:wood/watercraft_frame/flat/sequoia", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", + "block": "firmaciv:wood/watercraft_frame/flat/sequoia", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", + "block": "firmaciv:wood/watercraft_frame/flat/sequoia", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", + "block": "firmaciv:wood/watercraft_frame/flat/sequoia", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", + "block": "firmaciv:wood/watercraft_frame/flat/sequoia", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", + "block": "firmaciv:wood/watercraft_frame/flat/sequoia", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", + "block": "firmaciv:wood/watercraft_frame/flat/sequoia", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", + "block": "firmaciv:wood/watercraft_frame/flat/sequoia", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", + "block": "firmaciv:wood/watercraft_frame/flat/sequoia", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", + "block": "firmaciv:wood/watercraft_frame/flat/sequoia", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", + "block": "firmaciv:wood/watercraft_frame/flat/sequoia", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sequoia", + "block": "firmaciv:wood/watercraft_frame/flat/sequoia", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/spruce.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/spruce.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/spruce.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/spruce.json index edb2352ad..c69146c74 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/spruce.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/spruce.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", + "block": "firmaciv:wood/watercraft_frame/flat/spruce", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", + "block": "firmaciv:wood/watercraft_frame/flat/spruce", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", + "block": "firmaciv:wood/watercraft_frame/flat/spruce", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", + "block": "firmaciv:wood/watercraft_frame/flat/spruce", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", + "block": "firmaciv:wood/watercraft_frame/flat/spruce", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", + "block": "firmaciv:wood/watercraft_frame/flat/spruce", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", + "block": "firmaciv:wood/watercraft_frame/flat/spruce", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", + "block": "firmaciv:wood/watercraft_frame/flat/spruce", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", + "block": "firmaciv:wood/watercraft_frame/flat/spruce", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", + "block": "firmaciv:wood/watercraft_frame/flat/spruce", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", + "block": "firmaciv:wood/watercraft_frame/flat/spruce", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/spruce", + "block": "firmaciv:wood/watercraft_frame/flat/spruce", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/sycamore.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/sycamore.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/sycamore.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/sycamore.json index 00752807b..2138d1327 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/sycamore.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/sycamore.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", + "block": "firmaciv:wood/watercraft_frame/flat/sycamore", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", + "block": "firmaciv:wood/watercraft_frame/flat/sycamore", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", + "block": "firmaciv:wood/watercraft_frame/flat/sycamore", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", + "block": "firmaciv:wood/watercraft_frame/flat/sycamore", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", + "block": "firmaciv:wood/watercraft_frame/flat/sycamore", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", + "block": "firmaciv:wood/watercraft_frame/flat/sycamore", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", + "block": "firmaciv:wood/watercraft_frame/flat/sycamore", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", + "block": "firmaciv:wood/watercraft_frame/flat/sycamore", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", + "block": "firmaciv:wood/watercraft_frame/flat/sycamore", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", + "block": "firmaciv:wood/watercraft_frame/flat/sycamore", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", + "block": "firmaciv:wood/watercraft_frame/flat/sycamore", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/sycamore", + "block": "firmaciv:wood/watercraft_frame/flat/sycamore", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/white_cedar.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/white_cedar.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/white_cedar.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/white_cedar.json index ca0d3bfbe..54a39a172 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/white_cedar.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/white_cedar.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", + "block": "firmaciv:wood/watercraft_frame/flat/white_cedar", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", + "block": "firmaciv:wood/watercraft_frame/flat/white_cedar", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", + "block": "firmaciv:wood/watercraft_frame/flat/white_cedar", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", + "block": "firmaciv:wood/watercraft_frame/flat/white_cedar", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", + "block": "firmaciv:wood/watercraft_frame/flat/white_cedar", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", + "block": "firmaciv:wood/watercraft_frame/flat/white_cedar", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", + "block": "firmaciv:wood/watercraft_frame/flat/white_cedar", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", + "block": "firmaciv:wood/watercraft_frame/flat/white_cedar", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", + "block": "firmaciv:wood/watercraft_frame/flat/white_cedar", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", + "block": "firmaciv:wood/watercraft_frame/flat/white_cedar", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", + "block": "firmaciv:wood/watercraft_frame/flat/white_cedar", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/white_cedar", + "block": "firmaciv:wood/watercraft_frame/flat/white_cedar", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/willow.json b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/willow.json similarity index 90% rename from kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/willow.json rename to kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/willow.json index 23ea57955..879ab55ec 100644 --- a/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame_flat/willow.json +++ b/kubejs/data/firmaciv/loot_tables/blocks/wood/watercraft_frame/flat/willow.json @@ -30,7 +30,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", + "block": "firmaciv:wood/watercraft_frame/flat/willow", "properties": { "frame_processed": "0" } @@ -43,7 +43,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", + "block": "firmaciv:wood/watercraft_frame/flat/willow", "properties": { "frame_processed": "1" } @@ -62,7 +62,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", + "block": "firmaciv:wood/watercraft_frame/flat/willow", "properties": { "frame_processed": "2" } @@ -81,7 +81,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", + "block": "firmaciv:wood/watercraft_frame/flat/willow", "properties": { "frame_processed": "3" } @@ -100,7 +100,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", + "block": "firmaciv:wood/watercraft_frame/flat/willow", "properties": { "frame_processed": "4" } @@ -119,7 +119,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", + "block": "firmaciv:wood/watercraft_frame/flat/willow", "properties": { "frame_processed": "5" } @@ -138,7 +138,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", + "block": "firmaciv:wood/watercraft_frame/flat/willow", "properties": { "frame_processed": "6" } @@ -157,7 +157,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", + "block": "firmaciv:wood/watercraft_frame/flat/willow", "properties": { "frame_processed": "7" } @@ -192,7 +192,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", + "block": "firmaciv:wood/watercraft_frame/flat/willow", "properties": { "frame_processed": "4" } @@ -205,7 +205,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", + "block": "firmaciv:wood/watercraft_frame/flat/willow", "properties": { "frame_processed": "5" } @@ -224,7 +224,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", + "block": "firmaciv:wood/watercraft_frame/flat/willow", "properties": { "frame_processed": "6" } @@ -243,7 +243,7 @@ "conditions": [ { "condition": "minecraft:block_state_property", - "block": "firmaciv:wood/watercraft_frame_flat/willow", + "block": "firmaciv:wood/watercraft_frame/flat/willow", "properties": { "frame_processed": "7" } diff --git a/kubejs/data/forge/tags/items/dusts.json b/kubejs/data/forge/tags/items/dusts.json deleted file mode 100644 index e2ad84af9..000000000 --- a/kubejs/data/forge/tags/items/dusts.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "replace": true, - "values": [] -} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/chests/bastion_bridge.jsond b/kubejs/data/minecraft/loot_tables/chests/bastion_bridge.jsond new file mode 100644 index 000000000..f9341687b --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_bridge.jsond @@ -0,0 +1,233 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:lodestone" + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "damage": { + "type": "minecraft:uniform", + "max": 0.5, + "min": 0.1 + }, + "function": "minecraft:set_damage" + } + ], + "name": "minecraft:crossbow" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 28.0, + "min": 10.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:spectral_arrow" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 12.0, + "min": 8.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gilded_blackstone" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crying_obsidian" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_block" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 9.0, + "min": 4.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_ingot" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 9.0, + "min": 4.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_ingot" + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 2.0, + "min": 1.0 + } + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:string" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:leather" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 17.0, + "min": 5.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:arrow" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_nugget" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_nugget" + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 2.0 + } + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:empty", + "weight": 11 + }, + { + "type": "minecraft:item", + "name": "minecraft:snout_armor_trim_smithing_template" + } + ], + "rolls": 1.0 + } + ], + "random_sequence": "minecraft:chests/bastion_bridge" +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.jsond b/kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.jsond new file mode 100644 index 000000000..36e33970b --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_hoglin_stable.jsond @@ -0,0 +1,326 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "name": "gtceu:cobalt_ingot", + "weight": 15 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:brass_ingot", + "weight": 12 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 8 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:steel_ingot", + "weight": 12 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 2.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 5 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:saddle", + "weight": 12 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_block", + "weight": 16 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 17.0, + "min": 8.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:golden_carrot", + "weight": 10 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:golden_apple", + "weight": 10 + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crying_obsidian" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:glowstone" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gilded_blackstone" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 7.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:soul_sand" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 7.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crimson_nylium" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_nugget" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:leather" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 17.0, + "min": 5.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:arrow" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:string" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "tfc:food/cooked_pork" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "tfc:food/cooked_pork" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 7.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crimson_fungus" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 7.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crimson_roots" + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 3.0 + } + } + ], + "random_sequence": "minecraft:chests/bastion_hoglin_stable" +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/chests/bastion_other.jsond b/kubejs/data/minecraft/loot_tables/chests/bastion_other.jsond new file mode 100644 index 000000000..f3d6ad869 --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_other.jsond @@ -0,0 +1,420 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 6 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 6 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "damage": { + "type": "minecraft:uniform", + "max": 0.9, + "min": 0.1 + }, + "function": "minecraft:set_damage" + } + ], + "name": "minecraft:crossbow", + "weight": 6 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 12 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 4 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 22.0, + "min": 10.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:spectral_arrow", + "weight": 10 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:piglin_banner_pattern", + "weight": 9 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:music_disc_pigstep", + "weight": 5 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 17.0, + "min": 6.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:golden_carrot", + "weight": 12 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:golden_apple", + "weight": 9 + }, + { + "type": "minecraft:item", + "name": "minecraft:book", + "weight": 10 + } + ], + "rolls": 1.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 2 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_block", + "weight": 2 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_block", + "weight": 2 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crossbow" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_ingot", + "weight": 2 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_ingot", + "weight": 2 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crying_obsidian", + "weight": 2 + } + ], + "rolls": 2.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gilded_blackstone", + "weight": 2 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 10.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:chain" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:magma_cream", + "weight": 2 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:bone_block" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_nugget" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 4.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:obsidian" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_nugget" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 4.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:string" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 17.0, + "min": 5.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:arrow", + "weight": 2 + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 3.0 + } + } + ], + "random_sequence": "minecraft:chests/bastion_other" +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/chests/bastion_treasure.jsond b/kubejs/data/minecraft/loot_tables/chests/bastion_treasure.jsond new file mode 100644 index 000000000..a4adf48de --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/chests/bastion_treasure.jsond @@ -0,0 +1,293 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 15 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 10 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 8 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 2.0, + "function": "minecraft:set_count" + } + ], + "name": "gtceu:damascus_steel_ingot", + "weight": 4 + }, + { + "type": "minecraft:item", + "name": "gtceu:diamond_sword", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{DisallowContainerItem:0b,GT.Behaviours:{},GT.Tool:{AttackDamage:10.0f,AttackSpeed:-2.3000002f,Damage:0,MaxDamage:4607},HideFlags:2}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:diamond_pickaxe", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{DisallowContainerItem:0b,GT.Behaviours:{},GT.Tool:{AttackDamage:8.0f,AttackSpeed:-2.7f,Damage:0,HarvestLevel:3,MaxDamage:4607,ToolSpeed:10.0f},HideFlags:2}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:diamond_axe", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{DisallowContainerItem:0b,GT.Behaviours:{DisableShields:1b,TreeFelling:1b},GT.Tool:{AttackDamage:12.0f,AttackSpeed:-3.1000001f,Damage:0,HarvestLevel:3,MaxDamage:4607,ToolSpeed:8.0f},HideFlags:2}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:diamond_shovel", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{DisallowContainerItem:0b,GT.Behaviours:{},GT.Tool:{AttackDamage:8.5f,AttackSpeed:-2.9f,Damage:0,HarvestLevel:3,MaxDamage:4607,ToolSpeed:10.0f},HideFlags:2}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:diamond_hammer", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{DisallowContainerItem:0b,GT.Behaviours:{},GT.Tool:{AttackDamage:8.0f,AttackSpeed:-2.7f,Damage:0,HarvestLevel:3,MaxDamage:4607,ToolSpeed:10.0f},HideFlags:2}" + } + ] + }, + { + "type": "minecraft:item", + "name": "gtceu:diamond_mining_hammer", + "functions": [ + { + "function": "minecraft:set_nbt", + "tag": "{DisallowContainerItem:0b,GT.Behaviours:{AoEColumn:1,AoELayer:0,AoERow:1,MaxAoEColumn:1,MaxAoELayer:0,MaxAoERow:1},GT.Tool:{AttackDamage:8.5f,AttackSpeed:-3.1000001f,Damage:0,HarvestLevel:3,MaxDamage:13823,ToolSpeed:6.4f},HideFlags:2}" + } + ] + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 6.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:diamond", + "weight": 5 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": 1.0, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:enchanted_golden_apple", + "weight": 2 + } + ], + "rolls": 3.0 + }, + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 25.0, + "min": 12.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:spectral_arrow" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_block" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_block" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 9.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_ingot" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 9.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_ingot" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:crying_obsidian" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 23.0, + "min": 8.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:quartz" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 15.0, + "min": 5.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gilded_blackstone" + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 8.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:magma_cream" + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 3.0 + } + } + ], + "random_sequence": "minecraft:chests/bastion_treasure" +} \ No newline at end of file diff --git a/kubejs/data/minecraft/loot_tables/chests/nether_bridge.jsond b/kubejs/data/minecraft/loot_tables/chests/nether_bridge.jsond new file mode 100644 index 000000000..b6c38ba2b --- /dev/null +++ b/kubejs/data/minecraft/loot_tables/chests/nether_bridge.jsond @@ -0,0 +1,151 @@ +{ + "type": "minecraft:chest", + "pools": [ + { + "bonus_rolls": 0.0, + "entries": [ + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:diamond", + "weight": 5 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 5.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:iron_ingot", + "weight": 5 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 3.0, + "min": 1.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:gold_ingot", + "weight": 15 + }, + { + "type": "minecraft:item", + "name": "minecraft:flint_and_steel", + "weight": 5 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 7.0, + "min": 3.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:nether_wart", + "weight": 5 + }, + { + "type": "minecraft:item", + "name": "minecraft:saddle", + "weight": 10 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/copper", + "weight": 9 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/bismuth_bronze", + "weight": 8 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/bronze", + "weight": 7 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/black_bronze", + "weight": 6 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/wrought_iron", + "weight": 5 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/steel", + "weight": 4 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/black_steel", + "weight": 3 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/blue_steel", + "weight": 2 + }, + { + "type": "minecraft:item", + "name": "tfc:metal/horse_armor/red_steel", + "weight": 1 + }, + { + "type": "minecraft:item", + "functions": [ + { + "add": false, + "count": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 2.0 + }, + "function": "minecraft:set_count" + } + ], + "name": "minecraft:obsidian", + "weight": 2 + } + ], + "rolls": { + "type": "minecraft:uniform", + "max": 4.0, + "min": 2.0 + } + } + ], + "random_sequence": "minecraft:chests/nether_bridge" +} \ No newline at end of file diff --git a/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_dimensions.json b/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_dimensions.json new file mode 100644 index 000000000..8d5d44a6a --- /dev/null +++ b/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_dimensions.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:ore", + "config": { + "size": 0, + "discard_chance_on_air_exposure": 0, + "targets": [ + { + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + }, + "state": { + "Name": "rftoolsbase:dimensionalshard_overworld" + } + } + ] + } +} diff --git a/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_end.json b/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_end.json new file mode 100644 index 000000000..d184917e8 --- /dev/null +++ b/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_end.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:ore", + "config": { + "size": 0, + "discard_chance_on_air_exposure": 0, + "targets": [ + { + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:end_stones" + }, + "state": { + "Name": "rftoolsbase:dimensionalshard_end" + } + } + ] + } +} diff --git a/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_nether.json b/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_nether.json new file mode 100644 index 000000000..c7d5647bc --- /dev/null +++ b/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_nether.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:ore", + "config": { + "size": 0, + "discard_chance_on_air_exposure": 0, + "targets": [ + { + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:base_stone_nether" + }, + "state": { + "Name": "rftoolsbase:dimensionalshard_nether" + } + } + ] + } +} diff --git a/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_overworld.json b/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_overworld.json new file mode 100644 index 000000000..8d5d44a6a --- /dev/null +++ b/kubejs/data/rftoolsbase/worldgen/configured_feature/dimshard_overworld.json @@ -0,0 +1,18 @@ +{ + "type": "minecraft:ore", + "config": { + "size": 0, + "discard_chance_on_air_exposure": 0, + "targets": [ + { + "target": { + "predicate_type": "minecraft:tag_match", + "tag": "minecraft:stone_ore_replaceables" + }, + "state": { + "Name": "rftoolsbase:dimensionalshard_overworld" + } + } + ] + } +} diff --git a/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_dimensions.json b/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_dimensions.json new file mode 100644 index 000000000..de5c3324a --- /dev/null +++ b/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_dimensions.json @@ -0,0 +1,27 @@ +{ + "feature": "rftoolsbase:dimshard_overworld", + "placement": [ + { + "count": 0, + "type": "minecraft:count" + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "min_inclusive": { + "absolute": -64 + }, + "max_inclusive": { + "absolute": -64 + } + } + }, + { + "type": "rftoolsbase:filter_dimensions" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_end.json b/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_end.json new file mode 100644 index 000000000..c324fb370 --- /dev/null +++ b/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_end.json @@ -0,0 +1,27 @@ +{ + "feature": "rftoolsbase:dimshard_end", + "placement": [ + { + "count": 0, + "type": "minecraft:count" + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "min_inclusive": { + "absolute": -64 + }, + "max_inclusive": { + "absolute": -64 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_nether.json b/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_nether.json new file mode 100644 index 000000000..0012cd94c --- /dev/null +++ b/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_nether.json @@ -0,0 +1,27 @@ +{ + "feature": "rftoolsbase:dimshard_nether", + "placement": [ + { + "count": 0, + "type": "minecraft:count" + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "min_inclusive": { + "absolute": -64 + }, + "max_inclusive": { + "absolute": -64 + } + } + }, + { + "type": "minecraft:biome" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_overworld.json b/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_overworld.json new file mode 100644 index 000000000..b3421f84d --- /dev/null +++ b/kubejs/data/rftoolsbase/worldgen/placed_feature/dimshard_overworld.json @@ -0,0 +1,27 @@ +{ + "feature": "rftoolsbase:dimshard_overworld", + "placement": [ + { + "count": 0, + "type": "minecraft:count" + }, + { + "type": "minecraft:in_square" + }, + { + "type": "minecraft:height_range", + "height": { + "type": "minecraft:uniform", + "min_inclusive": { + "absolute": -64 + }, + "max_inclusive": { + "absolute": -64 + } + } + }, + { + "type": "rftoolsbase:filter_overworld" + } + ] +} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/geode.json b/kubejs/data/tfc/worldgen/configured_feature/geode.json similarity index 100% rename from kubejs/data/tfg/worldgen/configured_feature/geode.json rename to kubejs/data/tfc/worldgen/configured_feature/geode.json diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_garnet_amethyst.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_garnet_amethyst.json deleted file mode 100644 index 5c182435e..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_garnet_amethyst.json +++ /dev/null @@ -1,313 +0,0 @@ -{ - "type": "tfc:disc_vein", - "config": { - "rarity": 230, - "density": 0.25, - "min_y": -64, - "max_y": 26, - "size": 28, - "random_name": "deep_garnet_amethyst", - "height": 8, - "blocks": [ - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:quartzite_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:quartzite_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:quartzite_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:slate_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:slate_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:slate_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:phyllite_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:phyllite_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:phyllite_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:schist_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:schist_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:schist_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:gneiss_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:gneiss_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:gneiss_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:marble_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:marble_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:marble_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:shale_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:shale_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:shale_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:claystone_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:claystone_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:claystone_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:limestone_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:limestone_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:limestone_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/conglomerate" - ], - "with": [ - { - "block": "gtceu:conglomerate_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:conglomerate_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:conglomerate_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:conglomerate_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dolomite" - ], - "with": [ - { - "block": "gtceu:dolomite_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:dolomite_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:dolomite_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:dolomite_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:chert_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:chert_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:chert_opal_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:chalk_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:chalk_amethyst_ore", - "weight": 65 - }, - { - "block": "gtceu:chalk_opal_ore", - "weight": 15 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_garnet_opal.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_garnet_opal.json deleted file mode 100644 index 4d44ad915..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_garnet_opal.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "type": "tfc:disc_vein", - "config": { - "rarity": 220, - "density": 0.35, - "min_y": -64, - "max_y": 62, - "size": 26, - "random_name": "deep_garnet_opal", - "height": 6, - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:rhyolite_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:rhyolite_amethyst_ore", - "weight": 25 - }, - { - "block": "gtceu:rhyolite_opal_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:basalt_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:basalt_amethyst_ore", - "weight": 25 - }, - { - "block": "gtceu:basalt_opal_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:andesite_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:andesite_amethyst_ore", - "weight": 25 - }, - { - "block": "gtceu:andesite_opal_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:dacite_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:dacite_amethyst_ore", - "weight": 25 - }, - { - "block": "gtceu:dacite_opal_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:granite_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:granite_amethyst_ore", - "weight": 25 - }, - { - "block": "gtceu:granite_opal_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:diorite_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:diorite_amethyst_ore", - "weight": 25 - }, - { - "block": "gtceu:diorite_opal_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_red_garnet_ore", - "weight": 5 - }, - { - "block": "gtceu:gabbro_yellow_garnet_ore", - "weight": 15 - }, - { - "block": "gtceu:gabbro_amethyst_ore", - "weight": 25 - }, - { - "block": "gtceu:gabbro_opal_ore", - "weight": 55 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_gold.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_gold.json deleted file mode 100644 index ddab0f5d8..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_gold.json +++ /dev/null @@ -1,174 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 260, - "density": 0.45, - "min_y": -64, - "max_y": 30, - "size": 32, - "random_name": "deep_gold", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:rhyolite_yellow_limonite_ore", - "weight": 5 - }, - { - "block": "gtceu:rhyolite_hematite_ore", - "weight": 15 - }, - { - "block": "gtceu:rhyolite_gold_ore", - "weight": 75 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:basalt_yellow_limonite_ore", - "weight": 5 - }, - { - "block": "gtceu:basalt_hematite_ore", - "weight": 15 - }, - { - "block": "gtceu:basalt_gold_ore", - "weight": 75 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:andesite_yellow_limonite_ore", - "weight": 5 - }, - { - "block": "gtceu:andesite_hematite_ore", - "weight": 15 - }, - { - "block": "gtceu:andesite_gold_ore", - "weight": 75 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:dacite_yellow_limonite_ore", - "weight": 5 - }, - { - "block": "gtceu:dacite_hematite_ore", - "weight": 15 - }, - { - "block": "gtceu:dacite_gold_ore", - "weight": 75 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:granite_yellow_limonite_ore", - "weight": 5 - }, - { - "block": "gtceu:granite_hematite_ore", - "weight": 15 - }, - { - "block": "gtceu:granite_gold_ore", - "weight": 75 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:diorite_yellow_limonite_ore", - "weight": 5 - }, - { - "block": "gtceu:diorite_hematite_ore", - "weight": 15 - }, - { - "block": "gtceu:diorite_gold_ore", - "weight": 75 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:gabbro_yellow_limonite_ore", - "weight": 5 - }, - { - "block": "gtceu:gabbro_hematite_ore", - "weight": 15 - }, - { - "block": "gtceu:gabbro_gold_ore", - "weight": 75 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_hematite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_hematite.json deleted file mode 100644 index c354a8d12..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_hematite.json +++ /dev/null @@ -1,121 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 220, - "density": 0.35, - "min_y": -64, - "max_y": 30, - "size": 30, - "random_name": "deep_hematite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_goethite_ore", - "weight": 25 - }, - { - "block": "gtceu:rhyolite_yellow_limonite_ore", - "weight": 15 - }, - { - "block": "gtceu:rhyolite_hematite_ore", - "weight": 35 - }, - { - "block": "gtceu:rhyolite_gold_ore", - "weight": 5 - }, - { - "block": "gtceu:rhyolite_ruby_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_goethite_ore", - "weight": 25 - }, - { - "block": "gtceu:basalt_yellow_limonite_ore", - "weight": 15 - }, - { - "block": "gtceu:basalt_hematite_ore", - "weight": 35 - }, - { - "block": "gtceu:basalt_gold_ore", - "weight": 5 - }, - { - "block": "gtceu:basalt_ruby_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_goethite_ore", - "weight": 25 - }, - { - "block": "gtceu:andesite_yellow_limonite_ore", - "weight": 15 - }, - { - "block": "gtceu:andesite_hematite_ore", - "weight": 35 - }, - { - "block": "gtceu:andesite_gold_ore", - "weight": 5 - }, - { - "block": "gtceu:andesite_ruby_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_goethite_ore", - "weight": 25 - }, - { - "block": "gtceu:dacite_yellow_limonite_ore", - "weight": 15 - }, - { - "block": "gtceu:dacite_hematite_ore", - "weight": 35 - }, - { - "block": "gtceu:dacite_gold_ore", - "weight": 5 - }, - { - "block": "gtceu:dacite_ruby_ore", - "weight": 20 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_limonite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_limonite.json deleted file mode 100644 index 186db84af..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_limonite.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 240, - "density": 0.35, - "min_y": -64, - "max_y": 30, - "size": 32, - "random_name": "deep_limonite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_goethite_ore", - "weight": 50 - }, - { - "block": "gtceu:marble_yellow_limonite_ore", - "weight": 15 - }, - { - "block": "gtceu:marble_hematite_ore", - "weight": 15 - }, - { - "block": "gtceu:marble_malachite_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_goethite_ore", - "weight": 50 - }, - { - "block": "gtceu:limestone_yellow_limonite_ore", - "weight": 15 - }, - { - "block": "gtceu:limestone_hematite_ore", - "weight": 15 - }, - { - "block": "gtceu:limestone_malachite_ore", - "weight": 20 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_magnetite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_magnetite.json deleted file mode 100644 index a9f375c72..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_magnetite.json +++ /dev/null @@ -1,202 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 205, - "density": 0.3, - "min_y": -64, - "max_y": 30, - "size": 34, - "random_name": "deep_magnetite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_magnetite_ore", - "weight": 5 - }, - { - "block": "gtceu:shale_vanadium_magnetite_ore", - "weight": 15 - }, - { - "block": "gtceu:shale_chromite_ore", - "weight": 60 - }, - { - "block": "gtceu:shale_gold_ore", - "weight": 15 - }, - { - "block": "gtceu:shale_sapphire_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_magnetite_ore", - "weight": 5 - }, - { - "block": "gtceu:claystone_vanadium_magnetite_ore", - "weight": 15 - }, - { - "block": "gtceu:claystone_chromite_ore", - "weight": 60 - }, - { - "block": "gtceu:claystone_gold_ore", - "weight": 15 - }, - { - "block": "gtceu:claystone_sapphire_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_magnetite_ore", - "weight": 5 - }, - { - "block": "gtceu:limestone_vanadium_magnetite_ore", - "weight": 15 - }, - { - "block": "gtceu:limestone_chromite_ore", - "weight": 60 - }, - { - "block": "gtceu:limestone_gold_ore", - "weight": 15 - }, - { - "block": "gtceu:limestone_sapphire_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/conglomerate" - ], - "with": [ - { - "block": "gtceu:conglomerate_magnetite_ore", - "weight": 5 - }, - { - "block": "gtceu:conglomerate_vanadium_magnetite_ore", - "weight": 15 - }, - { - "block": "gtceu:conglomerate_chromite_ore", - "weight": 60 - }, - { - "block": "gtceu:conglomerate_gold_ore", - "weight": 15 - }, - { - "block": "gtceu:conglomerate_sapphire_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dolomite" - ], - "with": [ - { - "block": "gtceu:dolomite_magnetite_ore", - "weight": 5 - }, - { - "block": "gtceu:dolomite_vanadium_magnetite_ore", - "weight": 15 - }, - { - "block": "gtceu:dolomite_chromite_ore", - "weight": 60 - }, - { - "block": "gtceu:dolomite_gold_ore", - "weight": 15 - }, - { - "block": "gtceu:dolomite_sapphire_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_magnetite_ore", - "weight": 5 - }, - { - "block": "gtceu:chert_vanadium_magnetite_ore", - "weight": 15 - }, - { - "block": "gtceu:chert_chromite_ore", - "weight": 60 - }, - { - "block": "gtceu:chert_gold_ore", - "weight": 15 - }, - { - "block": "gtceu:chert_sapphire_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_magnetite_ore", - "weight": 5 - }, - { - "block": "gtceu:chalk_vanadium_magnetite_ore", - "weight": 15 - }, - { - "block": "gtceu:chalk_chromite_ore", - "weight": 60 - }, - { - "block": "gtceu:chalk_gold_ore", - "weight": 15 - }, - { - "block": "gtceu:chalk_sapphire_ore", - "weight": 5 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_molybdenum.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_molybdenum.json deleted file mode 100644 index 5c616d03e..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_molybdenum.json +++ /dev/null @@ -1,174 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 245, - "density": 0.45, - "min_y": -64, - "max_y": 10, - "size": 26, - "random_name": "deep_molybdenum", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_wulfenite_ore", - "weight": 40 - }, - { - "block": "gtceu:rhyolite_molybdenite_ore", - "weight": 30 - }, - { - "block": "gtceu:rhyolite_molybdenum_ore", - "weight": 15 - }, - { - "block": "gtceu:rhyolite_powellite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_wulfenite_ore", - "weight": 40 - }, - { - "block": "gtceu:basalt_molybdenite_ore", - "weight": 30 - }, - { - "block": "gtceu:basalt_molybdenum_ore", - "weight": 15 - }, - { - "block": "gtceu:basalt_powellite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_wulfenite_ore", - "weight": 40 - }, - { - "block": "gtceu:andesite_molybdenite_ore", - "weight": 30 - }, - { - "block": "gtceu:andesite_molybdenum_ore", - "weight": 15 - }, - { - "block": "gtceu:andesite_powellite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_wulfenite_ore", - "weight": 40 - }, - { - "block": "gtceu:dacite_molybdenite_ore", - "weight": 30 - }, - { - "block": "gtceu:dacite_molybdenum_ore", - "weight": 15 - }, - { - "block": "gtceu:dacite_powellite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_wulfenite_ore", - "weight": 40 - }, - { - "block": "gtceu:granite_molybdenite_ore", - "weight": 30 - }, - { - "block": "gtceu:granite_molybdenum_ore", - "weight": 15 - }, - { - "block": "gtceu:granite_powellite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_wulfenite_ore", - "weight": 40 - }, - { - "block": "gtceu:diorite_molybdenite_ore", - "weight": 30 - }, - { - "block": "gtceu:diorite_molybdenum_ore", - "weight": 15 - }, - { - "block": "gtceu:diorite_powellite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_wulfenite_ore", - "weight": 40 - }, - { - "block": "gtceu:gabbro_molybdenite_ore", - "weight": 30 - }, - { - "block": "gtceu:gabbro_molybdenum_ore", - "weight": 15 - }, - { - "block": "gtceu:gabbro_powellite_ore", - "weight": 15 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_naquadah.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_naquadah.json deleted file mode 100644 index ae246bac5..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_naquadah.json +++ /dev/null @@ -1,103 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 310, - "density": 0.25, - "min_y": -64, - "max_y": -20, - "size": 22, - "random_name": "deep_naquadah", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_naquadah_ore", - "weight": 75 - }, - { - "block": "gtceu:quartzite_plutonium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_naquadah_ore", - "weight": 75 - }, - { - "block": "gtceu:slate_plutonium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_naquadah_ore", - "weight": 75 - }, - { - "block": "gtceu:phyllite_plutonium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_naquadah_ore", - "weight": 75 - }, - { - "block": "gtceu:schist_plutonium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_naquadah_ore", - "weight": 75 - }, - { - "block": "gtceu:gneiss_plutonium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_naquadah_ore", - "weight": 75 - }, - { - "block": "gtceu:marble_plutonium_ore", - "weight": 25 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_pitchblende.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_pitchblende.json deleted file mode 100644 index 2ce0d37b3..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_pitchblende.json +++ /dev/null @@ -1,148 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 220, - "density": 0.45, - "min_y": -64, - "max_y": -20, - "size": 24, - "random_name": "deep_pitchblende", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:granite_uraninite_ore", - "weight": 50 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:diorite_uraninite_ore", - "weight": 50 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:gabbro_uraninite_ore", - "weight": 50 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:quartzite_uraninite_ore", - "weight": 50 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:slate_uraninite_ore", - "weight": 50 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:phyllite_uraninite_ore", - "weight": 50 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:schist_uraninite_ore", - "weight": 50 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:gneiss_uraninite_ore", - "weight": 50 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_pitchblende_ore", - "weight": 50 - }, - { - "block": "gtceu:marble_uraninite_ore", - "weight": 50 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_sapphire.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_sapphire.json deleted file mode 100644 index 4f38d2fc0..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_sapphire.json +++ /dev/null @@ -1,106 +0,0 @@ -{ - "type": "tfc:disc_vein", - "config": { - "rarity": 280, - "density": 0.35, - "min_y": -64, - "max_y": 26, - "size": 28, - "random_name": "deep_sapphire", - "height": 8, - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_almandine_ore", - "weight": 35 - }, - { - "block": "gtceu:rhyolite_pyrope_ore", - "weight": 25 - }, - { - "block": "gtceu:rhyolite_sapphire_ore", - "weight": 15 - }, - { - "block": "gtceu:rhyolite_green_sapphire_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_almandine_ore", - "weight": 35 - }, - { - "block": "gtceu:basalt_pyrope_ore", - "weight": 25 - }, - { - "block": "gtceu:basalt_sapphire_ore", - "weight": 15 - }, - { - "block": "gtceu:basalt_green_sapphire_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_almandine_ore", - "weight": 35 - }, - { - "block": "gtceu:andesite_pyrope_ore", - "weight": 25 - }, - { - "block": "gtceu:andesite_sapphire_ore", - "weight": 15 - }, - { - "block": "gtceu:andesite_green_sapphire_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_almandine_ore", - "weight": 35 - }, - { - "block": "gtceu:dacite_pyrope_ore", - "weight": 25 - }, - { - "block": "gtceu:dacite_sapphire_ore", - "weight": 15 - }, - { - "block": "gtceu:dacite_green_sapphire_ore", - "weight": 15 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_scheelite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_scheelite.json deleted file mode 100644 index 60dad99ed..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_scheelite.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 220, - "density": 0.35, - "min_y": -64, - "max_y": 0, - "size": 28, - "random_name": "deep_scheelite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_scheelite_ore", - "weight": 45 - }, - { - "block": "gtceu:granite_tungstate_ore", - "weight": 35 - }, - { - "block": "gtceu:granite_lithium_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_scheelite_ore", - "weight": 45 - }, - { - "block": "gtceu:diorite_tungstate_ore", - "weight": 35 - }, - { - "block": "gtceu:diorite_lithium_ore", - "weight": 20 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_scheelite_ore", - "weight": 45 - }, - { - "block": "gtceu:gabbro_tungstate_ore", - "weight": 35 - }, - { - "block": "gtceu:gabbro_lithium_ore", - "weight": 20 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_sheldonite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_sheldonite.json deleted file mode 100644 index 6a61d6e5b..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_sheldonite.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 300, - "density": 0.3, - "min_y": -64, - "max_y": 0, - "size": 30, - "random_name": "deep_sheldonite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:quartzite_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_platinum_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_palladium_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:slate_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_platinum_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_palladium_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:phyllite_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_platinum_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_palladium_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:schist_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:schist_platinum_ore", - "weight": 25 - }, - { - "block": "gtceu:schist_palladium_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:gneiss_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:gneiss_platinum_ore", - "weight": 25 - }, - { - "block": "gtceu:gneiss_palladium_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_bornite_ore", - "weight": 35 - }, - { - "block": "gtceu:marble_cooperite_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_platinum_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_palladium_ore", - "weight": 15 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_topaz.json b/kubejs/data/tfg/worldgen/configured_feature/vein/deep_topaz.json deleted file mode 100644 index bbbefa97b..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/deep_topaz.json +++ /dev/null @@ -1,152 +0,0 @@ -{ - "type": "tfc:disc_vein", - "config": { - "rarity": 260, - "density": 0.3, - "min_y": -64, - "max_y": 26, - "size": 28, - "random_name": "deep_topaz", - "height": 7, - "blocks": [ - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_blue_topaz_ore", - "weight": 35 - }, - { - "block": "gtceu:quartzite_topaz_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_chalcocite_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_bornite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_blue_topaz_ore", - "weight": 35 - }, - { - "block": "gtceu:slate_topaz_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_chalcocite_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_bornite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_blue_topaz_ore", - "weight": 35 - }, - { - "block": "gtceu:phyllite_topaz_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_chalcocite_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_bornite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_blue_topaz_ore", - "weight": 35 - }, - { - "block": "gtceu:schist_topaz_ore", - "weight": 25 - }, - { - "block": "gtceu:schist_chalcocite_ore", - "weight": 25 - }, - { - "block": "gtceu:schist_bornite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_blue_topaz_ore", - "weight": 35 - }, - { - "block": "gtceu:gneiss_topaz_ore", - "weight": 25 - }, - { - "block": "gtceu:gneiss_chalcocite_ore", - "weight": 25 - }, - { - "block": "gtceu:gneiss_bornite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_blue_topaz_ore", - "weight": 35 - }, - { - "block": "gtceu:marble_topaz_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_chalcocite_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_bornite_ore", - "weight": 15 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_apatite_.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_apatite_.json deleted file mode 100644 index e55526af6..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_apatite_.json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 220, - "density": 0.25, - "min_y": -32, - "max_y": 60, - "size": 34, - "random_name": "normal_apatite_", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_apatite_ore", - "weight": 50 - }, - { - "block": "gtceu:granite_tricalcium_phosphate_ore", - "weight": 35 - }, - { - "block": "gtceu:granite_pyrochlore_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_apatite_ore", - "weight": 50 - }, - { - "block": "gtceu:diorite_tricalcium_phosphate_ore", - "weight": 35 - }, - { - "block": "gtceu:diorite_pyrochlore_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_apatite_ore", - "weight": 50 - }, - { - "block": "gtceu:gabbro_tricalcium_phosphate_ore", - "weight": 35 - }, - { - "block": "gtceu:gabbro_pyrochlore_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_apatite_ore", - "weight": 50 - }, - { - "block": "gtceu:quartzite_tricalcium_phosphate_ore", - "weight": 35 - }, - { - "block": "gtceu:quartzite_pyrochlore_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_apatite_ore", - "weight": 50 - }, - { - "block": "gtceu:slate_tricalcium_phosphate_ore", - "weight": 35 - }, - { - "block": "gtceu:slate_pyrochlore_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_apatite_ore", - "weight": 50 - }, - { - "block": "gtceu:phyllite_tricalcium_phosphate_ore", - "weight": 35 - }, - { - "block": "gtceu:phyllite_pyrochlore_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_apatite_ore", - "weight": 50 - }, - { - "block": "gtceu:schist_tricalcium_phosphate_ore", - "weight": 35 - }, - { - "block": "gtceu:schist_pyrochlore_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_apatite_ore", - "weight": 50 - }, - { - "block": "gtceu:gneiss_tricalcium_phosphate_ore", - "weight": 35 - }, - { - "block": "gtceu:gneiss_pyrochlore_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_apatite_ore", - "weight": 50 - }, - { - "block": "gtceu:marble_tricalcium_phosphate_ore", - "weight": 35 - }, - { - "block": "gtceu:marble_pyrochlore_ore", - "weight": 15 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_basaltic_sands.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_basaltic_sands.json deleted file mode 100644 index 630d2171c..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_basaltic_sands.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "type": "tfc:disc_vein", - "config": { - "rarity": 160, - "density": 0.3, - "min_y": -32, - "max_y": 60, - "size": 48, - "random_name": "normal_basaltic_sands", - "height": 9, - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_basaltic_mineral_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:granite_granitic_mineral_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:granite_fullers_earth_ore", - "weight": 25 - }, - { - "block": "gtceu:granite_gypsum_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_basaltic_mineral_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:basalt_granitic_mineral_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:basalt_fullers_earth_ore", - "weight": 25 - }, - { - "block": "gtceu:basalt_gypsum_ore", - "weight": 15 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_bauxite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_bauxite.json deleted file mode 100644 index 4c96d330b..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_bauxite.json +++ /dev/null @@ -1,146 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 185, - "density": 0.3, - "min_y": -32, - "max_y": 60, - "size": 40, - "random_name": "normal_bauxite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_bauxite_ore", - "weight": 45 - }, - { - "block": "gtceu:shale_ilmenite_ore", - "weight": 30 - }, - { - "block": "gtceu:shale_aluminium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_bauxite_ore", - "weight": 45 - }, - { - "block": "gtceu:claystone_ilmenite_ore", - "weight": 30 - }, - { - "block": "gtceu:claystone_aluminium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_bauxite_ore", - "weight": 45 - }, - { - "block": "gtceu:limestone_ilmenite_ore", - "weight": 30 - }, - { - "block": "gtceu:limestone_aluminium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/conglomerate" - ], - "with": [ - { - "block": "gtceu:conglomerate_bauxite_ore", - "weight": 45 - }, - { - "block": "gtceu:conglomerate_ilmenite_ore", - "weight": 30 - }, - { - "block": "gtceu:conglomerate_aluminium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dolomite" - ], - "with": [ - { - "block": "gtceu:dolomite_bauxite_ore", - "weight": 45 - }, - { - "block": "gtceu:dolomite_ilmenite_ore", - "weight": 30 - }, - { - "block": "gtceu:dolomite_aluminium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_bauxite_ore", - "weight": 45 - }, - { - "block": "gtceu:chert_ilmenite_ore", - "weight": 30 - }, - { - "block": "gtceu:chert_aluminium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_bauxite_ore", - "weight": 45 - }, - { - "block": "gtceu:chalk_ilmenite_ore", - "weight": 30 - }, - { - "block": "gtceu:chalk_aluminium_ore", - "weight": 25 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_beryllium.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_beryllium.json deleted file mode 100644 index 0ff3e26c5..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_beryllium.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "type": "tfc:pipe_vein", - "config": { - "rarity": 180, - "density": 0.35, - "min_y": -32, - "max_y": 50, - "random_name": "normal_beryllium", - "min_skew": 6, - "max_skew": 18, - "min_slant": 0, - "max_slant": 4, - "sign": 0, - "height": 60, - "radius": 10, - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_beryllium_ore", - "weight": 35 - }, - { - "block": "gtceu:rhyolite_emerald_ore", - "weight": 50 - }, - { - "block": "gtceu:rhyolite_thorium_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_beryllium_ore", - "weight": 35 - }, - { - "block": "gtceu:basalt_emerald_ore", - "weight": 50 - }, - { - "block": "gtceu:basalt_thorium_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_beryllium_ore", - "weight": 35 - }, - { - "block": "gtceu:andesite_emerald_ore", - "weight": 50 - }, - { - "block": "gtceu:andesite_thorium_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_beryllium_ore", - "weight": 35 - }, - { - "block": "gtceu:dacite_emerald_ore", - "weight": 50 - }, - { - "block": "gtceu:dacite_thorium_ore", - "weight": 15 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_bismuthinite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_bismuthinite.json deleted file mode 100644 index b8c2b9826..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_bismuthinite.json +++ /dev/null @@ -1,215 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 170, - "density": 0.4, - "min_y": -32, - "max_y": 75, - "size": 40, - "random_name": "normal_bismuthinite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_bismuth_ore", - "weight": 80 - }, - { - "block": "gtceu:granite_sulfur_ore", - "weight": 9 - }, - { - "block": "gtceu:granite_lead_ore", - "weight": 11 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_bismuth_ore", - "weight": 80 - }, - { - "block": "gtceu:diorite_sulfur_ore", - "weight": 9 - }, - { - "block": "gtceu:diorite_lead_ore", - "weight": 11 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_bismuth_ore", - "weight": 80 - }, - { - "block": "gtceu:gabbro_sulfur_ore", - "weight": 9 - }, - { - "block": "gtceu:gabbro_lead_ore", - "weight": 11 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_bismuth_ore", - "weight": 80 - }, - { - "block": "gtceu:shale_sulfur_ore", - "weight": 9 - }, - { - "block": "gtceu:shale_lead_ore", - "weight": 11 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_bismuth_ore", - "weight": 80 - }, - { - "block": "gtceu:claystone_sulfur_ore", - "weight": 9 - }, - { - "block": "gtceu:claystone_lead_ore", - "weight": 11 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_bismuth_ore", - "weight": 80 - }, - { - "block": "gtceu:limestone_sulfur_ore", - "weight": 9 - }, - { - "block": "gtceu:limestone_lead_ore", - "weight": 11 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/conglomerate" - ], - "with": [ - { - "block": "gtceu:conglomerate_bismuth_ore", - "weight": 80 - }, - { - "block": "gtceu:conglomerate_sulfur_ore", - "weight": 9 - }, - { - "block": "gtceu:conglomerate_lead_ore", - "weight": 11 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dolomite" - ], - "with": [ - { - "block": "gtceu:dolomite_bismuth_ore", - "weight": 80 - }, - { - "block": "gtceu:dolomite_sulfur_ore", - "weight": 9 - }, - { - "block": "gtceu:dolomite_lead_ore", - "weight": 11 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_bismuth_ore", - "weight": 80 - }, - { - "block": "gtceu:chert_sulfur_ore", - "weight": 9 - }, - { - "block": "gtceu:chert_lead_ore", - "weight": 11 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_bismuth_ore", - "weight": 80 - }, - { - "block": "gtceu:chalk_sulfur_ore", - "weight": 9 - }, - { - "block": "gtceu:chalk_lead_ore", - "weight": 11 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_bismuthinite", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_cassiterite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_cassiterite.json deleted file mode 100644 index c0571a68e..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_cassiterite.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 170, - "density": 0.4, - "min_y": -32, - "max_y": 75, - "size": 40, - "random_name": "normal_cassiterite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_cassiterite_ore", - "weight": 40 - }, - { - "block": "gtceu:granite_tin_ore", - "weight": 60 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_cassiterite_ore", - "weight": 40 - }, - { - "block": "gtceu:diorite_tin_ore", - "weight": 60 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_cassiterite_ore", - "weight": 40 - }, - { - "block": "gtceu:gabbro_tin_ore", - "weight": 60 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_cassiterite", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_certus_quartz.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_certus_quartz.json deleted file mode 100644 index 974fd99e3..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_certus_quartz.json +++ /dev/null @@ -1,105 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 150, - "density": 0.3, - "min_y": -32, - "max_y": 100, - "size": 40, - "random_name": "normal_certus_quartz", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_quartzite_ore", - "weight": 45 - }, - { - "block": "gtceu:shale_certus_quartz_ore", - "weight": 30 - }, - { - "block": "gtceu:shale_barite_ore", - "weight": 15 - }, - { - "block": "gtceu:shale_nether_quartz_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_quartzite_ore", - "weight": 45 - }, - { - "block": "gtceu:quartzite_certus_quartz_ore", - "weight": 30 - }, - { - "block": "gtceu:quartzite_barite_ore", - "weight": 15 - }, - { - "block": "gtceu:quartzite_nether_quartz_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_quartzite_ore", - "weight": 45 - }, - { - "block": "gtceu:schist_certus_quartz_ore", - "weight": 30 - }, - { - "block": "gtceu:schist_barite_ore", - "weight": 15 - }, - { - "block": "gtceu:schist_nether_quartz_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_quartzite_ore", - "weight": 45 - }, - { - "block": "gtceu:gneiss_certus_quartz_ore", - "weight": 30 - }, - { - "block": "gtceu:gneiss_barite_ore", - "weight": 15 - }, - { - "block": "gtceu:gneiss_nether_quartz_ore", - "weight": 10 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_coal.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_coal.json deleted file mode 100644 index 93c69ee0d..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_coal.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 215, - "density": 0.55, - "min_y": 0, - "max_y": 210, - "size": 60, - "random_name": "normal_coal", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_coal_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_coal_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_coal_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/conglomerate" - ], - "with": [ - { - "block": "gtceu:conglomerate_coal_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dolomite" - ], - "with": [ - { - "block": "gtceu:dolomite_coal_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_coal_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_coal_ore", - "weight": 100 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_copper.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_copper.json deleted file mode 100644 index 9ac3958d5..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_copper.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 170, - "density": 0.4, - "min_y": -32, - "max_y": 75, - "size": 40, - "random_name": "normal_copper", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_chalcopyrite_ore", - "weight": 20 - }, - { - "block": "gtceu:rhyolite_iron_ore", - "weight": 5 - }, - { - "block": "gtceu:rhyolite_pyrite_ore", - "weight": 10 - }, - { - "block": "gtceu:rhyolite_copper_ore", - "weight": 65 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_chalcopyrite_ore", - "weight": 20 - }, - { - "block": "gtceu:basalt_iron_ore", - "weight": 5 - }, - { - "block": "gtceu:basalt_pyrite_ore", - "weight": 10 - }, - { - "block": "gtceu:basalt_copper_ore", - "weight": 65 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_chalcopyrite_ore", - "weight": 20 - }, - { - "block": "gtceu:andesite_iron_ore", - "weight": 5 - }, - { - "block": "gtceu:andesite_pyrite_ore", - "weight": 10 - }, - { - "block": "gtceu:andesite_copper_ore", - "weight": 65 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_chalcopyrite_ore", - "weight": 20 - }, - { - "block": "gtceu:dacite_iron_ore", - "weight": 5 - }, - { - "block": "gtceu:dacite_pyrite_ore", - "weight": 10 - }, - { - "block": "gtceu:dacite_copper_ore", - "weight": 65 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 85, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_native_copper", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_garnet_tin.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_garnet_tin.json deleted file mode 100644 index cd8a87579..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_garnet_tin.json +++ /dev/null @@ -1,473 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 360, - "density": 0.25, - "min_y": -40, - "max_y": 64, - "size": 40, - "random_name": "normal_garnet_tin", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:rhyolite_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:rhyolite_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:rhyolite_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:basalt_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:basalt_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:basalt_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:andesite_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:andesite_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:andesite_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:dacite_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:dacite_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:dacite_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:granite_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:granite_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:granite_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:diorite_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:diorite_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:diorite_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:gabbro_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:gabbro_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:gabbro_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:quartzite_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:slate_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:phyllite_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:schist_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:schist_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:schist_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:gneiss_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:gneiss_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:gneiss_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:marble_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:shale_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:shale_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:shale_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:claystone_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:claystone_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:claystone_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:limestone_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:limestone_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:limestone_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/conglomerate" - ], - "with": [ - { - "block": "gtceu:conglomerate_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:conglomerate_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:conglomerate_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:conglomerate_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dolomite" - ], - "with": [ - { - "block": "gtceu:dolomite_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:dolomite_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:dolomite_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:dolomite_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:chert_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:chert_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:chert_diatomite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_cassiterite_sand_ore", - "weight": 35 - }, - { - "block": "gtceu:chalk_garnet_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:chalk_asbestos_ore", - "weight": 25 - }, - { - "block": "gtceu:chalk_diatomite_ore", - "weight": 15 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_garnierite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_garnierite.json deleted file mode 100644 index 3002932eb..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_garnierite.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 140, - "density": 0.4, - "min_y": -32, - "max_y": 60, - "size": 40, - "random_name": "normal_garnierite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_garnierite_ore", - "weight": 30 - }, - { - "block": "gtceu:gabbro_nickel_ore", - "weight": 10 - }, - { - "block": "gtceu:gabbro_cobaltite_ore", - "weight": 20 - }, - { - "block": "gtceu:gabbro_pentlandite_ore", - "weight": 25 - }, - { - "block": "gtceu:gabbro_cobalt_ore", - "weight": 15 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_garnierite", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_gold.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_gold.json deleted file mode 100644 index c3baaa13e..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_gold.json +++ /dev/null @@ -1,187 +0,0 @@ -{ - "type": "tfc:disc_vein", - "config": { - "rarity": 170, - "density": 0.4, - "min_y": -32, - "max_y": 60, - "size": 40, - "random_name": "normal_gold", - "height": 12, - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:rhyolite_yellow_limonite_ore", - "weight": 20 - }, - { - "block": "gtceu:rhyolite_hematite_ore", - "weight": 20 - }, - { - "block": "gtceu:rhyolite_gold_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:basalt_yellow_limonite_ore", - "weight": 20 - }, - { - "block": "gtceu:basalt_hematite_ore", - "weight": 20 - }, - { - "block": "gtceu:basalt_gold_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:andesite_yellow_limonite_ore", - "weight": 20 - }, - { - "block": "gtceu:andesite_hematite_ore", - "weight": 20 - }, - { - "block": "gtceu:andesite_gold_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:dacite_yellow_limonite_ore", - "weight": 20 - }, - { - "block": "gtceu:dacite_hematite_ore", - "weight": 20 - }, - { - "block": "gtceu:dacite_gold_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:granite_yellow_limonite_ore", - "weight": 20 - }, - { - "block": "gtceu:granite_hematite_ore", - "weight": 20 - }, - { - "block": "gtceu:granite_gold_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:diorite_yellow_limonite_ore", - "weight": 20 - }, - { - "block": "gtceu:diorite_hematite_ore", - "weight": 20 - }, - { - "block": "gtceu:diorite_gold_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_goethite_ore", - "weight": 5 - }, - { - "block": "gtceu:gabbro_yellow_limonite_ore", - "weight": 20 - }, - { - "block": "gtceu:gabbro_hematite_ore", - "weight": 20 - }, - { - "block": "gtceu:gabbro_gold_ore", - "weight": 55 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_native_gold", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_graphite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_graphite.json deleted file mode 100644 index c31c1d0fe..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_graphite.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "type": "tfc:pipe_vein", - "config": { - "rarity": 175, - "density": 0.35, - "min_y": -64, - "max_y": 100, - "random_name": "normal_graphite", - "min_skew": 6, - "max_skew": 18, - "min_slant": 0, - "max_slant": 5, - "sign": 0, - "height": 60, - "radius": 12, - "blocks": [ - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_graphite_ore", - "weight": 45 - }, - { - "block": "gtceu:gabbro_diamond_ore", - "weight": 25 - }, - { - "block": "gtceu:gabbro_coal_ore", - "weight": 30 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_hematite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_hematite.json deleted file mode 100644 index cf40974c8..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_hematite.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 210, - "density": 0.4, - "min_y": -32, - "max_y": 75, - "size": 40, - "random_name": "normal_hematite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_goethite_ore", - "weight": 15 - }, - { - "block": "gtceu:rhyolite_yellow_limonite_ore", - "weight": 30 - }, - { - "block": "gtceu:rhyolite_hematite_ore", - "weight": 50 - }, - { - "block": "gtceu:rhyolite_gold_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_goethite_ore", - "weight": 15 - }, - { - "block": "gtceu:basalt_yellow_limonite_ore", - "weight": 30 - }, - { - "block": "gtceu:basalt_hematite_ore", - "weight": 50 - }, - { - "block": "gtceu:basalt_gold_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_goethite_ore", - "weight": 15 - }, - { - "block": "gtceu:andesite_yellow_limonite_ore", - "weight": 30 - }, - { - "block": "gtceu:andesite_hematite_ore", - "weight": 50 - }, - { - "block": "gtceu:andesite_gold_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_goethite_ore", - "weight": 15 - }, - { - "block": "gtceu:dacite_yellow_limonite_ore", - "weight": 30 - }, - { - "block": "gtceu:dacite_hematite_ore", - "weight": 50 - }, - { - "block": "gtceu:dacite_gold_ore", - "weight": 5 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 35, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_hematite", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_lapis.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_lapis.json deleted file mode 100644 index 5d287c649..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_lapis.json +++ /dev/null @@ -1,151 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 170, - "density": 0.25, - "min_y": -60, - "max_y": 10, - "size": 50, - "random_name": "normal_lapis", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_lazurite_ore", - "weight": 35 - }, - { - "block": "gtceu:quartzite_sodalite_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_lapis_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_calcite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_lazurite_ore", - "weight": 35 - }, - { - "block": "gtceu:slate_sodalite_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_lapis_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_calcite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_lazurite_ore", - "weight": 35 - }, - { - "block": "gtceu:phyllite_sodalite_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_lapis_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_calcite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_lazurite_ore", - "weight": 35 - }, - { - "block": "gtceu:schist_sodalite_ore", - "weight": 25 - }, - { - "block": "gtceu:schist_lapis_ore", - "weight": 25 - }, - { - "block": "gtceu:schist_calcite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_lazurite_ore", - "weight": 35 - }, - { - "block": "gtceu:gneiss_sodalite_ore", - "weight": 25 - }, - { - "block": "gtceu:gneiss_lapis_ore", - "weight": 25 - }, - { - "block": "gtceu:gneiss_calcite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_lazurite_ore", - "weight": 35 - }, - { - "block": "gtceu:marble_sodalite_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_lapis_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_calcite_ore", - "weight": 15 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_limonite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_limonite.json deleted file mode 100644 index b0e3a01e3..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_limonite.json +++ /dev/null @@ -1,71 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 190, - "density": 0.4, - "min_y": -32, - "max_y": 75, - "size": 40, - "random_name": "normal_limonite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_goethite_ore", - "weight": 15 - }, - { - "block": "gtceu:marble_yellow_limonite_ore", - "weight": 50 - }, - { - "block": "gtceu:marble_hematite_ore", - "weight": 20 - }, - { - "block": "gtceu:marble_malachite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_goethite_ore", - "weight": 15 - }, - { - "block": "gtceu:limestone_yellow_limonite_ore", - "weight": 50 - }, - { - "block": "gtceu:limestone_hematite_ore", - "weight": 20 - }, - { - "block": "gtceu:limestone_malachite_ore", - "weight": 15 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 35, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_limonite", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_lubricant.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_lubricant.json deleted file mode 100644 index 5248cc9bf..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_lubricant.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 190, - "density": 0.25, - "min_y": -40, - "max_y": 56, - "size": 36, - "random_name": "normal_lubricant", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_soapstone_ore", - "weight": 30 - }, - { - "block": "gtceu:granite_talc_ore", - "weight": 20 - }, - { - "block": "gtceu:granite_glauconite_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:granite_pentlandite_ore", - "weight": 15 - }, - { - "block": "gtceu:granite_trona_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_soapstone_ore", - "weight": 30 - }, - { - "block": "gtceu:diorite_talc_ore", - "weight": 20 - }, - { - "block": "gtceu:diorite_glauconite_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:diorite_pentlandite_ore", - "weight": 15 - }, - { - "block": "gtceu:diorite_trona_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_soapstone_ore", - "weight": 30 - }, - { - "block": "gtceu:gabbro_talc_ore", - "weight": 20 - }, - { - "block": "gtceu:gabbro_glauconite_sand_ore", - "weight": 25 - }, - { - "block": "gtceu:gabbro_pentlandite_ore", - "weight": 15 - }, - { - "block": "gtceu:gabbro_trona_ore", - "weight": 10 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_magnetite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_magnetite.json deleted file mode 100644 index 74b7fc550..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_magnetite.json +++ /dev/null @@ -1,158 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 200, - "density": 0.4, - "min_y": -32, - "max_y": 75, - "size": 40, - "random_name": "normal_magnetite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_magnetite_ore", - "weight": 65 - }, - { - "block": "gtceu:shale_vanadium_magnetite_ore", - "weight": 25 - }, - { - "block": "gtceu:shale_gold_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_magnetite_ore", - "weight": 65 - }, - { - "block": "gtceu:claystone_vanadium_magnetite_ore", - "weight": 25 - }, - { - "block": "gtceu:claystone_gold_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_magnetite_ore", - "weight": 65 - }, - { - "block": "gtceu:limestone_vanadium_magnetite_ore", - "weight": 25 - }, - { - "block": "gtceu:limestone_gold_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/conglomerate" - ], - "with": [ - { - "block": "gtceu:conglomerate_magnetite_ore", - "weight": 65 - }, - { - "block": "gtceu:conglomerate_vanadium_magnetite_ore", - "weight": 25 - }, - { - "block": "gtceu:conglomerate_gold_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dolomite" - ], - "with": [ - { - "block": "gtceu:dolomite_magnetite_ore", - "weight": 65 - }, - { - "block": "gtceu:dolomite_vanadium_magnetite_ore", - "weight": 25 - }, - { - "block": "gtceu:dolomite_gold_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_magnetite_ore", - "weight": 65 - }, - { - "block": "gtceu:chert_vanadium_magnetite_ore", - "weight": 25 - }, - { - "block": "gtceu:chert_gold_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_magnetite_ore", - "weight": 65 - }, - { - "block": "gtceu:chalk_vanadium_magnetite_ore", - "weight": 25 - }, - { - "block": "gtceu:chalk_gold_ore", - "weight": 10 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 35, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_magnetite", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_manganese.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_manganese.json deleted file mode 100644 index 7f3d2ceb6..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_manganese.json +++ /dev/null @@ -1,266 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 195, - "density": 0.3, - "min_y": -32, - "max_y": 60, - "size": 40, - "random_name": "normal_manganese", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_grossular_ore", - "weight": 30 - }, - { - "block": "gtceu:rhyolite_spessartine_ore", - "weight": 20 - }, - { - "block": "gtceu:rhyolite_pyrolusite_ore", - "weight": 20 - }, - { - "block": "gtceu:rhyolite_tantalite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_grossular_ore", - "weight": 30 - }, - { - "block": "gtceu:basalt_spessartine_ore", - "weight": 20 - }, - { - "block": "gtceu:basalt_pyrolusite_ore", - "weight": 20 - }, - { - "block": "gtceu:basalt_tantalite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_grossular_ore", - "weight": 30 - }, - { - "block": "gtceu:andesite_spessartine_ore", - "weight": 20 - }, - { - "block": "gtceu:andesite_pyrolusite_ore", - "weight": 20 - }, - { - "block": "gtceu:andesite_tantalite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_grossular_ore", - "weight": 30 - }, - { - "block": "gtceu:dacite_spessartine_ore", - "weight": 20 - }, - { - "block": "gtceu:dacite_pyrolusite_ore", - "weight": 20 - }, - { - "block": "gtceu:dacite_tantalite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_grossular_ore", - "weight": 30 - }, - { - "block": "gtceu:shale_spessartine_ore", - "weight": 20 - }, - { - "block": "gtceu:shale_pyrolusite_ore", - "weight": 20 - }, - { - "block": "gtceu:shale_tantalite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_grossular_ore", - "weight": 30 - }, - { - "block": "gtceu:claystone_spessartine_ore", - "weight": 20 - }, - { - "block": "gtceu:claystone_pyrolusite_ore", - "weight": 20 - }, - { - "block": "gtceu:claystone_tantalite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_grossular_ore", - "weight": 30 - }, - { - "block": "gtceu:limestone_spessartine_ore", - "weight": 20 - }, - { - "block": "gtceu:limestone_pyrolusite_ore", - "weight": 20 - }, - { - "block": "gtceu:limestone_tantalite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/conglomerate" - ], - "with": [ - { - "block": "gtceu:conglomerate_grossular_ore", - "weight": 30 - }, - { - "block": "gtceu:conglomerate_spessartine_ore", - "weight": 20 - }, - { - "block": "gtceu:conglomerate_pyrolusite_ore", - "weight": 20 - }, - { - "block": "gtceu:conglomerate_tantalite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dolomite" - ], - "with": [ - { - "block": "gtceu:dolomite_grossular_ore", - "weight": 30 - }, - { - "block": "gtceu:dolomite_spessartine_ore", - "weight": 20 - }, - { - "block": "gtceu:dolomite_pyrolusite_ore", - "weight": 20 - }, - { - "block": "gtceu:dolomite_tantalite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_grossular_ore", - "weight": 30 - }, - { - "block": "gtceu:chert_spessartine_ore", - "weight": 20 - }, - { - "block": "gtceu:chert_pyrolusite_ore", - "weight": 20 - }, - { - "block": "gtceu:chert_tantalite_ore", - "weight": 10 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_grossular_ore", - "weight": 30 - }, - { - "block": "gtceu:chalk_spessartine_ore", - "weight": 20 - }, - { - "block": "gtceu:chalk_pyrolusite_ore", - "weight": 20 - }, - { - "block": "gtceu:chalk_tantalite_ore", - "weight": 10 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_mica.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_mica.json deleted file mode 100644 index bd96dcf05..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_mica.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 190, - "density": 0.25, - "min_y": 0, - "max_y": 210, - "size": 36, - "random_name": "normal_mica", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_kyanite_ore", - "weight": 35 - }, - { - "block": "gtceu:granite_mica_ore", - "weight": 25 - }, - { - "block": "gtceu:granite_bauxite_ore", - "weight": 25 - }, - { - "block": "gtceu:granite_pollucite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_kyanite_ore", - "weight": 35 - }, - { - "block": "gtceu:diorite_mica_ore", - "weight": 25 - }, - { - "block": "gtceu:diorite_bauxite_ore", - "weight": 25 - }, - { - "block": "gtceu:diorite_pollucite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_kyanite_ore", - "weight": 35 - }, - { - "block": "gtceu:gabbro_mica_ore", - "weight": 25 - }, - { - "block": "gtceu:gabbro_bauxite_ore", - "weight": 25 - }, - { - "block": "gtceu:gabbro_pollucite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_kyanite_ore", - "weight": 35 - }, - { - "block": "gtceu:quartzite_mica_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_bauxite_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_pollucite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_kyanite_ore", - "weight": 35 - }, - { - "block": "gtceu:slate_mica_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_bauxite_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_pollucite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_kyanite_ore", - "weight": 35 - }, - { - "block": "gtceu:phyllite_mica_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_bauxite_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_pollucite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_kyanite_ore", - "weight": 35 - }, - { - "block": "gtceu:schist_mica_ore", - "weight": 25 - }, - { - "block": "gtceu:schist_bauxite_ore", - "weight": 25 - }, - { - "block": "gtceu:schist_pollucite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_kyanite_ore", - "weight": 35 - }, - { - "block": "gtceu:gneiss_mica_ore", - "weight": 25 - }, - { - "block": "gtceu:gneiss_bauxite_ore", - "weight": 25 - }, - { - "block": "gtceu:gneiss_pollucite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_kyanite_ore", - "weight": 35 - }, - { - "block": "gtceu:marble_mica_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_bauxite_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_pollucite_ore", - "weight": 15 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_monazite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_monazite.json deleted file mode 100644 index 0086b72f3..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_monazite.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 185, - "density": 0.25, - "min_y": -32, - "max_y": 50, - "size": 40, - "random_name": "normal_monazite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_bastnasite_ore", - "weight": 50 - }, - { - "block": "gtceu:granite_monazite_ore", - "weight": 25 - }, - { - "block": "gtceu:granite_neodymium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_bastnasite_ore", - "weight": 50 - }, - { - "block": "gtceu:diorite_monazite_ore", - "weight": 25 - }, - { - "block": "gtceu:diorite_neodymium_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_bastnasite_ore", - "weight": 50 - }, - { - "block": "gtceu:gabbro_monazite_ore", - "weight": 25 - }, - { - "block": "gtceu:gabbro_neodymium_ore", - "weight": 25 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_oilsands.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_oilsands.json deleted file mode 100644 index b90e0ee33..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_oilsands.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 155, - "density": 0.25, - "min_y": 0, - "max_y": 70, - "size": 55, - "random_name": "normal_oilsands", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_oilsands_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_oilsands_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_oilsands_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/conglomerate" - ], - "with": [ - { - "block": "gtceu:conglomerate_oilsands_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dolomite" - ], - "with": [ - { - "block": "gtceu:dolomite_oilsands_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_oilsands_ore", - "weight": 100 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_oilsands_ore", - "weight": 100 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_olivine.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_olivine.json deleted file mode 100644 index 11114ea15..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_olivine.json +++ /dev/null @@ -1,174 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 180, - "density": 0.25, - "min_y": -40, - "max_y": 30, - "size": 26, - "random_name": "normal_olivine", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_bentonite_ore", - "weight": 35 - }, - { - "block": "gtceu:rhyolite_magnesite_ore", - "weight": 25 - }, - { - "block": "gtceu:rhyolite_olivine_ore", - "weight": 25 - }, - { - "block": "gtceu:rhyolite_glauconite_sand_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_bentonite_ore", - "weight": 35 - }, - { - "block": "gtceu:basalt_magnesite_ore", - "weight": 25 - }, - { - "block": "gtceu:basalt_olivine_ore", - "weight": 25 - }, - { - "block": "gtceu:basalt_glauconite_sand_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_bentonite_ore", - "weight": 35 - }, - { - "block": "gtceu:andesite_magnesite_ore", - "weight": 25 - }, - { - "block": "gtceu:andesite_olivine_ore", - "weight": 25 - }, - { - "block": "gtceu:andesite_glauconite_sand_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_bentonite_ore", - "weight": 35 - }, - { - "block": "gtceu:dacite_magnesite_ore", - "weight": 25 - }, - { - "block": "gtceu:dacite_olivine_ore", - "weight": 25 - }, - { - "block": "gtceu:dacite_glauconite_sand_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_bentonite_ore", - "weight": 35 - }, - { - "block": "gtceu:granite_magnesite_ore", - "weight": 25 - }, - { - "block": "gtceu:granite_olivine_ore", - "weight": 25 - }, - { - "block": "gtceu:granite_glauconite_sand_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_bentonite_ore", - "weight": 35 - }, - { - "block": "gtceu:diorite_magnesite_ore", - "weight": 25 - }, - { - "block": "gtceu:diorite_olivine_ore", - "weight": 25 - }, - { - "block": "gtceu:diorite_glauconite_sand_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_bentonite_ore", - "weight": 35 - }, - { - "block": "gtceu:gabbro_magnesite_ore", - "weight": 25 - }, - { - "block": "gtceu:gabbro_olivine_ore", - "weight": 25 - }, - { - "block": "gtceu:gabbro_glauconite_sand_ore", - "weight": 15 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_redstone.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_redstone.json deleted file mode 100644 index ebe0c1a5f..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_redstone.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 160, - "density": 0.4, - "min_y": -32, - "max_y": 100, - "size": 40, - "random_name": "normal_redstone", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_redstone_ore", - "weight": 45 - }, - { - "block": "gtceu:granite_ruby_ore", - "weight": 35 - }, - { - "block": "gtceu:granite_cinnabar_ore", - "weight": 20 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_salt.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_salt.json deleted file mode 100644 index 6fc2e582e..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_salt.json +++ /dev/null @@ -1,83 +0,0 @@ -{ - "type": "tfc:disc_vein", - "config": { - "rarity": 175, - "density": 0.4, - "min_y": 30, - "max_y": 70, - "size": 40, - "random_name": "normal_salt", - "height": 4, - "blocks": [ - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_rock_salt_ore", - "weight": 40 - }, - { - "block": "gtceu:shale_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:shale_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:shale_borax_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_rock_salt_ore", - "weight": 40 - }, - { - "block": "gtceu:claystone_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:claystone_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:claystone_borax_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_rock_salt_ore", - "weight": 40 - }, - { - "block": "gtceu:limestone_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:limestone_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:limestone_borax_ore", - "weight": 15 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_saltpeter.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_saltpeter.json deleted file mode 100644 index 7228aafc5..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_saltpeter.json +++ /dev/null @@ -1,220 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 210, - "density": 0.3, - "min_y": -32, - "max_y": 60, - "size": 50, - "random_name": "normal_saltpeter", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_saltpeter_ore", - "weight": 35 - }, - { - "block": "gtceu:granite_diatomite_ore", - "weight": 25 - }, - { - "block": "gtceu:granite_electrotine_ore", - "weight": 25 - }, - { - "block": "gtceu:granite_alunite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_saltpeter_ore", - "weight": 35 - }, - { - "block": "gtceu:diorite_diatomite_ore", - "weight": 25 - }, - { - "block": "gtceu:diorite_electrotine_ore", - "weight": 25 - }, - { - "block": "gtceu:diorite_alunite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_saltpeter_ore", - "weight": 35 - }, - { - "block": "gtceu:gabbro_diatomite_ore", - "weight": 25 - }, - { - "block": "gtceu:gabbro_electrotine_ore", - "weight": 25 - }, - { - "block": "gtceu:gabbro_alunite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_saltpeter_ore", - "weight": 35 - }, - { - "block": "gtceu:quartzite_diatomite_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_electrotine_ore", - "weight": 25 - }, - { - "block": "gtceu:quartzite_alunite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_saltpeter_ore", - "weight": 35 - }, - { - "block": "gtceu:slate_diatomite_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_electrotine_ore", - "weight": 25 - }, - { - "block": "gtceu:slate_alunite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_saltpeter_ore", - "weight": 35 - }, - { - "block": "gtceu:phyllite_diatomite_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_electrotine_ore", - "weight": 25 - }, - { - "block": "gtceu:phyllite_alunite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_saltpeter_ore", - "weight": 35 - }, - { - "block": "gtceu:schist_diatomite_ore", - "weight": 25 - }, - { - "block": "gtceu:schist_electrotine_ore", - "weight": 25 - }, - { - "block": "gtceu:schist_alunite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_saltpeter_ore", - "weight": 35 - }, - { - "block": "gtceu:gneiss_diatomite_ore", - "weight": 25 - }, - { - "block": "gtceu:gneiss_electrotine_ore", - "weight": 25 - }, - { - "block": "gtceu:gneiss_alunite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_saltpeter_ore", - "weight": 35 - }, - { - "block": "gtceu:marble_diatomite_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_electrotine_ore", - "weight": 25 - }, - { - "block": "gtceu:marble_alunite_ore", - "weight": 15 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_silver.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_silver.json deleted file mode 100644 index 5a6a4031c..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_silver.json +++ /dev/null @@ -1,63 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 160, - "density": 0.4, - "min_y": -32, - "max_y": 75, - "size": 40, - "random_name": "normal_silver", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_galena_ore", - "weight": 30 - }, - { - "block": "gtceu:granite_silver_ore", - "weight": 15 - }, - { - "block": "gtceu:granite_lead_ore", - "weight": 55 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_galena_ore", - "weight": 30 - }, - { - "block": "gtceu:gneiss_silver_ore", - "weight": 15 - }, - { - "block": "gtceu:gneiss_lead_ore", - "weight": 55 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_native_silver", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_sphalerite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_sphalerite.json deleted file mode 100644 index c283fe420..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_sphalerite.json +++ /dev/null @@ -1,215 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 170, - "density": 0.4, - "min_y": -32, - "max_y": 75, - "size": 40, - "random_name": "normal_sphalerite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_sulfur_ore", - "weight": 35 - }, - { - "block": "gtceu:rhyolite_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:rhyolite_pyrite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_sulfur_ore", - "weight": 35 - }, - { - "block": "gtceu:basalt_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:basalt_pyrite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_sulfur_ore", - "weight": 35 - }, - { - "block": "gtceu:andesite_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:andesite_pyrite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_sulfur_ore", - "weight": 35 - }, - { - "block": "gtceu:dacite_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:dacite_pyrite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_sulfur_ore", - "weight": 35 - }, - { - "block": "gtceu:quartzite_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:quartzite_pyrite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_sulfur_ore", - "weight": 35 - }, - { - "block": "gtceu:slate_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:slate_pyrite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_sulfur_ore", - "weight": 35 - }, - { - "block": "gtceu:phyllite_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:phyllite_pyrite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_sulfur_ore", - "weight": 35 - }, - { - "block": "gtceu:schist_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:schist_pyrite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_sulfur_ore", - "weight": 35 - }, - { - "block": "gtceu:gneiss_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:gneiss_pyrite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_sulfur_ore", - "weight": 35 - }, - { - "block": "gtceu:marble_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:marble_pyrite_ore", - "weight": 25 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_sphalerite", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_spodumene.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_spodumene.json deleted file mode 100644 index 71d98f782..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_spodumene.json +++ /dev/null @@ -1,221 +0,0 @@ -{ - "type": "tfc:disc_vein", - "config": { - "rarity": 180, - "density": 0.375, - "min_y": 20, - "max_y": 60, - "size": 35, - "random_name": "normal_spodumene", - "height": 6, - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_rock_salt_ore", - "weight": 20 - }, - { - "block": "gtceu:granite_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:granite_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:granite_spodumene_ore", - "weight": 35 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_rock_salt_ore", - "weight": 20 - }, - { - "block": "gtceu:diorite_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:diorite_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:diorite_spodumene_ore", - "weight": 35 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_rock_salt_ore", - "weight": 20 - }, - { - "block": "gtceu:gabbro_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:gabbro_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:gabbro_spodumene_ore", - "weight": 35 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_rock_salt_ore", - "weight": 20 - }, - { - "block": "gtceu:quartzite_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:quartzite_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:quartzite_spodumene_ore", - "weight": 35 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_rock_salt_ore", - "weight": 20 - }, - { - "block": "gtceu:slate_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:slate_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:slate_spodumene_ore", - "weight": 35 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_rock_salt_ore", - "weight": 20 - }, - { - "block": "gtceu:phyllite_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:phyllite_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:phyllite_spodumene_ore", - "weight": 35 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_rock_salt_ore", - "weight": 20 - }, - { - "block": "gtceu:schist_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:schist_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:schist_spodumene_ore", - "weight": 35 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_rock_salt_ore", - "weight": 20 - }, - { - "block": "gtceu:gneiss_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:gneiss_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:gneiss_spodumene_ore", - "weight": 35 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_rock_salt_ore", - "weight": 20 - }, - { - "block": "gtceu:marble_salt_ore", - "weight": 30 - }, - { - "block": "gtceu:marble_lepidolite_ore", - "weight": 15 - }, - { - "block": "gtceu:marble_spodumene_ore", - "weight": 35 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_sulfur.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_sulfur.json deleted file mode 100644 index 464d1f9cd..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_sulfur.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 165, - "density": 0.2, - "min_y": 0, - "max_y": 210, - "size": 45, - "random_name": "normal_sulfur", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_sulfur_ore", - "weight": 50 - }, - { - "block": "gtceu:rhyolite_pyrite_ore", - "weight": 35 - }, - { - "block": "gtceu:rhyolite_sphalerite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_sulfur_ore", - "weight": 50 - }, - { - "block": "gtceu:basalt_pyrite_ore", - "weight": 35 - }, - { - "block": "gtceu:basalt_sphalerite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_sulfur_ore", - "weight": 50 - }, - { - "block": "gtceu:andesite_pyrite_ore", - "weight": 35 - }, - { - "block": "gtceu:andesite_sphalerite_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_sulfur_ore", - "weight": 50 - }, - { - "block": "gtceu:dacite_pyrite_ore", - "weight": 35 - }, - { - "block": "gtceu:dacite_sphalerite_ore", - "weight": 15 - } - ] - } - ] - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_tetrahedrite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/normal_tetrahedrite.json deleted file mode 100644 index a740d6ff4..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/normal_tetrahedrite.json +++ /dev/null @@ -1,139 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 170, - "density": 0.4, - "min_y": -32, - "max_y": 75, - "size": 40, - "random_name": "normal_tetrahedrite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_tetrahedrite_ore", - "weight": 35 - }, - { - "block": "gtceu:quartzite_copper_ore", - "weight": 40 - }, - { - "block": "gtceu:quartzite_stibnite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_tetrahedrite_ore", - "weight": 35 - }, - { - "block": "gtceu:slate_copper_ore", - "weight": 40 - }, - { - "block": "gtceu:slate_stibnite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_tetrahedrite_ore", - "weight": 35 - }, - { - "block": "gtceu:phyllite_copper_ore", - "weight": 40 - }, - { - "block": "gtceu:phyllite_stibnite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_tetrahedrite_ore", - "weight": 35 - }, - { - "block": "gtceu:schist_copper_ore", - "weight": 40 - }, - { - "block": "gtceu:schist_stibnite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_tetrahedrite_ore", - "weight": 35 - }, - { - "block": "gtceu:gneiss_copper_ore", - "weight": 40 - }, - { - "block": "gtceu:gneiss_stibnite_ore", - "weight": 25 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_tetrahedrite_ore", - "weight": 35 - }, - { - "block": "gtceu:marble_copper_ore", - "weight": 40 - }, - { - "block": "gtceu:marble_stibnite_ore", - "weight": 25 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_tetrahedrite", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_bismuthinite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/surface_bismuthinite.json deleted file mode 100644 index e5d022c79..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_bismuthinite.json +++ /dev/null @@ -1,215 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 140, - "density": 0.25, - "min_y": 60, - "max_y": 210, - "size": 50, - "random_name": "surface_bismuthinite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_bismuth_ore", - "weight": 90 - }, - { - "block": "gtceu:granite_sulfur_ore", - "weight": 3 - }, - { - "block": "gtceu:granite_lead_ore", - "weight": 7 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_bismuth_ore", - "weight": 90 - }, - { - "block": "gtceu:diorite_sulfur_ore", - "weight": 3 - }, - { - "block": "gtceu:diorite_lead_ore", - "weight": 7 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_bismuth_ore", - "weight": 90 - }, - { - "block": "gtceu:gabbro_sulfur_ore", - "weight": 3 - }, - { - "block": "gtceu:gabbro_lead_ore", - "weight": 7 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/shale" - ], - "with": [ - { - "block": "gtceu:shale_bismuth_ore", - "weight": 90 - }, - { - "block": "gtceu:shale_sulfur_ore", - "weight": 3 - }, - { - "block": "gtceu:shale_lead_ore", - "weight": 7 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/claystone" - ], - "with": [ - { - "block": "gtceu:claystone_bismuth_ore", - "weight": 90 - }, - { - "block": "gtceu:claystone_sulfur_ore", - "weight": 3 - }, - { - "block": "gtceu:claystone_lead_ore", - "weight": 7 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/limestone" - ], - "with": [ - { - "block": "gtceu:limestone_bismuth_ore", - "weight": 90 - }, - { - "block": "gtceu:limestone_sulfur_ore", - "weight": 3 - }, - { - "block": "gtceu:limestone_lead_ore", - "weight": 7 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/conglomerate" - ], - "with": [ - { - "block": "gtceu:conglomerate_bismuth_ore", - "weight": 90 - }, - { - "block": "gtceu:conglomerate_sulfur_ore", - "weight": 3 - }, - { - "block": "gtceu:conglomerate_lead_ore", - "weight": 7 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dolomite" - ], - "with": [ - { - "block": "gtceu:dolomite_bismuth_ore", - "weight": 90 - }, - { - "block": "gtceu:dolomite_sulfur_ore", - "weight": 3 - }, - { - "block": "gtceu:dolomite_lead_ore", - "weight": 7 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chert" - ], - "with": [ - { - "block": "gtceu:chert_bismuth_ore", - "weight": 90 - }, - { - "block": "gtceu:chert_sulfur_ore", - "weight": 3 - }, - { - "block": "gtceu:chert_lead_ore", - "weight": 7 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/chalk" - ], - "with": [ - { - "block": "gtceu:chalk_bismuth_ore", - "weight": 90 - }, - { - "block": "gtceu:chalk_sulfur_ore", - "weight": 3 - }, - { - "block": "gtceu:chalk_lead_ore", - "weight": 7 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_bismuthinite", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_cassiterite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/surface_cassiterite.json deleted file mode 100644 index 4f93ee411..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_cassiterite.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 135, - "density": 0.25, - "min_y": 60, - "max_y": 210, - "size": 50, - "random_name": "surface_cassiterite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/granite" - ], - "with": [ - { - "block": "gtceu:granite_cassiterite_ore", - "weight": 60 - }, - { - "block": "gtceu:granite_tin_ore", - "weight": 40 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/diorite" - ], - "with": [ - { - "block": "gtceu:diorite_cassiterite_ore", - "weight": 60 - }, - { - "block": "gtceu:diorite_tin_ore", - "weight": 40 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gabbro" - ], - "with": [ - { - "block": "gtceu:gabbro_cassiterite_ore", - "weight": 60 - }, - { - "block": "gtceu:gabbro_tin_ore", - "weight": 40 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_cassiterite", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_copper.json b/kubejs/data/tfg/worldgen/configured_feature/vein/surface_copper.json deleted file mode 100644 index 8e6f8ace9..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_copper.json +++ /dev/null @@ -1,117 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 140, - "density": 0.25, - "min_y": 60, - "max_y": 210, - "size": 50, - "random_name": "surface_copper", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_chalcopyrite_ore", - "weight": 55 - }, - { - "block": "gtceu:rhyolite_zeolite_ore", - "weight": 15 - }, - { - "block": "gtceu:rhyolite_cassiterite_ore", - "weight": 5 - }, - { - "block": "gtceu:rhyolite_realgar_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_chalcopyrite_ore", - "weight": 55 - }, - { - "block": "gtceu:basalt_zeolite_ore", - "weight": 15 - }, - { - "block": "gtceu:basalt_cassiterite_ore", - "weight": 5 - }, - { - "block": "gtceu:basalt_realgar_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_chalcopyrite_ore", - "weight": 55 - }, - { - "block": "gtceu:andesite_zeolite_ore", - "weight": 15 - }, - { - "block": "gtceu:andesite_cassiterite_ore", - "weight": 5 - }, - { - "block": "gtceu:andesite_realgar_ore", - "weight": 15 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_chalcopyrite_ore", - "weight": 55 - }, - { - "block": "gtceu:dacite_zeolite_ore", - "weight": 15 - }, - { - "block": "gtceu:dacite_cassiterite_ore", - "weight": 5 - }, - { - "block": "gtceu:dacite_realgar_ore", - "weight": 15 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_native_copper", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_sphalerite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/surface_sphalerite.json deleted file mode 100644 index adc296296..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_sphalerite.json +++ /dev/null @@ -1,215 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 145, - "density": 0.25, - "min_y": 60, - "max_y": 210, - "size": 50, - "random_name": "surface_sphalerite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/rhyolite" - ], - "with": [ - { - "block": "gtceu:rhyolite_sulfur_ore", - "weight": 55 - }, - { - "block": "gtceu:rhyolite_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:rhyolite_pyrite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/basalt" - ], - "with": [ - { - "block": "gtceu:basalt_sulfur_ore", - "weight": 55 - }, - { - "block": "gtceu:basalt_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:basalt_pyrite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/andesite" - ], - "with": [ - { - "block": "gtceu:andesite_sulfur_ore", - "weight": 55 - }, - { - "block": "gtceu:andesite_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:andesite_pyrite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/dacite" - ], - "with": [ - { - "block": "gtceu:dacite_sulfur_ore", - "weight": 55 - }, - { - "block": "gtceu:dacite_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:dacite_pyrite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_sulfur_ore", - "weight": 55 - }, - { - "block": "gtceu:quartzite_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:quartzite_pyrite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_sulfur_ore", - "weight": 55 - }, - { - "block": "gtceu:slate_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:slate_pyrite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_sulfur_ore", - "weight": 55 - }, - { - "block": "gtceu:phyllite_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:phyllite_pyrite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_sulfur_ore", - "weight": 55 - }, - { - "block": "gtceu:schist_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:schist_pyrite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_sulfur_ore", - "weight": 55 - }, - { - "block": "gtceu:gneiss_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:gneiss_pyrite_ore", - "weight": 5 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_sulfur_ore", - "weight": 55 - }, - { - "block": "gtceu:marble_sphalerite_ore", - "weight": 40 - }, - { - "block": "gtceu:marble_pyrite_ore", - "weight": 5 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_sphalerite", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_tetrahedrite.json b/kubejs/data/tfg/worldgen/configured_feature/vein/surface_tetrahedrite.json deleted file mode 100644 index 78e7e3b16..000000000 --- a/kubejs/data/tfg/worldgen/configured_feature/vein/surface_tetrahedrite.json +++ /dev/null @@ -1,139 +0,0 @@ -{ - "type": "tfc:cluster_vein", - "config": { - "rarity": 140, - "density": 0.25, - "min_y": 60, - "max_y": 210, - "size": 50, - "random_name": "surface_tetrahedrite", - "blocks": [ - { - "replace": [ - "tfc:rock/raw/quartzite" - ], - "with": [ - { - "block": "gtceu:quartzite_tetrahedrite_ore", - "weight": 60 - }, - { - "block": "gtceu:quartzite_copper_ore", - "weight": 10 - }, - { - "block": "gtceu:quartzite_stibnite_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/slate" - ], - "with": [ - { - "block": "gtceu:slate_tetrahedrite_ore", - "weight": 60 - }, - { - "block": "gtceu:slate_copper_ore", - "weight": 10 - }, - { - "block": "gtceu:slate_stibnite_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/phyllite" - ], - "with": [ - { - "block": "gtceu:phyllite_tetrahedrite_ore", - "weight": 60 - }, - { - "block": "gtceu:phyllite_copper_ore", - "weight": 10 - }, - { - "block": "gtceu:phyllite_stibnite_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/schist" - ], - "with": [ - { - "block": "gtceu:schist_tetrahedrite_ore", - "weight": 60 - }, - { - "block": "gtceu:schist_copper_ore", - "weight": 10 - }, - { - "block": "gtceu:schist_stibnite_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/gneiss" - ], - "with": [ - { - "block": "gtceu:gneiss_tetrahedrite_ore", - "weight": 60 - }, - { - "block": "gtceu:gneiss_copper_ore", - "weight": 10 - }, - { - "block": "gtceu:gneiss_stibnite_ore", - "weight": 30 - } - ] - }, - { - "replace": [ - "tfc:rock/raw/marble" - ], - "with": [ - { - "block": "gtceu:marble_tetrahedrite_ore", - "weight": 60 - }, - { - "block": "gtceu:marble_copper_ore", - "weight": 10 - }, - { - "block": "gtceu:marble_stibnite_ore", - "weight": 30 - } - ] - } - ], - "indicator": { - "rarity": 12, - "depth": 60, - "underground_rarity": 1, - "underground_count": 0, - "blocks": [ - { - "block": "tfc:ore/small_tetrahedrite", - "weight": 100 - } - ] - } - } -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/geode.json b/kubejs/data/tfg/worldgen/placed_feature/geode.json deleted file mode 100644 index 52509f5fa..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/geode.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "__comment__": "This file was automatically created by mcresources", - "feature": "tfg:geode", - "placement": [ - { - "type": "minecraft:rarity_filter", - "chance": 500 - }, - { - "type": "minecraft:in_square" - }, - { - "type": "minecraft:height_range", - "height": { - "type": "uniform", - "min_inclusive": { - "absolute": -48 - }, - "max_inclusive": { - "absolute": 32 - } - } - }, - { - "type": "tfc:biome" - } - ] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_garnet_amethyst.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_garnet_amethyst.json deleted file mode 100644 index c02d5ee26..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_garnet_amethyst.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_garnet_amethyst", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_garnet_opal.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_garnet_opal.json deleted file mode 100644 index 8a8c11b19..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_garnet_opal.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_garnet_opal", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_gold.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_gold.json deleted file mode 100644 index ad8628417..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_gold.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_gold", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_hematite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_hematite.json deleted file mode 100644 index 4e0bc3c5d..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_hematite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_hematite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_limonite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_limonite.json deleted file mode 100644 index eb0787194..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_limonite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_limonite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_magnetite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_magnetite.json deleted file mode 100644 index 059d4eb3e..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_magnetite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_magnetite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_molybdenum.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_molybdenum.json deleted file mode 100644 index 219050b09..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_molybdenum.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_molybdenum", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_naquadah.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_naquadah.json deleted file mode 100644 index 73a4d8286..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_naquadah.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_naquadah", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_pitchblende.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_pitchblende.json deleted file mode 100644 index 6061b5c16..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_pitchblende.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_pitchblende", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_sapphire.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_sapphire.json deleted file mode 100644 index 0656d35de..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_sapphire.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_sapphire", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_scheelite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_scheelite.json deleted file mode 100644 index e0761adf2..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_scheelite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_scheelite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_sheldonite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_sheldonite.json deleted file mode 100644 index 5b9579454..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_sheldonite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_sheldonite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_topaz.json b/kubejs/data/tfg/worldgen/placed_feature/vein/deep_topaz.json deleted file mode 100644 index 7acf4ba31..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/deep_topaz.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/deep_topaz", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_apatite_.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_apatite_.json deleted file mode 100644 index d339ed83d..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_apatite_.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_apatite_", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_basaltic_sands.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_basaltic_sands.json deleted file mode 100644 index d55f518af..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_basaltic_sands.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_basaltic_sands", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_bauxite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_bauxite.json deleted file mode 100644 index 0a01bc196..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_bauxite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_bauxite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_beryllium.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_beryllium.json deleted file mode 100644 index 5633b61d1..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_beryllium.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_beryllium", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_bismuthinite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_bismuthinite.json deleted file mode 100644 index 80dec1656..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_bismuthinite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_bismuthinite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_cassiterite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_cassiterite.json deleted file mode 100644 index 5b0c4ffcc..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_cassiterite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_cassiterite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_certus_quartz.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_certus_quartz.json deleted file mode 100644 index ebabf62ec..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_certus_quartz.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_certus_quartz", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_coal.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_coal.json deleted file mode 100644 index 0bc6c5871..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_coal.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_coal", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_copper.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_copper.json deleted file mode 100644 index 20a4672c8..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_copper.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_copper", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_garnet_tin.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_garnet_tin.json deleted file mode 100644 index 8d889d1b5..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_garnet_tin.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_garnet_tin", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_garnierite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_garnierite.json deleted file mode 100644 index 7f2534783..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_garnierite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_garnierite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_gold.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_gold.json deleted file mode 100644 index ff5387782..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_gold.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_gold", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_graphite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_graphite.json deleted file mode 100644 index a6657e977..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_graphite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_graphite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_hematite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_hematite.json deleted file mode 100644 index be52c8e41..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_hematite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_hematite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_lapis.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_lapis.json deleted file mode 100644 index 6cfcdbfc5..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_lapis.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_lapis", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_limonite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_limonite.json deleted file mode 100644 index 6e2756f32..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_limonite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_limonite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_lubricant.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_lubricant.json deleted file mode 100644 index bd51d9106..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_lubricant.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_lubricant", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_magnetite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_magnetite.json deleted file mode 100644 index 764c60b7f..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_magnetite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_magnetite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_manganese.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_manganese.json deleted file mode 100644 index fae98805f..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_manganese.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_manganese", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_mica.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_mica.json deleted file mode 100644 index 486e01642..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_mica.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_mica", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_monazite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_monazite.json deleted file mode 100644 index b7f6b01da..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_monazite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_monazite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_oilsands.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_oilsands.json deleted file mode 100644 index b93414bf7..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_oilsands.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_oilsands", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_olivine.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_olivine.json deleted file mode 100644 index 6f678c239..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_olivine.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_olivine", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_redstone.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_redstone.json deleted file mode 100644 index 1a645d38d..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_redstone.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_redstone", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_salt.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_salt.json deleted file mode 100644 index b32fc0d9f..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_salt.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_salt", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_saltpeter.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_saltpeter.json deleted file mode 100644 index 8172e6805..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_saltpeter.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_saltpeter", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_silver.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_silver.json deleted file mode 100644 index 98fdc53ee..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_silver.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_silver", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_sphalerite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_sphalerite.json deleted file mode 100644 index 98924d07c..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_sphalerite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_sphalerite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_spodumene.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_spodumene.json deleted file mode 100644 index 090e0f59b..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_spodumene.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_spodumene", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_sulfur.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_sulfur.json deleted file mode 100644 index 72f1a8578..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_sulfur.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_sulfur", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_tetrahedrite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/normal_tetrahedrite.json deleted file mode 100644 index 9e38b867a..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/normal_tetrahedrite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/normal_tetrahedrite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/surface_bismuthinite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/surface_bismuthinite.json deleted file mode 100644 index 266cacc66..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/surface_bismuthinite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/surface_bismuthinite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/surface_cassiterite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/surface_cassiterite.json deleted file mode 100644 index 51c94cf36..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/surface_cassiterite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/surface_cassiterite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/surface_copper.json b/kubejs/data/tfg/worldgen/placed_feature/vein/surface_copper.json deleted file mode 100644 index 9d6b80668..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/surface_copper.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/surface_copper", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/surface_sphalerite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/surface_sphalerite.json deleted file mode 100644 index 858ba7d93..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/surface_sphalerite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/surface_sphalerite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/data/tfg/worldgen/placed_feature/vein/surface_tetrahedrite.json b/kubejs/data/tfg/worldgen/placed_feature/vein/surface_tetrahedrite.json deleted file mode 100644 index a1c625134..000000000 --- a/kubejs/data/tfg/worldgen/placed_feature/vein/surface_tetrahedrite.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "feature": "tfg:vein/surface_tetrahedrite", - "placement": [] -} \ No newline at end of file diff --git a/kubejs/jsconfig.json b/kubejs/jsconfig.json new file mode 100644 index 000000000..e2acac6af --- /dev/null +++ b/kubejs/jsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "lib": [ + "ES5", + "ES2015" + ], + "rootDirs": [ + "probe/generated", + "probe/user", + "server_scripts", + "startup_scripts", + "client_scripts" + ], + "target": "ES2015" + } +} \ No newline at end of file diff --git a/kubejs/old.js b/kubejs/old.js new file mode 100644 index 000000000..d10592146 --- /dev/null +++ b/kubejs/old.js @@ -0,0 +1,649 @@ +const processNetherWood = (woodName) => { + + const anyLogs = `#minecraft:${woodName}_stems` + + const log = Item.of(`minecraft:${woodName}_stem`) + const wood = Item.of(`minecraft:${woodName}_hyphae`) + + const strippedLog = Item.of(`minecraft:stripped_${woodName}_stem`) + const strippedWood = Item.of(`minecraft:stripped_${woodName}_hyphae`) + + const lumber = Item.of(`tfg:${woodName}_lumber`) + + const plank = Item.of(`minecraft:${woodName}_planks`) + const stair = Item.of(`minecraft:${woodName}_stairs`) + const slab = Item.of(`minecraft:${woodName}_slab`) + + const fence = Item.of(`minecraft:${woodName}_fence`) + const fenceGate = Item.of(`minecraft:${woodName}_fence_gate`) + + const door = Item.of(`minecraft:${woodName}_door`) + const trapdoor = Item.of(`minecraft:${woodName}_trapdoor`) + + const pressurePlate = Item.of(`minecraft:${woodName}_pressure_plate`) + const button = Item.of(`minecraft:${woodName}_button`) + + const sign = Item.of(`minecraft:${woodName}_sign`) + const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) + + const roofing = Item.of(`alekiroofs:${woodName}_roofing`) + + const window = Item.of(`create:${woodName}_window_pane`) + const windowPane = Item.of(`create:${woodName}_window_pane`) + + const incompleteTrackNarrow = Item.of(`railways:track_incomplete_${woodName}_narrow`) + const incompleteTrack = Item.of(`railways:track_incomplete_${woodName}`) + const incompleteTrackWide = Item.of(`railways:track_incomplete_${woodName}_wide`) + + const trackNarrow = Item.of(`railways:track_${woodName}_narrow`) + const track = Item.of(`railways:track_${woodName}`) + const trackWide = Item.of(`railways:track_${woodName}_wide`) + + //#region Бревно + e.shaped(log, [ + 'A', + 's' + ], { + A: wood, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_log`) + + e.recipes.create.cutting([log, Item.of('4x gtceu:wood_dust').withChance(0.75)], wood) + .id(`tfg:create_cutting/${woodName}_log`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_log`) + .itemInputs(wood) + .circuit(0) + .itemOutputs(log) + .itemOutputs('4x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Цельное бревно + e.remove({ id: `minecraft:${woodName}_hyphae` }) + + e.shaped(wood, [ + 'AA', + ' s' + ], { + A: log, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_wood`) + + e.recipes.create.cutting(wood.withChance(0.75), log) + .id(`tfg:create_cutting/${woodName}_wood`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_wood`) + .itemInputs(log.copyWithCount(2)) + .circuit(0) + .itemOutputs(wood) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Обтесанное бревно + e.remove({ id: `create:cutting/crimson_stem` }) + + e.shaped(strippedLog, [ + 'A', + 's' + ], { + A: strippedWood, + s: '#forge:tools/saws' + }).id(`tfg:workbench/stripped_${woodName}_log`) + + e.recipes.create.cutting(strippedLog, log) + .id(`tfg:create_cutting/stripped_${woodName}_log`) + + e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_log`) + .itemInputs(log) + .circuit(1) + .itemOutputs(strippedLog) + .itemOutputs('4x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Обтесанное цельное бревно + e.remove({ id: `minecraft:stripped_${woodName}_hyphae` }) + e.remove({ id: `create:cutting/${woodName}_hyphae` }) + + e.shaped(strippedWood, [ + 'AA', + ' s' + ], { + A: strippedLog, + s: '#forge:tools/saws' + }).id(`tfg:workbench/stripped_${woodName}_wood`) + + e.recipes.create.cutting(strippedWood, wood) + .id(`tfg:create_cutting/stripped_${woodName}_wood`) + + e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_wood`) + .itemInputs(wood) + .circuit(1) + .itemOutputs(strippedWood) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Пиломатериалы (TFC) + + //#region Из бревен + e.shaped(lumber.copyWithCount(8), [ + 's', + 'A' + ], { + A: anyLogs, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_lumber_from_logs_saw`) + + e.recipes.create.cutting(lumber.copyWithCount(12), anyLogs) + .id(`tfg:create_cutting/${woodName}_lumber_from_logs`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_logs`) + .itemInputs(anyLogs) + .circuit(2) + .itemOutputs(lumber.copyWithCount(16)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из досок + e.shaped(lumber.copyWithCount(4), [ + 's', + 'A' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_lumber_from_planks_saw`) + + e.recipes.create.cutting(lumber.copyWithCount(3), plank) + .id(`tfg:create_cutting/${woodName}_lumber_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_planks`) + .itemInputs(plank) + .circuit(0) + .itemOutputs(lumber.copyWithCount(4)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из ступенек + e.shaped(lumber.copyWithCount(1), [ + 'A', + 's' + ], { + A: stair, + s: '#forge:tools/saws' + }).id(`tfg:workbench//${woodName}_lumber_from_stairs_saw`) + + e.recipes.create.cutting(lumber.copyWithCount(2), stair) + .id(`tfg:create_cutting/${woodName}_lumber_from_stairs`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_stairs`) + .itemInputs(stair) + .circuit(2) + .itemOutputs(lumber.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из полублоков + e.shaped(lumber.copyWithCount(1), [ + 'A', + 's' + ], { + A: slab, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_lumber_from_slab_saw`) + + e.recipes.create.cutting([lumber, lumber.withChance(0.5)], slab) + .id(`tfg:create_cutting/${woodName}_lumber_from_slab`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_slab`) + .itemInputs(slab) + .circuit(2) + .itemOutputs(lumber.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#endregion + + //#region Доски + e.remove({ id: `gtceu:shapeless/${woodName}_planks` }) + e.remove({ id: `gtceu:shaped/${woodName}_planks_saw` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_distilled_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_water` }) + e.remove({ id: `create:cutting/stripped_${woodName}_stem` }) + e.remove({ id: `create:cutting/stripped_${woodName}_hyphae` }) + + e.shaped(plank, [ + 'AA', + 'AA' + ], { + A: lumber + }).id(`tfg:workbench/${woodName}_planks`) + + e.recipes.create.cutting(plank.copyWithCount(3), anyLogs) + .id(`tfg:create_cutting/${woodName}_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_planks`) + .itemInputs(anyLogs) + .circuit(3) + .itemOutputs(plank.copyWithCount(6)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Ступень + e.remove({ id: `minecraft:${woodName}_stairs` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_stairs_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:assembler/${woodName}_stairs` }) + + e.shaped(stair, [ + 'As' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_stairs_saw`) + + e.recipes.create.cutting(stair.copyWithCount(4), anyLogs) + .id(`tfg:create_cutting/${woodName}_stairs_from_logs`) + + e.recipes.create.cutting([stair, Item.of('1x gtceu:small_wood_dust')], plank) + .id(`tfg:create_cutting/${woodName}_stairs_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_logs`) + .itemInputs(anyLogs) + .circuit(4) + .itemOutputs(stair.copyWithCount(8)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_planks`) + .itemInputs(plank) + .circuit(1) + .itemOutputs(stair) + .itemOutputs('1x gtceu:small_wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Полублок + e.remove({ id: `gtceu:shaped/${woodName}_slab_saw` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_slab_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_distilled_water` }) + + e.shaped(slab.copyWithCount(2), [ + 'sA' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_slabs_saw`) + + e.recipes.create.cutting(slab.copyWithCount(6), anyLogs) + .id(`tfg:create_cutting/${woodName}_slabs_from_logs`) + + e.recipes.create.cutting(slab.copyWithCount(2), plank) + .id(`tfg:create_cutting/${woodName}_slabs_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_logs`) + .itemInputs(anyLogs) + .circuit(5) + .itemOutputs(slab.copyWithCount(12)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_planks`) + .itemInputs(plank) + .circuit(2) + .itemOutputs(slab.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Забор + e.remove({ id: `gtceu:shaped/${woodName}_fence` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence` }) + + e.shaped(fence.copyWithCount(8), [ + 'h s', + 'ABA', + 'ACA' + ], { + A: plank, + B: '#forge:rods/wooden', + C: lumber, + h: '#forge:tools/hammers', + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_fence`) + + e.recipes.create.cutting([fence, Item.of('1x gtceu:wood_dust')], plank) + .id(`tfg:create_cutting/${woodName}_fence`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_fence`) + .itemInputs(plank) + .circuit(3) + .itemOutputs(fence.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Калитка + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate` }) + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate_screws` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence_gate` }) + + e.shaped(fenceGate, [ + 'A A', + 'BCB', + 'DCD' + ], { + A: 'minecraft:flint', + B: '#forge:rods/wooden', + C: plank, + D: lumber + }).id(`tfg:workbench/${woodName}_fence_gate_flint`) + + e.shaped(fenceGate.copyWithCount(2), [ + 'AEA', + 'BCB', + 'DCD' + ], { + A: '#forge:screws', + B: '#forge:rods/wooden', + C: plank, + D: lumber, + E: '#forge:tools/screwdrivers' + }).id(`tfg:workbench/${woodName}_fence_gate_screws`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_fence_gate`) + .itemInputs(plank.copyWithCount(2)) + .itemInputs('2x #forge:rods/wooden') + .itemInputs('2x #forge:screws') + .circuit(0) + .itemOutputs(fenceGate) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Дверь + e.remove({ id: `gtceu:shaped/${woodName}_door` }) + e.remove({ id: `gtceu:assembler/${woodName}_door` }) + + e.shaped(door, [ + 'ABd', + 'ACD', + 'AAs' + ], { + A: lumber, + B: trapdoor, + C: '#forge:rings', + D: '#forge:screws', + d: '#forge:tools/screwdrivers', + s: '#forge:tools/saws', + }).id(`tfg:workbench/${woodName}_door`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_door`) + .itemInputs(lumber.copyWithCount(4)) + .itemInputs(trapdoor) + .itemInputs('4x #forge:screws') + .circuit(0) + .itemOutputs(door) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Люк + e.remove({ id: `minecraft:${woodName}_trapdoor` }) + e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_iron` }) + e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_trapdoor_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_trapdoor_iron` }) + + e.shaped(trapdoor, [ + 'ABd', + 'ACs' + ], { + A: lumber, + B: '#forge:rings', + C: '#forge:bolts', + d: '#forge:tools/screwdrivers', + s: '#forge:tools/saws', + }).id(`tfg:workbench/${woodName}_trapdoor`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_trapdoor`) + .itemInputs(lumber.copyWithCount(2)) + .itemInputs('2x #forge:bolts') + .circuit(0) + .itemOutputs(trapdoor) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Нажимная пластина + e.remove({ id: `minecraft:${woodName}_pressure_plate` }) + e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) + e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) + + e.shaped(pressurePlate.copyWithCount(2), [ + 'AmA', + 'BCB', + 'AdA' + ], { + A: 'gtceu:wood_bolt', + B: slab, + C: '#forge:springs', + m: '#forge:tools/mallets', + d: '#forge:tools/screwdrivers' + }).id(`tfg:workbench/${woodName}_pressure_plate`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_pressure_plate`) + .itemInputs(slab.copyWithCount(2)) + .itemInputs('#forge:springs') + .circuit(0) + .itemOutputs(pressurePlate) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Кнопка + + // e.remove({ id: `gtceu:shaped/${woodName}_button` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button_water` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button_distilled_water` }) + + //#endregion + + //#region Табличка + e.remove({ id: `minecraft:${woodName}_sign` }) + e.remove({ id: `gtceu:shaped/${woodName}_sign_steel` }) + e.remove({ id: `gtceu:shaped/${woodName}_sign_iron` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign_iron` }) + + e.shaped(sign.copyWithCount(3), [ + 'AAA', + 'AAA', + 'mB ' + ], { + A: lumber, + B: '#forge:rods/wooden', + m: '#forge:tools/mallets' + }).id(`tfg:workbench/${woodName}_sign`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_sign`) + .itemInputs(lumber.copyWithCount(6)) + .circuit(3) + .itemOutputs(sign.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Висящая табличка + e.remove({ id: `minecraft:${woodName}_hanging_sign` }) + e.remove({ id: `gtceu:assembler/${woodName}_hanging_sign` }) + + e.shaped(hangingSign.copyWithCount(3), [ + 'AmA', + 'CBC', + 'BBB' + ], { + A: '#tfg:metal_chains', + B: lumber, + C: '#forge:screws', + m: '#forge:tools/mallets' + }).id(`tfg:workbench/${woodName}_hanging_sign`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_hanging_sign`) + .itemInputs(lumber.copyWithCount(4)) + .itemInputs('2x #tfg:metal_chains') + .itemInputs('4x #forge:screws') + .circuit(4) + .itemOutputs(hangingSign.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Крыша (AlekiRoofs) + e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) + + e.shaped(roofing.copyWithCount(2), [ + 'A ', + ' s' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_roofing_saw`) + + e.recipes.create.cutting([roofing, Item.of('1x gtceu:wood_dust')], plank) + .id(`tfg:create_cutting/${woodName}_roofing`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_roofing`) + .itemInputs(plank) + .circuit(4) + .itemOutputs(roofing.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Окно (Create) + e.remove({ id: `create:${woodName}_window` }) + + e.shaped(window, [ + ' A ', + 'ABA', + ' m ' + ], { + A: plank, + B: '#forge:glass/colorless', + m: '#forge:tools/mallets' + }).id(`tfg:workbench/${woodName}_window`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_window`) + .itemInputs(plank) + .itemInputs('#forge:glass/colorless') + .circuit(16) + .itemOutputs(window) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Окнонная панель (Create) + e.remove({ id: `create:${woodName}_window_pane` }) + + e.shaped(windowPane.copyWithCount(2), [ + 'AB', + 'Am' + ], { + A: plank, + B: '#forge:glass/colorless', + m: '#forge:tools/mallets' + }).id(`tfg:workbench/${woodName}_window_pane`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_window_pane`) + .itemInputs(plank) + .itemInputs('#forge:glass/colorless') + .circuit(17) + .itemOutputs(windowPane.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + //#endregion + + //#region Железнодорожное полотно (Узкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_narrow` }) + + e.recipes.createSequencedAssembly([ + trackNarrow, + ], slab, [ + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '4x #forge:screws']), + e.recipes.createPressing(incompleteTrackNarrow, [incompleteTrackNarrow]), + ]).transitionalItem(incompleteTrackNarrow).loops(1) + .id(`tfg:sequenced_assembly/track_${woodName}_narrow`) + + e.recipes.gtceu.assembler(`tfg:narrow_${woodName}_track`) + .itemInputs(slab, '4x #tfg:all_iron_nuggets', '4x #forge:screws') + .itemOutputs(trackNarrow) + .circuit(24) + .duration(800) + .EUt(32) + //#endregion + + //#region Железнодорожное полотно (Нормальное) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}` }) + + e.recipes.createSequencedAssembly([ + track, + ], trackNarrow, [ + e.recipes.createCutting(incompleteTrack, incompleteTrack).processingTime(100), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, slab]), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createPressing(incompleteTrack, [incompleteTrack]), + ]).transitionalItem(incompleteTrack).loops(1) + .id(`tfg:sequenced_assembly/track_${woodName}`) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}`) + .itemInputs(slab, trackNarrow, '4x #forge:screws') + .itemOutputs(track) + .circuit(24) + .duration(1200) + .EUt(32) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}_skip`) + .itemInputs(slab.copyWithCount(2), '8x #forge:screws') + .itemOutputs(track) + .circuit(25) + .duration(1200) + .EUt(32) + //#endregion + + //#region Железнодорожное полотно (Широкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_wide` }) + + e.recipes.createSequencedAssembly([ + trackWide, + ], track, [ + e.recipes.createCutting(incompleteTrackWide, incompleteTrackWide).processingTime(150), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, slab]), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createPressing(incompleteTrackWide, [incompleteTrackWide]), + ]).transitionalItem(incompleteTrackWide).loops(1) + .id(`tfg:sequenced_assembly/track_${woodName}_wide`) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}_wide`) + .itemInputs(slab, track, '4x #forge:screws') + .itemOutputs(trackWide) + .circuit(24) + .duration(1600) + .EUt(16) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}_wide_skip`) + .itemInputs(slab.copyWithCount(3), '12x #forge:screws') + .itemOutputs(trackWide) + .circuit(26) + .duration(1600) + .EUt(16) + //#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/advancedperipherals/recipes.js b/kubejs/server_scripts/advancedperipherals/recipes.js new file mode 100644 index 000000000..63a9f4cdf --- /dev/null +++ b/kubejs/server_scripts/advancedperipherals/recipes.js @@ -0,0 +1,161 @@ +// priority: 0 + +const registerAdvancedPeripheralsRecipes = (e) => { + e.remove({ mod: `advancedperipherals` }) + + // + e.shaped('advancedperipherals:peripheral_casing', [ + 'CBC', + 'ADA', + 'AAA', + ], { + A: '#forge:plates/titanium', + B: '#gtceu:circuits/ev', + C: '#forge:double_wires/uranium_triplatinum', + D: 'gtceu:ev_machine_hull', + }).id('advancedperipherals:crafting/peripheral_casing') + + e.shaped('advancedperipherals:environment_detector', [ + 'ABA', + 'CDC', + 'EFE', + ], { + A: 'gtceu:ev_sensor', + B: 'gtceu:computer_monitor_cover', + C: 'gtceu:ev_emitter', + D: 'advancedperipherals:peripheral_casing', + E: '#gtceu:circuits/iv', + F: 'gtceu:advanced_item_detector_cover', + }).id('advancedperipherals:crafting/environment_detector') + + e.shaped('advancedperipherals:chat_box', [ + ' B ', + 'CDC', + 'EFE', + ], { + B: 'gtceu:computer_monitor_cover', + C: 'gtceu:iv_emitter', + D: 'advancedperipherals:peripheral_casing', + E: '#gtceu:circuits/luv', + F: '#forge:double_wires/uranium_triplatinum', + }).id('advancedperipherals:crafting/chat_box') + + e.shaped('advancedperipherals:player_detector', [ + 'ABA', + 'CDC', + 'EFE', + ], { + A: 'gtceu:luv_sensor', + B: 'gtceu:computer_monitor_cover', + C: 'gtceu:luv_emitter', + D: 'advancedperipherals:peripheral_casing', + E: '#gtceu:circuits/luv', + F: '#forge:double_wires/indium_tin_barium_titanium_cuprate', + }).id('advancedperipherals:crafting/player_detector') + + e.shaped('advancedperipherals:me_bridge', [ + 'ABC', + 'BDB', + 'EFG', + ], { + A: 'gtceu:ev_sensor', + B: 'expatternprovider:ex_interface', + C: 'gtceu:advanced_energy_detector_cover', + D: 'advancedperipherals:peripheral_casing', + E: 'gtceu:advanced_item_detector_cover', + F: 'ae2:controller', + G: 'gtceu:advanced_fluid_detector_cover', + }).id('advancedperipherals:crafting/me_bridge') + + e.shaped('advancedperipherals:energy_detector', [ + 'ABA', + 'CDC', + 'EFE', + ], { + A: 'gtceu:ev_sensor', + B: 'gtceu:computer_monitor_cover', + C: 'gtceu:ev_emitter', + D: 'advancedperipherals:peripheral_casing', + E: '#gtceu:circuits/ev', + F: 'gtceu:advanced_energy_detector_cover', + }).id('advancedperipherals:crafting/energy_detector') + + e.shaped('advancedperipherals:inventory_manager', [ + 'ABA', + 'CDC', + 'EFE', + ], { + A: 'gtceu:ev_sensor', + B: 'gtceu:computer_monitor_cover', + C: 'gtceu:ev_emitter', + D: 'advancedperipherals:peripheral_casing', + E: '#gtceu:circuits/ev', + F: 'gtceu:hv_super_chest', + }).id('advancedperipherals:crafting/inventory_manager') + + e.shaped('advancedperipherals:redstone_integrator', [ + ' B ', + 'ADA', + 'EFE', + ], { + A: 'gtceu:ev_sensor', + B: 'gtceu:computer_monitor_cover', + D: 'advancedperipherals:peripheral_casing', + E: '#gtceu:circuits/ev', + F: 'gtceu:advanced_activity_detector_cover', + }).id('advancedperipherals:crafting/redstone_integrator') + + e.shaped('advancedperipherals:block_reader', [ + 'EBE', + 'ADA', + 'EFE', + ], { + A: 'gtceu:ev_sensor', + B: 'gtceu:computer_monitor_cover', + D: 'advancedperipherals:peripheral_casing', + E: '#gtceu:circuits/ev', + F: '#forge:double_wires/uranium_triplatinum', + }).id('advancedperipherals:crafting/block_reader') + + e.shaped('advancedperipherals:geo_scanner', [ + 'ABA', + 'CDC', + 'EFE', + ], { + A: 'gtceu:luv_sensor', + B: 'gtceu:prospector.luv', + C: 'gtceu:luv_emitter', + D: 'advancedperipherals:peripheral_casing', + E: '#gtceu:circuits/luv', + F: 'computercraft:wired_modem_full', + }).id('advancedperipherals:crafting/geo_scanner') + + e.shaped('advancedperipherals:nbt_storage', [ + ' A ', + 'ADA', + 'EBE', + ], { + A: 'gtceu:ev_sensor', + B: 'gtceu:digital_interface_cover', + D: 'advancedperipherals:peripheral_casing', + E: '#gtceu:circuits/ev', + }).id('advancedperipherals:crafting/nbt_storage') + + e.recipes.gtceu.assembler('advancedperipherals:overpowered_weak_automata_core') + .itemInputs('advancedperipherals:weak_automata_core', '2x gtceu:wetware_processor') + .itemOutputs('advancedperipherals:overpowered_weak_automata_core') + .duration(8000) + .EUt(480) + + e.recipes.gtceu.assembler('advancedperipherals:overpowered_end_automata_core') + .itemInputs('advancedperipherals:end_automata_core', '2x gtceu:wetware_processor') + .itemOutputs('advancedperipherals:overpowered_end_automata_core') + .duration(8000) + .EUt(480) + + e.recipes.gtceu.assembler('advancedperipherals:overpowered_husbandry_automata_core') + .itemInputs('advancedperipherals:husbandry_automata_core', '2x gtceu:wetware_processor') + .itemOutputs('advancedperipherals:overpowered_husbandry_automata_core') + .duration(8000) + .EUt(480) +} \ No newline at end of file diff --git a/kubejs/server_scripts/advancedperipherals/tags.js b/kubejs/server_scripts/advancedperipherals/tags.js new file mode 100644 index 000000000..23581a6b9 --- /dev/null +++ b/kubejs/server_scripts/advancedperipherals/tags.js @@ -0,0 +1,14 @@ +// priority: 0 + +const registerAdvancedPeripheralsItemTags = (event) => { + global.ADVANCED_PERIPHERALS_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) +} + +const registerAdvancedPeripheralsBlockTags = (event) => { + global.ADVANCED_PERIPHERALS_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/ae2/tags.js b/kubejs/server_scripts/ae2/tags.js index 719cf7567..842adba74 100644 --- a/kubejs/server_scripts/ae2/tags.js +++ b/kubejs/server_scripts/ae2/tags.js @@ -2,6 +2,8 @@ const registerAE2ItemTags = (event) => { + event.add('c:hidden_from_recipe_viewers', "ae2:facade") + global.AE2_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) event.add('c:hidden_from_recipe_viewers', item) diff --git a/kubejs/server_scripts/alekiroofs/recipes.js b/kubejs/server_scripts/alekiroofs/recipes.js new file mode 100644 index 000000000..2c373e322 --- /dev/null +++ b/kubejs/server_scripts/alekiroofs/recipes.js @@ -0,0 +1,227 @@ +// priority: 0 + +const registerAlekiRoofsRecipes = (e) => { + + e.remove({ id: 'alekiroofs:crafting/brick_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/brick_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/cobbled_deepslate_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/cobbled_deepslate_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/polished_deepslate_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/polished_deepslate_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/deepslate_tile_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/deepslate_tile_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/deepslate_brick_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/deepslate_brick_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/andesite_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/andesite_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/polished_andesite_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/polished_andesite_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/granite_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/granite_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/polished_granite_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/polished_granite_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/diorite_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/diorite_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/polished_diorite_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/polished_diorite_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/stone_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/stone_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/cobblestone_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/cobblestone_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/mossy_cobblestone_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/mossy_cobblestone_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/stone_brick_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/stone_brick_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/mossy_stone_brick_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/mossy_stone_brick_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/blackstone_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/blackstone_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/polished_blackstone_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/polished_blackstone_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/polished_blackstone_brick_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/polished_blackstone_brick_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/prismarine_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/prismarine_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/dark_prismarine_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/dark_prismarine_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/prismarine_brick_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/prismarine_brick_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/purpur_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/purpur_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/end_stone_brick_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/end_stone_brick_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/mud_brick_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/mud_brick_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/sandstone_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/sandstone_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/smooth_sandstone_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/smooth_sandstone_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/red_sandstone_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/red_sandstone_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/smooth_red_sandstone_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/smooth_red_sandstone_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/quartz_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/quartz_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/smooth_quartz_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/smooth_quartz_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/nether_brick_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/nether_brick_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/red_nether_brick_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/red_nether_brick_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/cut_copper_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/cut_copper_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/exposed_cut_copper_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/exposed_cut_copper_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/weathered_cut_copper_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/weathered_cut_copper_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/oxidized_cut_copper_roofing' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/oxidized_cut_copper_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/waxed_cut_copper_roofing' }) + e.remove({ id: 'alekiroofs:crafting/waxed_cut_copper_roofing_from_honeycomb' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/waxed_cut_copper_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/waxed_exposed_cut_copper_roofing' }) + e.remove({ id: 'alekiroofs:crafting/waxed_exposed_cut_copper_roofing_from_honeycomb' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/waxed_exposed_cut_copper_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/waxed_weathered_cut_copper_roofing' }) + e.remove({ id: 'alekiroofs:crafting/waxed_weathered_cut_copper_roofing_from_honeycomb' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/waxed_weathered_cut_copper_roofing_from_stonecutting' }) + + e.remove({ id: 'alekiroofs:crafting/waxed_oxidized_cut_copper_roofing' }) + e.remove({ id: 'alekiroofs:crafting/waxed_oxidized_cut_copper_roofing_from_honeycomb' }) + e.remove({ id: 'alekiroofs:stonecutting/crafting/waxed_oxidized_cut_copper_roofing_from_stonecutting' }) + + //#region Дерево + global.MINECRAFT_ALL_WOOD_TYPES.forEach(woodName => { + + // Roofs + e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) + }) + + //#region Бамбук + const woodName = 'bamboo' + + const plank = Item.of(`minecraft:${woodName}_planks`) + const plankMosaic = Item.of(`minecraft:${woodName}_mosaic`) + + const fence = Item.of(`minecraft:${woodName}_fence`) + + const roofing = Item.of(`alekiroofs:${woodName}_roofing`) + const roofingMosaic = Item.of(`alekiroofs:${woodName}_mosaic_roofing`) + + //#region Крыша + e.remove({ id: `alekiroofs:crafting/${woodName}_roofing` }) + + e.shaped(roofing.copyWithCount(2), [ + 'A ', + ' s' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_roofing_saw`) + + e.recipes.create.cutting([fence, Item.of('1x gtceu:wood_dust')], plank) + .id(`tfg:create_cutting/${woodName}_roofing`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_roofing`) + .itemInputs(plank) + .circuit(4) + .itemOutputs(roofing.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Мозаичная крыша + e.remove({ id: `alekiroofs:crafting/${woodName}_mosaic_roofing` }) + + //#region Через обычные + e.shaped(roofingMosaic, [ + 'A ', + ' s' + ], { + A: roofing, + s: 'forge:tools/saws' + }).id(`tfg:workbench/${woodName}_mosaic_roofing`) + + e.recipes.gtceu.laser_engraver(`tfg:${woodName}_mosaic_roofing`) + .itemInputs(roofing) + .notConsumable('#forge:lenses/white') + .itemOutputs(roofingMosaic) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Через мозаичные + e.shaped(roofingMosaic.copyWithCount(2), [ + 'sA' + ], { + A: roofingMosaic, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_mosaic_roofing_saw`) + + e.recipes.create.cutting(roofingMosaic.copyWithCount(2), plankMosaic) + .id(`tfg:create_cutting/${woodName}_mosaic_roofing_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_mosaic_roofing_from_planks`) + .itemInputs(plankMosaic) + .circuit(2) + .itemOutputs(roofingMosaic.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#endregion + + //#endregion + + //#endregion + + + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/alekiroofs/tags.js b/kubejs/server_scripts/alekiroofs/tags.js new file mode 100644 index 000000000..8c0074cf6 --- /dev/null +++ b/kubejs/server_scripts/alekiroofs/tags.js @@ -0,0 +1,19 @@ +// priority: 0 + +const registerAlekiRoofsItemTags = (event) => { + global.ALEKI_ROOFS_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) + + //#region Бамбуковые крыши в один тег + event.add('tfg:bamboo_roofings', 'alekiroofs:bamboo_roofing') + event.add('tfg:bamboo_roofings', 'alekiroofs:bamboo_mosaic_roofing') + //#endregion +} + +const registerAlekiRoofsBlockTags = (event) => { + global.ALEKI_ROOFS_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/alekiships/recipes.js b/kubejs/server_scripts/alekiships/recipes.js new file mode 100644 index 000000000..3f6e6819a --- /dev/null +++ b/kubejs/server_scripts/alekiships/recipes.js @@ -0,0 +1,66 @@ +// priority: 0 + +const registerAlekiShipsRecipes = (e) => { + + e.remove({ id: 'alekiships:crafting/cannon' }) + + //#region Oarlock + e.remove({ id: 'alekiships:crafting/oarlock' }) + + e.recipes.gtceu.assembler('tfg:alekiships/oarlock') + .itemInputs('#forge:double_plates/wrought_iron') + .circuit(13) + .itemOutputs('alekiships:oarlock') + .EUt(4).duration(75) + + e.remove({ id: 'firmaciv:heating/oarlock' }) + e.recipes.tfc.heating('alekiships:oarlock', 1535) + .resultFluid(Fluid.of('gtceu:iron', 288)) + .id(`tfg:heating/oarlock`) + //#endregion + + //#region Cleat + e.remove({ id: 'alekiships:crafting/cleat' }) + + e.recipes.gtceu.assembler('tfg:alekiships/cleat') + .itemInputs('#forge:double_plates/steel') + .circuit(14) + .itemOutputs('alekiships:cleat') + .EUt(4).duration(75) + + e.remove({ id: 'firmaciv:heating/cleat' }) + e.recipes.tfc.heating('alekiships:cleat', 1535) + .resultFluid(Fluid.of('gtceu:steel', 288)) + .id(`tfg:heating/alekiships/cleat`) + //#endregion + + //#region Anchor + e.remove({ id: 'alekiships:crafting/anchor' }) + + e.recipes.gtceu.assembler('tfg:alekiships/anchor') + .itemInputs('#forge:double_plates/steel') + .circuit(10) + .itemOutputs('alekiships:anchor') + .EUt(4).duration(75) + + e.remove({ id: 'firmaciv:heating/anchor' }) + e.recipes.tfc.heating('alekiships:anchor', 1535) + .resultFluid(Fluid.of('gtceu:steel', 288)) + .id(`tfg:heating/alekiships/anchor`) + //#endregion + + //#region Cannonball + e.remove({ id: 'alekiships:crafting/cannonball' }) + + e.recipes.gtceu.assembler('tfg:alekiships/cannonball') + .itemInputs('#forge:double_plates/wrought_iron') + .circuit(12) + .itemOutputs('alekiships:cannonball') + .EUt(4).duration(75) + + e.remove({ id: 'firmaciv:heating/cannonball' }) + e.recipes.tfc.heating('alekiships:cannonball', 1535) + .resultFluid(Fluid.of('gtceu:iron', 288)) + .id(`tfg:heating/alekiships/cannonball`) + //#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/alekiships/tags.js b/kubejs/server_scripts/alekiships/tags.js new file mode 100644 index 000000000..73be5f4b3 --- /dev/null +++ b/kubejs/server_scripts/alekiships/tags.js @@ -0,0 +1,14 @@ +// priority: 0 + +const registerAlekiShipsItemTags = (event) => { + global.ALEKI_SHIPS_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) +} + +const registerAlekiShipsBlockTags = (event) => { + global.ALEKI_SHIPS_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/beneath/recipes.js b/kubejs/server_scripts/beneath/recipes.js new file mode 100644 index 000000000..7e60d5ea1 --- /dev/null +++ b/kubejs/server_scripts/beneath/recipes.js @@ -0,0 +1,52 @@ +// priority: 0 + +const registerBeneathRecipes = (e) => { + + // Какие то рецепты дерева + global.BENEATH_WOOD_TYPES.forEach(wood => { + e.remove({ id: `beneath:crafting/wood/${wood}_axle` }) + e.remove({ id: `beneath:crafting/wood/${wood}_bladed_axle` }) + e.remove({ id: `beneath:crafting/wood/${wood}_encased_axle` }) + e.remove({ id: `beneath:crafting/wood/${wood}_clutch` }) + e.remove({ id: `beneath:crafting/wood/${wood}_gear_box` }) + e.remove({ id: `beneath:crafting/wood/${wood}_water_wheel` }) + + // Бревна -> Пиломатериалы + generateCutterRecipe(e, `#tfc:${wood}_logs`, null, `16x beneath:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_log`) + + // Доски -> Пиломатериалы + generateCutterRecipe(e, `beneath:wood/planks/${wood}`, null, `4x beneath:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_planks`) + + // Ступень -> Пиломатериалы + generateCutterRecipe(e, `beneath:wood/planks/${wood}_stairs`, null, `3x beneath:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_stairs`) + + // Плита -> Пиломатериалы + generateCutterRecipe(e, `beneath:wood/planks/${wood}_slab`, null, `2x beneath:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_slab`) + + // ? -> Деревянная нажимная пластина + e.shaped(`beneath:wood/planks/${wood}_pressure_plate`, [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: '#forge:screws/wood', + B: '#tfc:hammers', + C: `beneath:wood/planks/${wood}_slab`, + D: '#forge:springs', + E: '#forge:tools/screwdrivers' + }).id(`beneath:crafting/wood/${wood}_pressure_plate`) + + e.recipes.gtceu.assembler(`${wood}_pressure_plate`) + .itemInputs('#forge:springs', `2x beneath:wood/planks/${wood}_slab`) + .circuit(0) + .itemOutputs(`2x beneath:wood/planks/${wood}_pressure_plate`) + .duration(50) + .EUt(2) + + // ? -> Деревянная кнопка + e.remove({ id: `beneath:crafting/wood/${wood}_button` }) + + generateCutterRecipe(e, `beneath:wood/planks/${wood}_pressure_plate`, null, `6x beneath:wood/planks/${wood}_button`, 50, 2, `${wood}_button`) + }) + //#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/beneath/tags.js b/kubejs/server_scripts/beneath/tags.js new file mode 100644 index 000000000..4057c0e24 --- /dev/null +++ b/kubejs/server_scripts/beneath/tags.js @@ -0,0 +1,27 @@ +// priority: 0 + +const registerBeneathItemTags = (event) => { + event.add('minecraft:saplings', 'beneath:wood/sapling/crimson') + event.add('minecraft:saplings', 'beneath:wood/sapling/warped') +} + +const registerBeneathBlockTags = (event) => { + +} + +const registerBeneathPlacedFeatures = (event) => { + + //#region Удаляем все руды TFC из генерации мира + const ALL_DISABLED_BENEATH_VEINS = [ + 'beneath:vein/cursecoal', + 'beneath:vein/deep_gold', + 'beneath:vein/normal_gold', + 'beneath:vein/quartz', + 'beneath:vein/sylvite' + ] + + ALL_DISABLED_BENEATH_VEINS.forEach(vein => { + event.remove('beneath:veins', vein) + }) + //#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/chisel_and_bits/recipes.js b/kubejs/server_scripts/chisel_and_bits/recipes.js index 1217427c4..2dd6fa17c 100644 --- a/kubejs/server_scripts/chisel_and_bits/recipes.js +++ b/kubejs/server_scripts/chisel_and_bits/recipes.js @@ -2,117 +2,114 @@ const registerChiselAndBitsRecipes = (event) => { - if (Platform.isLoaded('chiselsandbits')) { - event.remove({ not: [ - { id: 'chiselsandbits:quill' } - ], mod: 'chiselsandbits' }) - - // Мешок для кусочков блоков - event.recipes.tfc.knapping('chiselsandbits:bit_bag', 'tfc:leather', [ - " X X ", - "X X", - "X X", - "XXXXX" - ]).ingredient('#tfc:leather_knapping').id('tfg:chiselsandbits/knapping_leather/bit_bag') - - // Лупа - event.shaped('chiselsandbits:magnifying_glass', [ - 'A', - 'C', - 'B' - ], { - A: '#forge:glass', - B: '#forge:rods/wooden', - C: '#forge:rings/wrought_iron' - }).id('tfg:chiselsandbits/shaped/magnifying_glass') - - // Алмазная стамеска - event.shapeless('chiselsandbits:chisel_diamond', [ - '#tfc:chisels', - 'tfc:powder/diamond', - 'tfc:powder/diamond', - 'tfc:powder/diamond' - ]).id('tfg:chiselsandbits/shapeless/chisel_diamond') - - // Хранилище кусочков - event.shaped('chiselsandbits:bit_storage', [ - 'ABA', - 'C C', - 'ADA' - ], { - A: '#forge:rods/wrought_iron', - B: '#forge:tools/wrench', - C: 'forge:glass_panes', - D: 'minecraft:wooden_slabs', - }).id('tfg:chiselsandbits/shaped/bit_storage') - - // Рулетка - event.shaped('chiselsandbits:measuring_tape', [ - ' AB', - ' BA', - 'C ' - ], { - A: '#forge:dyes/yellow', - B: '#forge:string', - C: '#forge:rods/wrought_iron' - }).id('tfg:chiselsandbits/shaped/measuring_tape') - - // Герметик - event.shapeless('chiselsandbits:sealant', [ - 'minecraft:slime_ball', - 'firmalife:raw_honey' - ]).id('tfg:chiselsandbits/shapeless/sealant_from_slimeballs') - - event.shapeless('chiselsandbits:sealant', [ - 'tfc:glue', - 'firmalife:raw_honey' - ]).id('tfg:chiselsandbits/shapeless/sealant_from_glue') - - // Резной принтер - event.shaped('chiselsandbits:chiseled_printer', [ - ' A ', - 'B B', - 'BCB' - ], { - A: '#forge:tools/wrench', - B: '#tfc:support_beams', - C: '#forge:smooth_stone_slab' - }).id('tfg:chiselsandbits/shaped/chiseled_printer') - - // Стол модификаций - event.shaped('chiselsandbits:modification_table', [ - 'ABA', - 'CDC', - 'C C' - ], { - A: '#minecraft:wooden_slabs', - B: '#forge:tools/wrench', - C: '#tfc:support_beams', - D: '#tfc:workbenches' - }).id('tfg:chiselsandbits/shaped/modification_table') - - // Принтер и сканер шаблонов - event.shaped('chiselsandbits:pattern_scanner', [ - ' A ', - 'B B', - 'BCB' - ], { - A: '#forge:tools/wrench', - B: '#tfc:lumber', - C: '#forge:smooth_stone_slab' - }).id('tfg:chiselsandbits/shaped/pattern_scanner') - - // Удалятель герметика - event.shaped('chiselsandbits:wrench', [ - ' AB', - ' AA', - 'A ' - ], { - A: '#tfc:lumber', - B: 'chiselsandbits:block_bit', - }).id('tfg:chiselsandbits/shaped/wrench') - } + if (!Platform.isLoaded('chiselsandbits')) return; - - + event.remove({ not: [ + { id: 'chiselsandbits:quill' } + ], mod: 'chiselsandbits' }) + + // Мешок для кусочков блоков + event.recipes.tfc.knapping('chiselsandbits:bit_bag', 'tfc:leather', [ + " X X ", + "X X", + "X X", + "XXXXX" + ]).ingredient('#tfc:leather_knapping').id('tfg:chiselsandbits/knapping_leather/bit_bag') + + // Лупа + event.shaped('chiselsandbits:magnifying_glass', [ + 'A', + 'C', + 'B' + ], { + A: '#forge:glass', + B: '#forge:rods/wooden', + C: '#forge:rings/wrought_iron' + }).id('tfg:chiselsandbits/shaped/magnifying_glass') + + // Алмазная стамеска + event.shapeless('chiselsandbits:chisel_diamond', [ + '#tfc:chisels', + 'tfc:powder/diamond', + 'tfc:powder/diamond', + 'tfc:powder/diamond' + ]).id('tfg:chiselsandbits/shapeless/chisel_diamond') + + // Хранилище кусочков + event.shaped('chiselsandbits:bit_storage', [ + 'ABA', + 'C C', + 'ADA' + ], { + A: '#forge:rods/wrought_iron', + B: '#forge:tools/wrench', + C: 'forge:glass_panes', + D: 'minecraft:wooden_slabs', + }).id('tfg:chiselsandbits/shaped/bit_storage') + + // Рулетка + event.shaped('chiselsandbits:measuring_tape', [ + ' AB', + ' BA', + 'C ' + ], { + A: '#forge:dyes/yellow', + B: '#forge:string', + C: '#forge:rods/wrought_iron' + }).id('tfg:chiselsandbits/shaped/measuring_tape') + + // Герметик + event.shapeless('chiselsandbits:sealant', [ + 'minecraft:slime_ball', + 'firmalife:raw_honey' + ]).id('tfg:chiselsandbits/shapeless/sealant_from_slimeballs') + + event.shapeless('chiselsandbits:sealant', [ + 'tfc:glue', + 'firmalife:raw_honey' + ]).id('tfg:chiselsandbits/shapeless/sealant_from_glue') + + // Резной принтер + event.shaped('chiselsandbits:chiseled_printer', [ + ' A ', + 'B B', + 'BCB' + ], { + A: '#forge:tools/wrench', + B: '#tfc:support_beams', + C: '#forge:smooth_stone_slab' + }).id('tfg:chiselsandbits/shaped/chiseled_printer') + + // Стол модификаций + event.shaped('chiselsandbits:modification_table', [ + 'ABA', + 'CDC', + 'C C' + ], { + A: '#minecraft:wooden_slabs', + B: '#forge:tools/wrench', + C: '#tfc:support_beams', + D: '#tfc:workbenches' + }).id('tfg:chiselsandbits/shaped/modification_table') + + // Принтер и сканер шаблонов + event.shaped('chiselsandbits:pattern_scanner', [ + ' A ', + 'B B', + 'BCB' + ], { + A: '#forge:tools/wrench', + B: '#tfc:lumber', + C: '#forge:smooth_stone_slab' + }).id('tfg:chiselsandbits/shaped/pattern_scanner') + + // Удалятель герметика + event.shaped('chiselsandbits:wrench', [ + ' AB', + ' AA', + 'A ' + ], { + A: '#tfc:lumber', + B: 'chiselsandbits:block_bit', + }).id('tfg:chiselsandbits/shaped/wrench') } \ No newline at end of file diff --git a/kubejs/server_scripts/chisel_and_bits/tags.js b/kubejs/server_scripts/chisel_and_bits/tags.js index 648608b25..8ac581993 100644 --- a/kubejs/server_scripts/chisel_and_bits/tags.js +++ b/kubejs/server_scripts/chisel_and_bits/tags.js @@ -2,23 +2,21 @@ const registerChiselAndBitsItemTags = (event) => { - if (Platform.isLoaded('chiselsandbits')) { + if (!Platform.isLoaded('chiselsandbits')) return + + event.add('c:hidden_from_recipe_viewers', "chiselandbits:block_bit") + global.CHISEL_AND_BITS_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) event.add('c:hidden_from_recipe_viewers', item) }) - } - - } const registerChiselAndBitsBlockTags = (event) => { - if (Platform.isLoaded('chiselsandbits')) { - global.CHISEL_AND_BITS_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - }) - } + if (!Platform.isLoaded('chiselsandbits')) return - + global.CHISEL_AND_BITS_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + }) } \ No newline at end of file diff --git a/kubejs/server_scripts/computer_craft/recipes.js b/kubejs/server_scripts/computer_craft/recipes.js index 8ad49d15d..d20ee256c 100644 --- a/kubejs/server_scripts/computer_craft/recipes.js +++ b/kubejs/server_scripts/computer_craft/recipes.js @@ -9,12 +9,11 @@ const registerComputerCraftRecipes = (event) => { ], mod: 'computercraft' }); // Networking Cable - event.recipes.gtceu.assembler('computercraft:cable') + event.recipes.gtceu.assembler('tfg:computercraft/cable') .itemInputs('ae2:fluix_glass_cable') .inputFluids(Fluid.of('gtceu:redstone', 288)) .itemOutputs('computercraft:cable') - .duration(80) - .EUt(120) + .EUt(120).duration(80) // Wireless Modem Normal event.shaped('computercraft:wireless_modem_normal', [ @@ -26,7 +25,7 @@ const registerComputerCraftRecipes = (event) => { B: 'ae2:calculation_processor', C: '#gtceu:circuits/hv', D: 'computercraft:cable', - }).id('tfg:crafting/wireless_modem_normal') + }).id('tfg:shaped/computercraft/wireless_modem_normal') // Wireless Modem Advanced event.shaped('computercraft:wireless_modem_advanced', [ @@ -38,7 +37,7 @@ const registerComputerCraftRecipes = (event) => { B: 'ae2:calculation_processor', C: '#gtceu:circuits/hv', D: 'computercraft:cable', - }).id('tfg:crafting/wireless_modem_advanced') + }).id('tfg:shaped/computercraft/wireless_modem_advanced') // Monitor Normal event.shaped('computercraft:monitor_normal', [ @@ -52,7 +51,7 @@ const registerComputerCraftRecipes = (event) => { D: 'gtceu:mv_machine_casing', E: 'computercraft:cable', F: '#gtceu:circuits/mv', - }).id('tfg:crafting/monitor_normal') + }).id('tfg:shaped/computercraft/monitor_normal') // Monitor Advanced event.shaped('computercraft:monitor_advanced', [ @@ -66,7 +65,7 @@ const registerComputerCraftRecipes = (event) => { D: 'gtceu:hv_machine_casing', E: 'computercraft:cable', F: '#gtceu:circuits/hv', - }).id('tfg:crafting/monitor_advanced') + }).id('tfg:shaped/computercraft/monitor_advanced') // Disk Drive event.shaped('computercraft:disk_drive', [ @@ -79,7 +78,7 @@ const registerComputerCraftRecipes = (event) => { C: '#gtceu:circuits/hv', D: 'gtceu:hv_machine_casing', E: 'gtceu:hv_sensor', - }).id('tfg:crafting/disk_drive') + }).id('tfg:shaped/computercraft/disk_drive') // Speaker event.shaped('computercraft:speaker', [ @@ -91,7 +90,7 @@ const registerComputerCraftRecipes = (event) => { B: 'computercraft:cable', C: 'gtceu:mv_machine_casing', D: '#gtceu:circuits/mv', - }).id('tfg:crafting/speaker') + }).id('tfg:shaped/computercraft/speaker') // Printer event.shaped('computercraft:printer', [ @@ -105,7 +104,7 @@ const registerComputerCraftRecipes = (event) => { D: 'computercraft:cable', E: 'gtceu:mv_machine_casing', F: 'gtceu:mv_conveyor_module' - }).id('tfg:crafting/printer') + }).id('tfg:shaped/computercraft/printer') // Wired Modem event.shaped('computercraft:wired_modem', [ @@ -117,13 +116,13 @@ const registerComputerCraftRecipes = (event) => { B: 'computercraft:cable', C: '#gtceu:circuits/mv', D: 'ae2:calculation_processor', - }).id('tfg:crafting/wired_modem') + }).id('tfg:shaped/computercraft/wired_modem') event.shapeless('computercraft:wired_modem', ['computercraft:wired_modem_full']) - .id('tfg:crafting/wired_modem_shapeless') + .id('tfg:shapeless/computercraft/wired_modem_shapeless') event.shapeless('computercraft:wired_modem_full', ['computercraft:wired_modem']) - .id('tfg:crafting/wired_modem_full_shapeless') + .id('tfg:shapeless/computercraft/wired_modem_full_shapeless') // Computer Normal event.shaped('computercraft:computer_normal', [ @@ -136,7 +135,7 @@ const registerComputerCraftRecipes = (event) => { C: '#gtceu:batteries/mv', D: 'gtceu:mv_machine_casing', E: '#gtceu:circuits/hv' - }).id('tfg:crafting/computer_normal') + }).id('tfg:shaped/computercraft/computer_normal') // Computer Advanced event.shaped('computercraft:computer_advanced', [ @@ -149,7 +148,7 @@ const registerComputerCraftRecipes = (event) => { C: '#gtceu:batteries/hv', D: 'gtceu:hv_machine_casing', E: '#gtceu:circuits/ev' - }).id('tfg:crafting/computer_advanced') + }).id('tfg:shaped/computercraft/computer_advanced') // Turtle Normal event.shaped('computercraft:turtle_normal', [ @@ -165,7 +164,7 @@ const registerComputerCraftRecipes = (event) => { F: 'computercraft:computer_normal', G: 'gtceu:steel_crate', H: 'gtceu:hv_electric_piston', - }).id('tfg:crafting/turtle_normal') + }).id('tfg:shaped/computercraft/turtle_normal') // Turtle Advanced event.shaped('computercraft:turtle_advanced', [ @@ -181,11 +180,11 @@ const registerComputerCraftRecipes = (event) => { F: 'computercraft:computer_advanced', G: 'gtceu:aluminium_crate', H: 'gtceu:ev_electric_piston', - }).id('tfg:crafting/turtle_advanced') + }).id('tfg:shaped/computercraft/turtle_advanced') // Disk Crafts for (let i = 0; i < 16; i++) { - event.recipes.gtceu.chemical_bath('computercraft:disk' + `${global.MINECRAFT_DYE_NAMES[i]}`) + event.recipes.gtceu.chemical_bath('tfg:computercraft/disk' + `${global.MINECRAFT_DYE_NAMES[i]}`) .itemInputs('ae2:blank_pattern') .inputFluids(Fluid.of(`gtceu:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 288)) .itemOutputs(Item.of('computercraft:disk', global.COMPUTER_CRAFT_DISCS[i])) @@ -207,25 +206,25 @@ const registerComputerCraftRecipes = (event) => { E: 'gtceu:hv_emitter', F: '#gtceu:circuits/ev', G: '#forge:plates/titanium' - }).id('tfg:crafting/pocket_computer_normal') + }).id('tfg:shaped/computercraft/pocket_computer_normal') // Pocket Computer Normal Upgrade : Wireless Modem Advanced event.shapeless(Item.of('computercraft:pocket_computer_normal', '{Upgrade:"computercraft:wireless_modem_advanced"}'), [ 'computercraft:pocket_computer_normal', 'computercraft:wireless_modem_advanced' - ]).id('computercraft:ender_pocket_computer_normal_shapless') + ]).id('tfg:shaped/computercraft/ender_pocket_computer_normal_shapless') // Pocket Computer Normal Upgrade : Wireless Modem Normal event.shapeless(Item.of('computercraft:pocket_computer_normal', '{Upgrade:"computercraft:wireless_modem_normal"}'), [ 'computercraft:pocket_computer_normal', 'computercraft:wireless_modem_normal' - ]).id('computercraft:wireless_pocket_computer_normal_shapless') + ]).id('tfg:shaped/computercraft/wireless_pocket_computer_normal_shapless') // Pocket Computer Normal Upgrade : Speaker event.shapeless(Item.of('computercraft:pocket_computer_normal', '{Upgrade:"computercraft:speaker"}'), [ 'computercraft:pocket_computer_normal', 'computercraft:speaker' - ]).id('computercraft:noisy_pocket_computer_normal_shapless') + ]).id('tfg:shaped/computercraft/noisy_pocket_computer_normal_shapless') // Advanced Pocket Computers // Pocket Computer Advanced @@ -241,25 +240,25 @@ const registerComputerCraftRecipes = (event) => { E: 'gtceu:ev_emitter', F: '#gtceu:circuits/iv', G: '#forge:plates/tungsten_steel' - }).id('tfg:crafting/pocket_computer_advanced') + }).id('tfg:shaped/computercraft/pocket_computer_advanced') // Pocket Computer Advanced Upgrade : Wireless Modem Advanced event.shapeless(Item.of('computercraft:pocket_computer_advanced', '{Upgrade:"computercraft:wireless_modem_advanced"}'), [ 'computercraft:pocket_computer_advanced', 'computercraft:wireless_modem_advanced' - ]).id('computercraft:ender_pocket_computer_advanced_shapless') + ]).id('tfg:shaped/computercraft/ender_pocket_computer_advanced_shapless') // Pocket Computer Advanced Upgrade : Wireless Modem Normal event.shapeless(Item.of('computercraft:pocket_computer_advanced', '{Upgrade:"computercraft:wireless_modem_normal"}'), [ 'computercraft:pocket_computer_advanced', 'computercraft:wireless_modem_normal' - ]).id('computercraft:wireless_pocket_computer_advanced_shapless') + ]).id('tfg:shaped/computercraft/wireless_pocket_computer_advanced_shapless') // Pocket Computer Advanced Upgrade : Speaker event.shapeless(Item.of('computercraft:pocket_computer_advanced', '{Upgrade:"computercraft:speaker"}'), [ 'computercraft:pocket_computer_advanced', 'computercraft:speaker' - ]).id('computercraft:noisy_pocket_computer_advanced_shapless') + ]).id('tfg:shaped/computercraft/noisy_pocket_computer_advanced_shapless') } \ No newline at end of file diff --git a/kubejs/server_scripts/create/recipes.js b/kubejs/server_scripts/create/recipes.js index 3951d9592..3b82478e5 100644 --- a/kubejs/server_scripts/create/recipes.js +++ b/kubejs/server_scripts/create/recipes.js @@ -1,9 +1,9 @@ // priority: 0 -const registerCreateRecipes = (event) => { +const registerCreateRecipes = (e) => { // Удаление рецептов мода create - event.remove({ not: [ + e.remove({ not: [ { id: 'create:crafting/kinetics/gearboxfrom_conversion' }, { id: 'create:crafting/kinetics/gearbox' }, { id: 'create:crafting/kinetics/clutch' }, @@ -93,20 +93,31 @@ const registerCreateRecipes = (event) => { { id: 'create:milling/bone' }, ], mod: 'create' }) + //#region Дерево + global.MINECRAFT_ALL_WOOD_TYPES.forEach(woodName => { + + // Window + e.remove({ id: `create:${woodName}_window` }) + + // Window Pane + e.remove({ id: `create:${woodName}_window_pane` }) + }) + //#endregion + // Train Station - event.shapeless('2x create:track_station', [ + e.shapeless('2x create:track_station', [ 'create:railway_casing', 'firmaciv:firmaciv_compass' ]).id('create:crafting/kinetics/track_station') // Speedometer - event.shapeless('create:speedometer', [ + e.shapeless('create:speedometer', [ 'create:andesite_casing', 'firmaciv:firmaciv_compass' ]).id('create:crafting/kinetics/speedometer') // Пушка для постройки схематик - event.shaped('create:schematicannon', [ + e.shaped('create:schematicannon', [ ' A ', 'BAB', 'CDC' @@ -118,7 +129,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/schematicannon') // Стол для схематик - event.shaped('create:schematic_table', [ + e.shaped('create:schematic_table', [ 'AAA', ' B ', ' B ' @@ -128,7 +139,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/schematic_table') // Вал - event.shaped('8x create:shaft', [ + e.shaped('8x create:shaft', [ 'A ', 'AB' ], { @@ -136,14 +147,14 @@ const registerCreateRecipes = (event) => { B: '#forge:tools/files' }).id('tfg:create/shaped/shaft') - event.recipes.gtceu.assembler('create/shaft') + e.recipes.gtceu.assembler('create/shaft') .itemInputs('#forge:ingots/wrought_iron') .itemOutputs('6x create:shaft') .duration(75) .EUt(2) // Малая шестерня - event.shaped('create:cogwheel', [ + e.shaped('create:cogwheel', [ ' A ', 'ABA', ' A ' @@ -153,7 +164,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shapeless/cogwheel') // Большая шестерня - event.shaped('create:large_cogwheel', [ + e.shaped('create:large_cogwheel', [ ' A ', 'ABA', ' A ' @@ -163,7 +174,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/large_cogwheel') // Внутриблочный двигатель цепи - event.shapeless('create:encased_chain_drive', [ + e.shapeless('create:encased_chain_drive', [ 'create:andesite_casing', '#forge:plates/wrought_iron', '#forge:plates/wrought_iron', @@ -171,7 +182,7 @@ const registerCreateRecipes = (event) => { ]).id('tfg:create/shapeless/encased_chain_drive') // Механический пресс - event.shaped('create:mechanical_press', [ + e.shaped('create:mechanical_press', [ 'A', 'B', 'C' @@ -182,7 +193,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/mechanical_press') // Сопло - event.shaped('create:nozzle', [ + e.shaped('create:nozzle', [ 'ABA', 'ACA', 'BBB' @@ -193,7 +204,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/nozzle') // Ручка, чтобы люто крутить - event.shaped('create:hand_crank', [ + e.shaped('create:hand_crank', [ 'AAA', ' B' ], { @@ -202,7 +213,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/hand_crank') // Колесо для дробления - event.recipes.createMechanicalCrafting('2x create:crushing_wheel', [ + e.recipes.createMechanicalCrafting('2x create:crushing_wheel', [ ' AAA ', 'AABAA', 'ABCBA', @@ -215,7 +226,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/mechanical_crafting/crushing_wheel') // Железный веник - event.shaped('create:whisk', [ + e.shaped('create:whisk', [ 'ABA', 'ACA', 'AAA' @@ -226,7 +237,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/whisk') // Емкость для миксера - event.shaped('create:basin', [ + e.shaped('create:basin', [ 'ABA', 'AAA' ], { @@ -234,7 +245,7 @@ const registerCreateRecipes = (event) => { B: '#forge:tools/hammers' }).id('tfg:create/shaped/basin') - event.recipes.gtceu.assembler('tfg:create/basin') + e.recipes.gtceu.assembler('tfg:create/basin') .itemInputs('5x #forge:plates/wrought_iron') .circuit(3) .itemOutputs('create:basin') @@ -242,13 +253,13 @@ const registerCreateRecipes = (event) => { .EUt(20) // Место куда можно что то положить - event.shapeless('create:depot', [ + e.shapeless('create:depot', [ 'create:andesite_casing', '#forge:double_plates/wrought_iron' ]).id('tfg:create/shapeless/depot') // Лоток - event.shaped('create:chute', [ + e.shaped('create:chute', [ 'A ', 'AB', 'A ' @@ -257,7 +268,7 @@ const registerCreateRecipes = (event) => { B: '#forge:tools/hammers' }).id('tfg:create/shaped/chute') - event.recipes.gtceu.assembler('tfg:create/chute') + e.recipes.gtceu.assembler('tfg:create/chute') .itemInputs('3x #forge:plates/wrought_iron') .circuit(4) .itemOutputs('create:chute') @@ -265,7 +276,7 @@ const registerCreateRecipes = (event) => { .EUt(20) // Металлический держатель - event.shaped('create:metal_bracket', [ + e.shaped('create:metal_bracket', [ 'AAA', 'BBB' ], { @@ -274,7 +285,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/metal_bracket') // Жидкостная труба - event.shaped('create:fluid_pipe', [ + e.shaped('create:fluid_pipe', [ ' B ', 'BAB', ' B ' @@ -283,7 +294,7 @@ const registerCreateRecipes = (event) => { B: '#forge:plates/copper' }).id('tfg:create/shaped/fluid_pipe') - event.recipes.gtceu.assembler('tfg:create/fluid_pipe') + e.recipes.gtceu.assembler('tfg:create/fluid_pipe') .itemInputs('4x #forge:plates/copper') .circuit(3) .itemOutputs('create:fluid_pipe') @@ -291,13 +302,13 @@ const registerCreateRecipes = (event) => { .EUt(20) // Жидкостный люк - event.shapeless('create:fluid_valve', [ + e.shapeless('create:fluid_valve', [ 'create:fluid_pipe', '#forge:plates/wrought_iron' ]).id('tfg:create/shapeless/fluid_valve') // Ручка жидкостного люка - event.shaped('create:copper_valve_handle', [ + e.shaped('create:copper_valve_handle', [ 'AAA', 'BCD' ], { @@ -307,7 +318,7 @@ const registerCreateRecipes = (event) => { D: '#forge:tools/files' }).id('tfg:create/shaped/copper_valve_handle') - event.recipes.gtceu.assembler('tfg:create/copper_valve_handle') + e.recipes.gtceu.assembler('tfg:create/copper_valve_handle') .itemInputs('4x #forge:plates/copper', '#forge:gears/wrought_iron') .circuit(6) .itemOutputs('create:copper_valve_handle') @@ -315,7 +326,7 @@ const registerCreateRecipes = (event) => { .EUt(20) // Жидкостный резервуар - event.shaped('create:fluid_tank', [ + e.shaped('create:fluid_tank', [ 'ABA', 'BCB', 'ABA' @@ -326,7 +337,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/fluid_tank') // Шкив для шланга - event.shaped('create:hose_pulley', [ + e.shaped('create:hose_pulley', [ 'A', 'B', 'C' @@ -337,7 +348,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/hose_pulley') // Слив из предметов - event.shaped('create:item_drain', [ + e.shaped('create:item_drain', [ 'A', 'B' ], { @@ -346,7 +357,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/item_drain') // Жидкостный наполнитель - event.shaped('create:spout', [ + e.shaped('create:spout', [ 'B', 'A' ], { @@ -355,7 +366,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/spout') // Паровой двигатель - event.shaped('create:steam_engine', [ + e.shaped('create:steam_engine', [ 'ABA', 'CDC', 'EFG' @@ -369,7 +380,7 @@ const registerCreateRecipes = (event) => { G: '#forge:tools/screwdrivers', }).id('tfg:create/shaped/steam_engine') - event.recipes.gtceu.assembler('tfg:create/steam_engine') + e.recipes.gtceu.assembler('tfg:create/steam_engine') .itemInputs('2x #forge:screws/wrought_iron', '#forge:plates/brass', '2x #forge:rods/wrought_iron', '#forge:gears/wrought_iron', '#forge:storage_blocks/copper') .circuit(3) .itemOutputs('create:steam_engine') @@ -377,7 +388,7 @@ const registerCreateRecipes = (event) => { .EUt(32) // Паровой свисток - event.shaped('create:steam_whistle', [ + e.shaped('create:steam_whistle', [ 'AC', 'BD' ], { @@ -387,15 +398,15 @@ const registerCreateRecipes = (event) => { D: '#forge:tools/files' }).id('tfg:create/shaped/steam_whistle') - event.recipes.gtceu.assembler('tfg:create/steam_whistle') + e.recipes.gtceu.assembler('tfg:create/steam_whistle') .itemInputs('#forge:plates/brass', '#forge:rings/gold') .circuit(5) .itemOutputs('create:steam_whistle') .duration(200) .EUt(4) - + // Рука поршня - event.shaped('8x create:piston_extension_pole', [ + e.shaped('8x create:piston_extension_pole', [ 'A ', 'BC', 'A ' @@ -405,7 +416,7 @@ const registerCreateRecipes = (event) => { C: '#forge:tools/hammers' }).id('tfg:create/shaped/piston_extension_pole') - event.recipes.gtceu.assembler('tfg:create/piston_extension_pole') + e.recipes.gtceu.assembler('tfg:create/piston_extension_pole') .itemInputs('2x #minecraft:planks', '#forge:plates/wrought_iron') .circuit(3) .itemOutputs('8x create:piston_extension_pole') @@ -413,7 +424,7 @@ const registerCreateRecipes = (event) => { .EUt(20) // Редстоуновый вал - event.shaped('create:gantry_shaft', [ + e.shaped('create:gantry_shaft', [ 'A ', 'BC', 'A ' @@ -423,7 +434,7 @@ const registerCreateRecipes = (event) => { C: '#forge:tools/hammers' }).id('tfg:create/shaped/gantry_shaft') - event.recipes.gtceu.assembler('tfg:create/gantry_shaft') + e.recipes.gtceu.assembler('tfg:create/gantry_shaft') .itemInputs('gtceu:red_alloy_single_wire', '2x #forge:plates/wrought_iron') .circuit(3) .itemOutputs('create:gantry_shaft') @@ -431,7 +442,7 @@ const registerCreateRecipes = (event) => { .EUt(20) // Канатный шкиф - event.shaped('create:rope_pulley', [ + e.shaped('create:rope_pulley', [ 'A', 'B', 'C' @@ -442,7 +453,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/rope_pulley') // Шкиф подъемника - event.shaped('create:elevator_pulley', [ + e.shaped('create:elevator_pulley', [ 'A', 'B', 'C' @@ -453,7 +464,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/elevator_pulley') // Сборщик вагонеток - event.shaped('create:cart_assembler', [ + e.shaped('create:cart_assembler', [ 'ABA', 'C C' ], { @@ -463,7 +474,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/cart_assembler') // Контроллер рельсы - event.shaped('create:controller_rail', [ + e.shaped('create:controller_rail', [ 'ABA', 'ACA', 'ABA' @@ -474,7 +485,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/controller_rail') // Линейный переход - event.shaped('3x create:linear_chassis', [ + e.shaped('3x create:linear_chassis', [ 'ABA', 'CCC', 'ABA' @@ -485,7 +496,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/linear_chassis') // Радиальный переход - event.shaped('3x create:radial_chassis', [ + e.shaped('3x create:radial_chassis', [ 'ACA', 'BCB', 'ACA' @@ -496,7 +507,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/radial_chassis') // Умный липкий поршень - event.shaped('create:sticker', [ + e.shaped('create:sticker', [ 'ABA', 'CDC' ], { @@ -507,7 +518,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/sticker') // Механическая бурилка - event.shaped('create:mechanical_drill', [ + e.shaped('create:mechanical_drill', [ 'ABA', 'BCB', 'ADA' @@ -519,7 +530,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/mechanical_drill') // Механическая пила - event.shaped('create:mechanical_saw', [ + e.shaped('create:mechanical_saw', [ 'ABA', 'BCB', 'ADA' @@ -531,7 +542,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/mechanical_saw') // Редстоуновый контакт - event.shaped('2x create:redstone_contact', [ + e.shaped('2x create:redstone_contact', [ 'DCE', 'ABA', 'AAA' @@ -543,7 +554,7 @@ const registerCreateRecipes = (event) => { E: '#forge:tools/screwdrivers' }).id('tfg:create/shaped/redstone_contact') - event.recipes.gtceu.assembler('tfg:create/redstone_contact') + e.recipes.gtceu.assembler('tfg:create/redstone_contact') .itemInputs('5x #forge:cobblestone', '#forge:dusts/redstone', '#forge:plates/wrought_iron', '#forge:screws/bronze') .circuit(3) .itemOutputs('2x create:redstone_contact') @@ -551,7 +562,7 @@ const registerCreateRecipes = (event) => { .EUt(20) // Механический собиратель - event.shaped('create:mechanical_harvester', [ + e.shaped('create:mechanical_harvester', [ 'ABA', 'ABA', 'CDE' @@ -563,7 +574,7 @@ const registerCreateRecipes = (event) => { E: '#forge:tools/wrenches' }).id('tfg:create/shaped/mechanical_harvester') - event.recipes.gtceu.assembler('tfg:create/mechanical_harvester') + e.recipes.gtceu.assembler('tfg:create/mechanical_harvester') .itemInputs('4x #forge:shovel_heads', '2x #forge:plates/wrought_iron', 'create:andesite_casing') .circuit(3) .itemOutputs('create:mechanical_harvester') @@ -571,7 +582,7 @@ const registerCreateRecipes = (event) => { .EUt(20) // Механический плуг - event.shaped('create:mechanical_plough', [ + e.shaped('create:mechanical_plough', [ 'ABA', 'ABA', 'CDE' @@ -583,7 +594,7 @@ const registerCreateRecipes = (event) => { E: '#forge:tools/wrenches' }).id('tfg:create/shaped/mechanical_plough') - event.recipes.gtceu.assembler('tfg:create/mechanical_plough') + e.recipes.gtceu.assembler('tfg:create/mechanical_plough') .itemInputs('4x #forge:hoe_heads', '2x #forge:plates/wrought_iron', 'create:andesite_casing') .circuit(4) .itemOutputs('create:mechanical_plough') @@ -591,7 +602,7 @@ const registerCreateRecipes = (event) => { .EUt(20) // Парус ветряной мельницы - event.shaped('2x create:white_sail', [ + e.shaped('2x create:white_sail', [ 'AB', 'BC' ], { @@ -601,10 +612,10 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/white_sail') // Андезитовый корпус - event.recipes.createItemApplication(['create:andesite_casing'], ['#minecraft:logs', '#forge:plates/wrought_iron']) + e.recipes.createItemApplication(['create:andesite_casing'], ['#minecraft:logs', '#forge:plates/wrought_iron']) .id('tfg:create/item_application/andesite_casing') - event.recipes.gtceu.assembler('tfg:create/andesite_casing') + e.recipes.gtceu.assembler('tfg:create/andesite_casing') .itemInputs('#minecraft:logs', '#forge:plates/wrought_iron') .circuit(10) .itemOutputs('create:andesite_casing') @@ -612,10 +623,10 @@ const registerCreateRecipes = (event) => { .EUt(4) // Латунный корпус - event.recipes.createItemApplication(['create:brass_casing'], ['#minecraft:logs', '#forge:plates/brass']) + e.recipes.createItemApplication(['create:brass_casing'], ['#minecraft:logs', '#forge:plates/brass']) .id('tfg:create/item_application/brass_casing') - event.recipes.gtceu.assembler('tfg:create/brass_casing') + e.recipes.gtceu.assembler('tfg:create/brass_casing') .itemInputs('#minecraft:logs', '#forge:plates/brass') .circuit(10) .itemOutputs('create:brass_casing') @@ -623,10 +634,10 @@ const registerCreateRecipes = (event) => { .EUt(4) // Медный корпус - event.recipes.createItemApplication(['create:copper_casing'], ['#minecraft:logs', '#forge:plates/copper']) + e.recipes.createItemApplication(['create:copper_casing'], ['#minecraft:logs', '#forge:plates/copper']) .id('tfg:create/item_application/copper_casing') - event.recipes.gtceu.assembler('tfg:create/copper_casing') + e.recipes.gtceu.assembler('tfg:create/copper_casing') .itemInputs('#minecraft:logs', '#forge:plates/copper') .circuit(10) .itemOutputs('create:copper_casing') @@ -634,10 +645,10 @@ const registerCreateRecipes = (event) => { .EUt(4) // Корпус поезда - event.recipes.createItemApplication(['create:railway_casing'], ['create:brass_casing', '#forge:plates/steel']) + e.recipes.createItemApplication(['create:railway_casing'], ['create:brass_casing', '#forge:plates/steel']) .id('tfg:create/item_application/railway_casing') - event.recipes.gtceu.assembler('tfg:create/railway_casing') + e.recipes.gtceu.assembler('tfg:create/railway_casing') .itemInputs('create:brass_casing', '#forge:plates/steel') .circuit(10) .itemOutputs('create:railway_casing') @@ -645,7 +656,7 @@ const registerCreateRecipes = (event) => { .EUt(4) // Механический крафтер - event.shaped('create:mechanical_crafter', [ + e.shaped('create:mechanical_crafter', [ 'A', 'B', 'C' @@ -656,7 +667,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/mechanical_crafter') // Маховик - event.shaped('create:flywheel', [ + e.shaped('create:flywheel', [ 'ABA', 'BCB', 'ABA' @@ -667,7 +678,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/flywheel') // Механическая рука - event.shaped('create:mechanical_arm', [ + e.shaped('create:mechanical_arm', [ 'AAB', 'AGE', 'CDF' @@ -681,7 +692,7 @@ const registerCreateRecipes = (event) => { G: '#forge:screws/wrought_iron' }).id('tfg:create/shaped/mechanical_arm') - event.recipes.gtceu.assembler('tfg:create/mechanical_arm') + e.recipes.gtceu.assembler('tfg:create/mechanical_arm') .itemInputs('3x #forge:plates/brass', '#forge:rods/wrought_iron', 'create:precision_mechanism', 'create:brass_casing', '#forge:screws/wrought_iron') .circuit(3) .itemOutputs('create:mechanical_arm') @@ -689,13 +700,13 @@ const registerCreateRecipes = (event) => { .EUt(20) // Наблюдатель за поездом - event.shapeless('create:track_observer', [ + e.shapeless('create:track_observer', [ 'create:railway_casing', '#minecraft:stone_pressure_plates' ]).id('tfg:create/shapeless/track_observer') // Сейф - event.shaped('create:item_vault', [ + e.shaped('create:item_vault', [ 'CBC', 'AAA', 'CDC' @@ -706,7 +717,7 @@ const registerCreateRecipes = (event) => { D: '#forge:tools/screwdrivers' }).id('tfg:create/shaped/item_vault') - event.recipes.gtceu.assembler('tfg:create/item_vault') + e.recipes.gtceu.assembler('tfg:create/item_vault') .itemInputs('3x #forge:chests/wooden', '#forge:sheets/wrought_iron', '2x #forge:screws/steel') .circuit(3) .itemOutputs('create:item_vault') @@ -714,7 +725,7 @@ const registerCreateRecipes = (event) => { .EUt(20) // Умный раздатчик/приемник из железа - event.shaped('2x create:andesite_funnel', [ + e.shaped('2x create:andesite_funnel', [ 'AAA', 'ABA', 'ABA' @@ -724,7 +735,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/andesite_funnel') // Умный раздатчик/приемник из латуни - event.shaped('2x create:brass_funnel', [ + e.shaped('2x create:brass_funnel', [ 'AAA', 'ABA', 'ABA' @@ -734,7 +745,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/brass_funnel') // Тунель из железа - event.shaped('create:andesite_tunnel', [ + e.shaped('create:andesite_tunnel', [ 'C ', 'AA', 'BB' @@ -745,7 +756,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/andesite_tunnel') // Тунель из латуни - event.shaped('create:brass_tunnel', [ + e.shaped('create:brass_tunnel', [ 'C ', 'AA', 'BB' @@ -756,7 +767,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/brass_tunnel') // Дисплей столешница (чзх) - event.shaped('create:display_board', [ + e.shaped('create:display_board', [ ' A ', 'BCB', ' A ' @@ -767,7 +778,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/display_board') // Пропеллер - event.shaped('create:propeller', [ + e.shaped('create:propeller', [ 'AB ', 'BCB', ' BA' @@ -777,7 +788,7 @@ const registerCreateRecipes = (event) => { C: '#forge:rotors' }).id('tfg:create/shaped/propeller') - event.recipes.gtceu.assembler('tfg:create/propeller') + e.recipes.gtceu.assembler('tfg:create/propeller') .itemInputs('4x #forge:plates/wrought_iron', '#forge:rotors') .circuit(3) .itemOutputs('create:propeller') @@ -785,7 +796,7 @@ const registerCreateRecipes = (event) => { .EUt(20) // Латунная рука - event.shaped('create:brass_hand', [ + e.shaped('create:brass_hand', [ ' AB', 'CCA', ' C ' @@ -795,7 +806,7 @@ const registerCreateRecipes = (event) => { C: '#forge:plates/brass' }).id('tfg:create/shaped/brass_hand') - event.recipes.gtceu.assembler('tfg:create/brass_hand') + e.recipes.gtceu.assembler('tfg:create/brass_hand') .itemInputs('3x #forge:nuggets/brass', '#forge:plates/brass') .circuit(3) .itemOutputs('create:brass_hand') @@ -803,7 +814,7 @@ const registerCreateRecipes = (event) => { .EUt(20) // Электронная трубка - event.shaped('create:electron_tube', [ + e.shaped('create:electron_tube', [ ' A ', 'BCB', 'DED' @@ -816,7 +827,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/electron_tube') // Тюбик с клеем - event.shaped('create:super_glue', [ + e.shaped('create:super_glue', [ 'BA', 'CB' ], { @@ -826,7 +837,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/super_glue') // Соединятор вагонеток - event.shapeless('create:minecart_coupling', [ + e.shapeless('create:minecart_coupling', [ '#tfg:metal_chains', '#forge:bolts', '#tfg:metal_chains', @@ -835,7 +846,7 @@ const registerCreateRecipes = (event) => { '#forge:tools/hammers' ]).id('tfg:create/shapeless/minecart_coupling') - event.recipes.gtceu.assembler('tfg:create/minecart_coupling') + e.recipes.gtceu.assembler('tfg:create/minecart_coupling') .itemInputs('3x #tfg:metal_chains', '2x #forge:bolts') .circuit(1) .itemOutputs('create:minecart_coupling') @@ -843,13 +854,13 @@ const registerCreateRecipes = (event) => { .EUt(20) // Блупринт создания - event.shapeless('create:crafting_blueprint', [ + e.shapeless('create:crafting_blueprint', [ 'minecraft:painting', '#tfc:workbenches' ]).id('tfg:create/shapeless/crafting_blueprint') // Медная бочка на спину - event.shaped('create:copper_backtank', [ + e.shaped('create:copper_backtank', [ 'ABA', 'CDC', ' C ' @@ -861,7 +872,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/copper_backtank') // Шлем для дайвинга - event.shaped('create:copper_diving_helmet', [ + e.shaped('create:copper_diving_helmet', [ 'ABA', 'CDC' ], { @@ -872,7 +883,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/copper_diving_helmet') // Ботинки для дайвинга - event.shaped('create:copper_diving_boots', [ + e.shaped('create:copper_diving_boots', [ 'ABA', 'CDC' ], { @@ -883,7 +894,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/copper_diving_boots') // Херь, увеличивающая дистанцию копки - event.recipes.createMechanicalCrafting('create:extendo_grip', [ + e.recipes.createMechanicalCrafting('create:extendo_grip', [ ' A ', ' B ', 'CCC', @@ -897,7 +908,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/mechanical_crafting/extendo_grip') // Херь, устанавливающая блоки зеркально - event.recipes.createMechanicalCrafting('create:wand_of_symmetry', [ + e.recipes.createMechanicalCrafting('create:wand_of_symmetry', [ ' A ', ' ABA ', ' C ', @@ -912,7 +923,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/mechanical_crafting/wand_of_symmetry') // Фильтр список - event.shaped('create:filter', [ + e.shaped('create:filter', [ 'ABA' ], { A: '#forge:nuggets/wrought_iron', @@ -920,7 +931,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/filter') // Фильтр аттрибутов - event.shaped('create:attribute_filter', [ + e.shaped('create:attribute_filter', [ 'ABA' ], { A: '#forge:nuggets/brass', @@ -928,13 +939,13 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/attribute_filter') // Расписание поездов - event.shapeless('4x create:schedule', [ + e.shapeless('4x create:schedule', [ 'minecraft:paper', '#forge:dyes/black' ]).id('tfg:create/shapeless/schedule') // Дневник - event.shaped('create:clipboard', [ + e.shaped('create:clipboard', [ 'A', 'B', 'C' @@ -945,7 +956,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/clipboard') // Лестница из железа - event.shaped('6x create:andesite_ladder', [ + e.shaped('6x create:andesite_ladder', [ 'A A', 'AAA', 'A A' @@ -954,7 +965,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/andesite_ladder') // Лестница из латуни - event.shaped('6x create:brass_ladder', [ + e.shaped('6x create:brass_ladder', [ 'A A', 'AAA', 'A A' @@ -963,7 +974,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/brass_ladder') // Лестница из железа - event.shaped('6x create:copper_ladder', [ + e.shaped('6x create:copper_ladder', [ 'A A', 'AAA', 'A A' @@ -972,7 +983,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/copper_ladder') // Леса из железа - event.shaped('4x create:andesite_scaffolding', [ + e.shaped('4x create:andesite_scaffolding', [ 'AAA', 'A A' ], { @@ -980,7 +991,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/andesite_scaffolding') // Леса из латуни - event.shaped('4x create:brass_scaffolding', [ + e.shaped('4x create:brass_scaffolding', [ 'AAA', 'A A' ], { @@ -988,7 +999,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/brass_scaffolding') // Леса из железа - event.shaped('4x create:copper_scaffolding', [ + e.shaped('4x create:copper_scaffolding', [ 'AAA', 'A A' ], { @@ -996,18 +1007,18 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/copper_scaffolding') // Цинковая ступень - event.shapeless('create:copycat_step', [ + e.shapeless('create:copycat_step', [ '#forge:plates/zinc', '#forge:tools/files' ]).id('tfg:create/shapeless/copycat_step') // Цинковая панель - event.shapeless('create:copycat_panel', [ + e.shapeless('create:copycat_panel', [ '#forge:double_plates/zinc', '#forge:tools/files' ]).id('tfg:create/shapeless/copycat_panel') - event.recipes.gtceu.assembler('tfg:create/copycat_panel') + e.recipes.gtceu.assembler('tfg:create/copycat_panel') .itemInputs('#forge:double_plates/zinc') .circuit(5) .itemOutputs('create:copycat_panel') @@ -1015,7 +1026,7 @@ const registerCreateRecipes = (event) => { .EUt(20) // Деталь рельса - event.shaped('create:metal_girder', [ + e.shaped('create:metal_girder', [ 'AAA', 'BBB' ], { @@ -1024,19 +1035,19 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/shaped/metal_girder') // Стеклянная дверь - event.shapeless('create:framed_glass_door', [ + e.shapeless('create:framed_glass_door', [ '#minecraft:wooden_doors', 'minecraft:glass_pane' ]).id('tfg:create/shapeless/framed_glass_door') // Стеклянный люк - event.shapeless('create:framed_glass_trapdoor', [ + e.shapeless('create:framed_glass_trapdoor', [ '#minecraft:wooden_trapdoors', 'minecraft:glass_pane' ]).id('tfg:create/shapeless/framed_glass_trapdoor') // - event.recipes.createMechanicalCrafting('create:potato_cannon', [ + e.recipes.createMechanicalCrafting('create:potato_cannon', [ 'ABCCC', 'DD ' ], { @@ -1047,7 +1058,7 @@ const registerCreateRecipes = (event) => { }).id('tfg:create/mechanical_crafting/potato_cannon') // Липкий механический поршень - event.shaped('create:sticky_mechanical_piston', [ + e.shaped('create:sticky_mechanical_piston', [ 'A', 'B' ], { @@ -1055,7 +1066,7 @@ const registerCreateRecipes = (event) => { B: 'create:mechanical_piston' }).id('tfg:create/shaped/sticky_mechanical_piston_from_glue') - event.shaped('create:sticky_mechanical_piston', [ + e.shaped('create:sticky_mechanical_piston', [ 'A', 'B', 'C' @@ -1065,27 +1076,27 @@ const registerCreateRecipes = (event) => { C: 'create:mechanical_piston', }).id('tfg:create/shaped/sticky_mechanical_piston_from_sticky_resin') - event.recipes.gtceu.assembler('tfg:create/sticky_mechanical_piston_from_liquid_glue') + e.recipes.gtceu.assembler('tfg:create/sticky_mechanical_piston_from_liquid_glue') .itemInputs('create:mechanical_piston') .inputFluids(Fluid.of('gtceu:glue', 100)) .itemOutputs('create:sticky_mechanical_piston') .duration(100) .EUt(4) - event.recipes.gtceu.assembler('tfg:create/sticky_mechanical_piston_from_slimeball') + e.recipes.gtceu.assembler('tfg:create/sticky_mechanical_piston_from_slimeball') .itemInputs('create:mechanical_piston', 'minecraft:slimeball') .itemOutputs('create:sticky_mechanical_piston') .duration(100) .EUt(4) - event.recipes.gtceu.assembler('tfg:create/sticky_mechanical_piston_from_sticky_resin') + e.recipes.gtceu.assembler('tfg:create/sticky_mechanical_piston_from_sticky_resin') .itemInputs('create:mechanical_piston', 'gtceu:sticky_resin') .itemOutputs('create:sticky_mechanical_piston') .duration(100) .EUt(4) // Ремень - event.recipes.tfc.knapping('create:belt_connector', 'tfc:leather', [ + e.recipes.tfc.knapping('create:belt_connector', 'tfc:leather', [ " XXX ", " XXX ", " XXX ", @@ -1093,7 +1104,7 @@ const registerCreateRecipes = (event) => { " XXX ", ]).ingredient('#tfc:leather_knapping').id('tfg:create/shaped/belt_connector') - event.recipes.gtceu.assembler('tfg:create/belt_connector') + e.recipes.gtceu.assembler('tfg:create/belt_connector') .itemInputs('minecraft:leather') .circuit(2) .itemOutputs('create:belt_connector') @@ -1102,12 +1113,12 @@ const registerCreateRecipes = (event) => { //#region Покраска ручек от люка - event.recipes.tfc.barrel_sealed(1000) + e.recipes.tfc.barrel_sealed(1000) .inputs('#tfg:colored_valve_handles', Fluid.of(`tfc:lye`, 25)) .outputItem(`create:copper_valve_handle`) .id(`barrel/create/valve_handle_decolor`) - event.recipes.gtceu.chemical_bath(`create/valve_handle_decolor`) + e.recipes.gtceu.chemical_bath(`create/valve_handle_decolor`) .itemInputs('#tfg:colored_valve_handles') .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) .itemOutputs('create:copper_valve_handle') @@ -1115,12 +1126,12 @@ const registerCreateRecipes = (event) => { .EUt(4) global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.recipes.tfc.barrel_sealed(1000) + e.recipes.tfc.barrel_sealed(1000) .inputs('create:copper_valve_handle', Fluid.of(`tfc:${dye}_dye`, 25)) .outputItem(`create:${dye}_valve_handle`) .id(`barrel/create/${dye}_valve_handle`) - event.recipes.gtceu.chemical_bath(`create/${dye}_valve_handle`) + e.recipes.gtceu.chemical_bath(`create/${dye}_valve_handle`) .itemInputs('create:copper_valve_handle') .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 144)) .itemOutputs(`create:${dye}_valve_handle`) @@ -1134,14 +1145,14 @@ const registerCreateRecipes = (event) => { global.MINECRAFT_DYE_NAMES.forEach(dye => { if (dye != 'brown') { - event.remove({ id: `create:create.toolbox.color.block.create.${dye}_toolbox` }) + e.remove({ id: `create:create.toolbox.color.block.create.${dye}_toolbox` }) - event.recipes.tfc.barrel_sealed(1000) + e.recipes.tfc.barrel_sealed(1000) .inputs('create:brown_toolbox', Fluid.of(`tfc:${dye}_dye`, 50)) .outputItem(`create:${dye}_toolbox`) .id(`barrel/create/${dye}_toolbox`) - - event.recipes.gtceu.chemical_bath(`create/${dye}_toolbox`) + + e.recipes.gtceu.chemical_bath(`create/${dye}_toolbox`) .itemInputs('create:brown_toolbox') .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 96)) .itemOutputs(`create:${dye}_toolbox`) @@ -1155,12 +1166,12 @@ const registerCreateRecipes = (event) => { //#region Покраска сидушек - event.recipes.tfc.barrel_sealed(1000) + e.recipes.tfc.barrel_sealed(1000) .inputs('#tfg:colored_seats', Fluid.of(`tfc:lye`, 25)) .outputItem(`create:white_seat`) .id(`barrel/create/seat_decolor`) - event.recipes.gtceu.chemical_bath(`create/seat_decolor`) + e.recipes.gtceu.chemical_bath(`create/seat_decolor`) .itemInputs('#tfg:colored_seats') .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) .itemOutputs('create:white_seat') @@ -1170,12 +1181,12 @@ const registerCreateRecipes = (event) => { global.MINECRAFT_DYE_NAMES.forEach(dye => { if (dye != "white") { - event.recipes.tfc.barrel_sealed(1000) + e.recipes.tfc.barrel_sealed(1000) .inputs(`create:white_seat`, Fluid.of(`tfc:${dye}_dye`, 50)) .outputItem(`create:${dye}_seat`) .id(`barrel/create/${dye}_seat`) - event.recipes.gtceu.chemical_bath(`create/${dye}_seat`) + e.recipes.gtceu.chemical_bath(`create/${dye}_seat`) .itemInputs(`create:white_seat`) .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 144)) .itemOutputs(`create:${dye}_seat`) diff --git a/kubejs/server_scripts/create_connected/recipes.js b/kubejs/server_scripts/create_connected/recipes.js index 8862cc894..e0d242e00 100644 --- a/kubejs/server_scripts/create_connected/recipes.js +++ b/kubejs/server_scripts/create_connected/recipes.js @@ -71,4 +71,13 @@ const registerCreateConnectedRecipes = (event) => { .itemOutputs('create_connected:control_chip') .duration(720) .EUt(16) + + // Fluid Vessel + event.remove({ id: 'create_connected:crafting/kinetics/fluid_vessel' }) + event.shaped('create_connected:fluid_vessel', [ + 'ABA' + ], { + A: '#forge:plates/copper', + B: '#tfcbarrels:barrels' + }).id('tfg:shaped/create_connected/fluid_vessel') } \ No newline at end of file diff --git a/kubejs/server_scripts/create_low_heated/recipes.js b/kubejs/server_scripts/create_low_heated/recipes.js new file mode 100644 index 000000000..9c17236d8 --- /dev/null +++ b/kubejs/server_scripts/create_low_heated/recipes.js @@ -0,0 +1,25 @@ +// priority: 0 + +const registerCreateLowHeatedRecipes = (e) => { + + // Удаление рецептов + e.remove({ mod: 'createlowheated' }) + + //#region Основной блок + e.shaped('createlowheated:basic_burner', [ + 'A A', + 'BhB', + 'AAA' + ], { + A: '#tfg:all_iron_plates', + B: '#tfg:all_iron_rods', + h: '#forge:tools/hammers' + }).id('tfg:shaped/createlowheated/basic_burner') + + e.recipes.gtceu.assembler('tfg:createlowheated/basic_burner') + .itemInputs('5x #tfg:all_iron_plates', '2x #tfg:all_iron_rods') + .circuit(3) + .itemOutputs('createlowheated:basic_burner') + .EUt(4).duration(160) + //#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/create_low_heated/tags.js b/kubejs/server_scripts/create_low_heated/tags.js new file mode 100644 index 000000000..187f7f73a --- /dev/null +++ b/kubejs/server_scripts/create_low_heated/tags.js @@ -0,0 +1,24 @@ +// priority: 0 + +const registerCreateLowHeatedItemTags = (e) => { + //#region Белый список для печки Create + + // По дефолту ничего не делает, чтобы заработала нужно в конфиге поменять ignoresFuelTagWhitelist = true на false, но нам это не нужно. + const FUEL_LIST = ['minecraft:coal', 'gtceu:poor_raw_coal', 'gtceu:raw_coal', 'gtceu:rich_raw_coal', 'gtceu:coke_gem']; + + FUEL_LIST.forEach(el => { + e.add('createlowheated:basic_burner_fuel_whitelist', el) + }) + + //#endregion + + //#region Предметы которые могут поджигать печь Create + const BURNDER_STARTER_LIST = [ + 'tfc:firestarter', 'tfc:torch', 'gtceu:invar_lighter', 'gtceu:platinum_lighter' + ]; + + BURNDER_STARTER_LIST.forEach(el => { + e.add('createlowheated:burner_starters', el) + }) + //#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/create_picky_wheels/tags.js b/kubejs/server_scripts/create_picky_wheels/tags.js new file mode 100644 index 000000000..877141bc4 --- /dev/null +++ b/kubejs/server_scripts/create_picky_wheels/tags.js @@ -0,0 +1,39 @@ +// priority: 0 + +const registerCreatePickyWheelsBiomeTags = (e) => { + + //#region Водные колеса + e.remove('createpickywheels:waterwheels_whitelist', '#minecraft:is_overworld') + e.add('createpickywheels:waterwheels_whitelist', '#tfg:is_overworld') + + e.remove('createpickywheels:waterwheels_boosted', "#minecraft:is_river") + e.add('createpickywheels:waterwheels_whitelist', '#tfc:is_river') + //#endregion + + //#region Ветрянные мельницы + e.remove('createpickywheels:windmills_whitelist', '#minecraft:is_overworld') + e.add('createpickywheels:windmills_whitelist', '#tfg:is_overworld') + + e.remove('createpickywheels:windmills_boosted', "#minecraft:is_ocean") + e.remove('createpickywheels:windmills_boosted', "#minecraft:is_deep_ocean") + e.remove('createpickywheels:windmills_boosted', "#minecraft:is_badlands") + e.remove('createpickywheels:windmills_boosted', "#forge:is_desert") + e.remove('createpickywheels:windmills_boosted', "#forge:is_peak") + e.remove('createpickywheels:windmills_boosted', "#forge:is_plains" ) + + e.add('createpickywheels:windmills_boosted', "#tfc:is_ocean") + e.add('createpickywheels:windmills_boosted', "tfc:badlands") + e.add('createpickywheels:windmills_boosted', "tfc:highlands") + e.add('createpickywheels:windmills_boosted', "tfc:inverted_badlands") + e.add('createpickywheels:windmills_boosted', "tfc:mountains") + e.add('createpickywheels:windmills_boosted', "tfc:mountain_lake") + e.add('createpickywheels:windmills_boosted', "tfc:old_mountain_lake") + e.add('createpickywheels:windmills_boosted', "tfc:old_mountains") + e.add('createpickywheels:windmills_boosted', "tfc:plains") + e.add('createpickywheels:windmills_boosted', "tfc:rolling_hills") + e.add('createpickywheels:windmills_boosted', "tfc:volcanic_mountain_lake") + e.add('createpickywheels:windmills_boosted', "tfc:volcanic_mountains") + e.add('createpickywheels:windmills_boosted', "tfc:volcanic_oceanic_mountain_lake") + e.add('createpickywheels:windmills_boosted', "tfc:volcanic_oceanic_mountains") + //#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/firmaciv/recipes.js b/kubejs/server_scripts/firmaciv/recipes.js index e4cc05dd6..6ffdba136 100644 --- a/kubejs/server_scripts/firmaciv/recipes.js +++ b/kubejs/server_scripts/firmaciv/recipes.js @@ -6,52 +6,49 @@ const registerFirmaCivRecipes = (event) => { event.remove({ id: '/firmaciv:quern/' }) event.remove({ id: 'firmaciv:anvil/copper_bolt' }) - event.remove({ id: 'firmaciv:crafting/watercraft_frame_angled_2' }) // Как же меня заебал разраб со своими кривыми руками //#endregion + //#region Cannon + event.recipes.tfc.heating('firmaciv:cannon', 1535) + .resultFluid(Fluid.of('gtceu:iron', 1872)) + .id(`firmaciv:heating/cannon`) + //#endregion + + //#region Sextant + event.recipes.gtceu.assembler('tfg:firmaciv/sextant') + .itemInputs('#forge:plates/brass', '2x #forge:rods/brass', '#forge:glass') + .circuit(10) + .itemOutputs('firmaciv:sextant') + .EUt(4).duration(75) + + event.recipes.tfc.heating('firmaciv:sextant', 930) + .resultFluid(Fluid.of('gtceu:brass', 288)) + .id(`firmaciv:heating/sextant`) + //#endregion + //#region Unfinished Sextant event.recipes.tfc.heating('firmaciv:unfinished_sextant', 930) .resultFluid(Fluid.of('gtceu:brass', 288)) .id(`firmaciv:heating/unfinished_sextant`) //#endregion - //#region Sextant - event.recipes.gtceu.assembler('tfg:firmaciv/sextant') - .itemInputs('#forge:plates/brass', '2x #forge:rods/brass', '#forge:glass') - .circuit(10) - .itemOutputs('firmaciv:sextant') - .duration(75) - .EUt(4) - - event.recipes.tfc.heating('firmaciv:sextant', 930) - .resultFluid(Fluid.of('gtceu:brass', 288)) - .id(`firmaciv:heating/sextant`) - //#endregion - - //#region Unfinished Navigator Timepiece - event.recipes.tfc.heating('firmaciv:unfinished_nav_clock', 930) - .resultFluid(Fluid.of('gtceu:brass', 288)) - .id(`firmaciv:heating/unfinished_nav_clock`) - //#endregion - //#region Navigator Timepiece event.recipes.gtceu.assembler('tfg:firmaciv/nav_clock') .itemInputs('2x #forge:plates/brass', '4x #forge:rods/brass', '2x #forge:glass') .circuit(11) .itemOutputs('firmaciv:nav_clock') - .duration(75) - .EUt(4) + .EUt(4).duration(75) event.recipes.tfc.heating('firmaciv:nav_clock', 930) .resultFluid(Fluid.of('gtceu:brass', 576)) .id(`firmaciv:heating/nav_clock`) //#endregion - //#region Unfinished Barometer - event.recipes.tfc.heating('firmaciv:unfinished_barometer', 930) - .resultFluid(Fluid.of('gtceu:brass', 144)) - .id(`firmaciv:heating/unfinished_barometer`) + //#region Unfinished Navigator Timepiece + event.recipes.tfc.heating('firmaciv:unfinished_nav_clock', 930) + .resultFluid(Fluid.of('gtceu:brass', 288)) + .id(`firmaciv:heating/unfinished_nav_clock`) //#endregion //#region Barometer @@ -68,6 +65,12 @@ const registerFirmaCivRecipes = (event) => { .id(`firmaciv:heating/barometer`) //#endregion + //#region Unfinished Barometer + event.recipes.tfc.heating('firmaciv:unfinished_barometer', 930) + .resultFluid(Fluid.of('gtceu:brass', 144)) + .id(`firmaciv:heating/unfinished_barometer`) + //#endregion + //#region Compass event.recipes.gtceu.canner('tfg:firmaciv/compass') .itemInputs('minecraft:redstone', '#forge:plates/wrought_iron') @@ -77,45 +80,6 @@ const registerFirmaCivRecipes = (event) => { .EUt(4) //#endregion - //#region Oarlock - event.recipes.gtceu.assembler('tfg:firmaciv/oarlock') - .itemInputs('#forge:double_plates/wrought_iron') - .circuit(13) - .itemOutputs('firmaciv:oarlock') - .duration(75) - .EUt(4) - - event.recipes.tfc.heating('firmaciv:oarlock', 1535) - .resultFluid(Fluid.of('gtceu:iron', 288)) - .id(`firmaciv:heating/oarlock`) - //#endregion - - //#region Cleat - event.recipes.gtceu.assembler('tfg:firmaciv/cleat') - .itemInputs('#forge:double_plates/steel') - .circuit(14) - .itemOutputs('firmaciv:cleat') - .duration(75) - .EUt(4) - - event.recipes.tfc.heating('firmaciv:cleat', 1535) - .resultFluid(Fluid.of('gtceu:steel', 288)) - .id(`firmaciv:heating/cleat`) - //#endregion - - //#region Anchor - event.recipes.gtceu.assembler('tfg:firmaciv/anchor') - .itemInputs('#forge:double_plates/steel') - .circuit(10) - .itemOutputs('firmaciv:anchor') - .duration(75) - .EUt(4) - - event.recipes.tfc.heating('firmaciv:anchor', 1535) - .resultFluid(Fluid.of('gtceu:steel', 288)) - .id(`firmaciv:heating/anchor`) - //#endregion - //#region Cannon Barrel event.recipes.gtceu.assembler('tfg:firmaciv/cannon_barrel') .itemInputs('#forge:double_plates/wrought_iron') @@ -128,23 +92,4 @@ const registerFirmaCivRecipes = (event) => { .resultFluid(Fluid.of('gtceu:iron', 288)) .id(`firmaciv:heating/cannon_barrel`) //#endregion - - //#region Cannonball - event.recipes.gtceu.assembler('tfg:firmaciv/cannonball') - .itemInputs('#forge:double_plates/wrought_iron') - .circuit(12) - .itemOutputs('firmaciv:cannonball') - .duration(75) - .EUt(4) - - event.recipes.tfc.heating('firmaciv:cannonball', 1535) - .resultFluid(Fluid.of('gtceu:iron', 288)) - .id(`firmaciv:heating/cannonball`) - //#endregion - - //#region Cannon - event.recipes.tfc.heating('firmaciv:cannon', 1535) - .resultFluid(Fluid.of('gtceu:iron', 1872)) - .id(`firmaciv:heating/cannon`) - //#endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/firmalife/recipes.js b/kubejs/server_scripts/firmalife/recipes.js index 3620df405..adeab7cdd 100644 --- a/kubejs/server_scripts/firmalife/recipes.js +++ b/kubejs/server_scripts/firmalife/recipes.js @@ -61,6 +61,20 @@ const registerFirmaLifeRecipes = (event) => { //#endregion + //#region Распрыскиватель + event.recipes.gtceu.assembler(`tfg:firmalife/sprinkler`) + .itemInputs('#forge:ingots/copper') + .circuit(12) + .itemOutputs('firmalife:sprinkler') + .EUt(7).duration(50) + + // Декрафт + event.recipes.tfc.heating('firmalife:sprinkler', 450) + .resultFluid(Fluid.of('gtceu:copper', 144)) + .id(`tfg:heating/firmalife/sprinkler`) + + //#endregion + // Декрафт Jag Lid event.recipes.tfc.heating('tfc:jar_lid', 230) .resultFluid(Fluid.of('gtceu:tin', 9)) diff --git a/kubejs/server_scripts/firmalife/tags.js b/kubejs/server_scripts/firmalife/tags.js index 49e685f98..6838cee19 100644 --- a/kubejs/server_scripts/firmalife/tags.js +++ b/kubejs/server_scripts/firmalife/tags.js @@ -2,40 +2,72 @@ const registerFirmaLifeItemTags = (event) => { - // Удаление тегов у отключенных предметов + //#region Удаление тегов и скрытие руд + const ALL_FIRMALIFE_ORES = Ingredient.of(/firmalife:ore\/[^*]+\/[^*]+/).itemIds + + ALL_FIRMALIFE_ORES.forEach(element => { + event.removeAllTagsFrom(element) + event.add('c:hidden_from_recipe_viewers', element) + }) + //#endregion + + //#region Удаление тегов и скрытие предметов global.FIRMALIFE_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) event.add('c:hidden_from_recipe_viewers', item) }) + //#endregion - // Просто предметы для скрытия + //#region Скрытие предметов global.FIRMALIFE_HIDED_ITEMS.forEach(item => { event.add('c:hidden_from_recipe_viewers', item) }) - - // Удаление тегов у руд - event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") + //#endregion } const registerFirmaLifeBlockTags = (event) => { - // Удаление тегов у отключенных предметов + //#region Удаление тегов и скрытие руд + const ALL_FIRMALIFE_ORES = Ingredient.of(/firmalife:ore\/[^*]+\/[^*]+/).itemIds + + ALL_FIRMALIFE_ORES.forEach(element => { + event.removeAllTagsFrom(element) + event.add('c:hidden_from_recipe_viewers', element) + }) + //#endregion + + //#region Удаление тегов и скрытие предметов global.FIRMALIFE_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) }) + //#endregion - // Удаление тегов у руд - event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") + //#region Для того, чтобы стенками greenhouse могли быть фреймы грега (для передачи воды) + event.add('firmalife:always_valid_greenhouse_wall', '#forge:frames') + // event.add('firmalife:always_valid_greenhouse_wall', '#forge:tiny_fluid_pipes') + // event.add('firmalife:always_valid_greenhouse_wall', '#forge:small_item_pipes') + // event.add('firmalife:always_valid_greenhouse_wall', '#forge:normal_item_pipes') + // event.add('firmalife:always_valid_greenhouse_wall', '#forge:large_item_pipes') + // Добавление труб в текущий тег не дает никакого результата, поэтому я сделал это через TFG-Core. + //#endregion } const registerFirmaLifeFluidTags = (event) => { - // Добавляем тег для скрытия в EMI + //#region Скрытие магического хрома event.add('c:hidden_from_recipe_viewers', 'firmalife:metal/chromium') - event.add('c:hidden_from_recipe_viewers', 'create:honey') + //#endregion } const registerFirmaLifePlacedFeatures = (event) => { - event.remove('tfc:in_biome/veins', 'firmalife:vein/normal_chromite') - event.remove('tfc:in_biome/veins', 'firmalife:vein/deep_chromite') + + //#region Удаление из генерации жил + const ALL_DISABLED_FIRMALIFE_VEINS = [ + 'firmalife:vein/normal_chromite', + 'firmalife:vein/deep_chromite' + ] + + ALL_DISABLED_FIRMALIFE_VEINS.forEach(vein => event.remove('tfc:in_biome/veins', vein)) + //#endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/constants.js b/kubejs/server_scripts/gregtech/constants.js index 6c3465ca2..0038a033c 100644 --- a/kubejs/server_scripts/gregtech/constants.js +++ b/kubejs/server_scripts/gregtech/constants.js @@ -22,16 +22,4 @@ global.GTCEU_ANVIL_TOOL_TYPES = [ GTToolType.KNIFE, GTToolType.BUTCHERY_KNIFE, // GTToolType.PLUNGER -]; - -global.GTCEU_TOOLTYPES_WHICH_HAS_TFC_DUPS = { - "tfc:swords" : GTToolType.SWORD, - "tfc:pickaxes" : GTToolType.PICKAXE, - "tfc:axes" : GTToolType.AXE, - "tfc:shovels" : GTToolType.SHOVEL, - "tfc:hoes" : GTToolType.HOE, - "tfc:hammers" : GTToolType.HARD_HAMMER, - "tfc:knives" : GTToolType.KNIFE, - "tfc:saws" : GTToolType.SAW, - "tfc:scythes" : GTToolType.SCYTHE -}; \ No newline at end of file +]; \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/data.js b/kubejs/server_scripts/gregtech/data.js index 2729278a5..282be0449 100644 --- a/kubejs/server_scripts/gregtech/data.js +++ b/kubejs/server_scripts/gregtech/data.js @@ -1,18 +1,9 @@ // priority: 0 -const registerTFCDataForGTCEU = (event) => { +const registerTFCDataForGregTech = (event) => { registerGTCEUHeats(event) } -/** - * event.itemHeat( - ingredient: Ingredient, - heatCapacity: number, - forgingTemperature: @Nullable number, - weldingTemperature: @Nullable number, - name?: string - ) - */ const registerGTCEUHeats = (event) => { event.itemHeat('gtceu:compressed_coke_clay', 0.1242, null, null) } \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/fluid_veins.js b/kubejs/server_scripts/gregtech/fluid_veins.js new file mode 100644 index 000000000..ca4c5b7fb --- /dev/null +++ b/kubejs/server_scripts/gregtech/fluid_veins.js @@ -0,0 +1,15 @@ +// priority: 0 + +const registerGregTechFluidVeins = (event) => { + + event.add('tfg:fresh_water', vein => { + vein.dimensions('minecraft:overworld') + vein.fluid(() => Fluid.of('minecraft:water').fluid) + vein.weight(5) + vein.minimumYield(250) + vein.maximumYield(300) + vein.depletionAmount(1) + vein.depletionChance(100) + vein.depletedYield(15) + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/loot.js b/kubejs/server_scripts/gregtech/loot.js deleted file mode 100644 index e7f04f58f..000000000 --- a/kubejs/server_scripts/gregtech/loot.js +++ /dev/null @@ -1,55 +0,0 @@ -// priority: 0 - -const registerGTCEULoots = (event) => { - - global.TFC_STONE_TYPES.forEach(stoneType => { - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { - if (material.hasProperty(PropertyKey.ORE)) { - - let stoneTypeMaterial = TFGHelpers.getMaterial(stoneType) - let stoneTypeDust = null - - if (stoneTypeMaterial != null) stoneTypeDust = ChemicalHelper.get(TagPrefix.dust, stoneTypeMaterial, 1) - - let richRawOre = ChemicalHelper.get(TFGTagPrefix.richRawOre, material, 1) - let normalRawOre = ChemicalHelper.get(TagPrefix.rawOre, material, 1) - let poorRawOre = ChemicalHelper.get(TFGTagPrefix.poorRawOre, material, 1) - - let crushedOre = ChemicalHelper.get(TagPrefix.crushed, material, 1) - - let blockName = `gtceu:${stoneType}_${material.getName()}_ore` - - if (!richRawOre.isEmpty() && !normalRawOre.isEmpty() && !poorRawOre.isEmpty()) { - - event.addBlockLootModifier(blockName) - .removeLoot(Ingredient.all) - .addWeightedLoot([ - richRawOre.withChance(0.2), - normalRawOre.withChance(0.6), - poorRawOre.withChance(0.2) - ]); - } - - if (!stoneTypeDust.isEmpty()) { - event.addBlockLootModifier(blockName) - .addLoot( - LootEntry.of(stoneTypeDust).when((c) => c.randomChance(0.25)) - ) - } - - if (!crushedOre.isEmpty()) { - event.addBlockLootModifier(blockName) - .matchMainHand('#forge:tools/hammers') - .removeLoot(Ingredient.all) - .addWeightedLoot([ - crushedOre.withChance(0.8), - crushedOre.withCount(2).withChance(0.2) - ]); - } - - - } - }) - }) - -} diff --git a/kubejs/server_scripts/gregtech/ore_veins.js b/kubejs/server_scripts/gregtech/ore_veins.js new file mode 100644 index 000000000..406535ef8 --- /dev/null +++ b/kubejs/server_scripts/gregtech/ore_veins.js @@ -0,0 +1,302 @@ +// priority: 0 + +// Я правда не тупой, я знаю, что это можно было сделать перебором списка, но это сделано +// для удобного изменения значения каждой жилы, допустим редкости спавна и тд. + +const registerGregTechOreVeins = (event) => { + + // Перемещение - End -> Overworld TFC StoneTypes + + event.modify("gtceu:bauxite_vein_end", vein => { + vein.layer('tfg_tfc_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + + vein.layeredVeinGenerator(generator => generator + .buildLayerPattern(pattern => pattern + .layer(l => l.weight(2).mat(GTMaterials.Bauxite).size(1, 4)) + .layer(l => l.weight(2).mat(GTMaterials.Ilmenite).size(1, 2)) + .layer(l => l.weight(1).mat(GTMaterials.Aluminium).size(1, 1)) + ) + ) + }) + + event.modify("gtceu:magnetite_vein_end", vein => { + vein.layer('tfg_tfc_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:naquadah_vein", vein => { + vein.layer('tfg_tfc_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:pitchblende_vein_end", vein => { + vein.layer('tfg_tfc_ii_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:scheelite_vein", vein => { + vein.layer('tfg_tfc_ii') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:sheldonite_vein", vein => { + vein.layer('tfg_tfc_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + // Перемещение - Nether -> Overworld TFC StoneTypes + + // event.modify("gtceu:banded_iron_vein", vein => { + // vein.layer('tfg_tfc_ie') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') + // }) + + // event.modify("gtceu:beryllium_vein", vein => { + // vein.layer('tfg_tfc_ie') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') + // }) + + // event.modify("gtceu:certus_quartz", vein => { + // vein.layer('tfg_tfc_m') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') + // }) + + // event.modify("gtceu:manganese_vein", vein => { + // vein.layer('tfg_tfc_ie_s') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') + // }) + + // event.modify("gtceu:molybdenum_vein", vein => { + // vein.layer('tfg_tfc_ie_ii') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') + // }) + + // event.modify("gtceu:monazite_vein", vein => { + // vein.layer('tfg_tfc_ii') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') + // }) + + // event.modify("gtceu:nether_quartz_vein", vein => { + // vein.layer('tfg_tfc_s_q_s_g') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') + // }) + + // event.modify("gtceu:redstone_vein", vein => { + // vein.layer('tfg_tfc_granite') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') + // }) + + // event.modify("gtceu:saltpeter_vein", vein => { + // vein.layer('tfg_tfc_ie_m') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') + + // vein.layeredVeinGenerator(generator => generator + // .buildLayerPattern(pattern => pattern + // .layer(l => l.weight(3).mat(GTMaterials.Saltpeter).size(2, 4)) + // .layer(l => l.weight(2).mat(GTMaterials.Diatomite).size(1, 1)) + // .layer(l => l.weight(2).mat(GTMaterials.Electrotine).size(1, 1)) + // .layer(l => l.weight(1).mat(GTMaterials.Alunite).size(1, 1)) + // ) + // ) + // }) + + // event.modify("gtceu:sulfur_vein", vein => { + // vein.layer('tfg_tfc_ie') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') + // }) + + // event.modify("gtceu:tetrahedrite_vein", vein => { + // vein.layer('tfg_tfc_m') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') + // }) + + // event.modify("gtceu:topaz_vein", vein => { + // vein.layer('tfg_tfc_m') + // vein.dimensions('minecraft:overworld') + // vein.biomes('#tfg:is_tfc_overworld') + // }) + + // Перемещение - Overworld -> Overworld TFC StoneTypes + + event.modify("gtceu:apatite_vein", vein => { + vein.layer('tfg_tfc_ii_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:cassiterite_vein", vein => { + vein.layer('tfg_tfc_ii') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:coal_vein", vein => { + vein.layer('tfg_tfc_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:copper_tin_vein", vein => { + vein.layer('tfg_tfc_ie') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:galena_vein", vein => { + vein.layer('tfg_tfc_g_g') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:garnet_tin_vein", vein => { + vein.layer('tfg_tfc_all') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:garnet_vein", vein => { + vein.layer('tfg_tfc_m_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + event.modify("gtceu:iron_vein", vein => { + vein.layer('tfg_tfc_ii') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:lubricant_vein", vein => { + vein.layer('tfg_tfc_ii') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:magnetite_vein_ow", vein => { + vein.layer('tfg_tfc_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:mineral_sand_vein", vein => { + vein.layer('tfg_tfc_g_b') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:nickel_vein", vein => { + vein.layer('tfg_tfc_gabbro') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:salts_vein", vein => { + vein.layer('tfg_tfc_s_c_l') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:oilsands_vein", vein => { + vein.layer('tfg_tfc_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + // Перемещение - Deepslate Overworld -> Overworld TFC StoneTypes + + event.modify("gtceu:copper_vein", vein => { + vein.layer('tfg_tfc_ie') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:diamond_vein", vein => { + vein.layer('tfg_tfc_gabbro') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:lapis_vein", vein => { + vein.layer('tfg_tfc_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:manganese_vein_ow", vein => { + vein.layer('tfg_tfc_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:mica_vein", vein => { + vein.layer('tfg_tfc_ii_m') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:olivine_vein", vein => { + vein.layer('tfg_tfc_ie_ii') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:redstone_vein_ow", vein => { + vein.layer('tfg_tfc_granite') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + event.modify("gtceu:sapphire_vein", vein => { + vein.layer('tfg_tfc_ie') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + }) + + // Кастомные + + event.add("tfg:bismuth", vein => { + vein.weight(80) + vein.clusterSize(40) + vein.density(0.25) + vein.discardChanceOnAirExposure(0) + + vein.layer('tfg_tfc_ii_s') + vein.dimensions('minecraft:overworld') + vein.biomes('#tfg:is_tfc_overworld') + + vein.heightRangeUniform(0, 60) + + vein.layeredVeinGenerator(generator => generator + .buildLayerPattern(pattern => pattern + .layer(l => l.weight(1).mat(GTMaterials.Cobalt).size(1, 1)) + .layer(l => l.weight(2).mat(GTMaterials.Nickel).size(1, 1)) + .layer(l => l.weight(3).mat(GTMaterials.Bismuth).size(2, 4)) + .layer(l => l.weight(1).mat(GTMaterials.Silver).size(1, 1)) + ) + ) + + vein.surfaceIndicatorGenerator(indicator => indicator + .surfaceRock(GTMaterials.Bismuth) + .placement("above") + .density(0.4) + .radius(8) + ) + }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/recipes.js b/kubejs/server_scripts/gregtech/recipes.js index 8d51fb775..504a221e8 100644 --- a/kubejs/server_scripts/gregtech/recipes.js +++ b/kubejs/server_scripts/gregtech/recipes.js @@ -1,1104 +1,742 @@ // priority: 0 -const registerGTCEURecipes = (event) => { - //#region Выход: Удобрение - - // В обычном миксере - event.recipes.gtceu.mixer('fertilizer') - .itemInputs( - '#tfc:dirt', - '2x #forge:dusts/wood', - '4x #forge:sand' - ) - .circuit(1) - .inputFluids(Fluid.of('minecraft:water', 1000)) - .itemOutputs('4x gtceu:fertilizer') - .duration(300) - .EUt(30) - - // В create миксере - event.recipes.gtceu.create_mixer('fertilizer') - .itemInputs( - '#tfc:dirt', - '2x #forge:dusts/wood', - '4x #forge:sand' - ) - .circuit(1) - .inputFluids(Fluid.of('minecraft:water', 1000)) - .itemOutputs('4x gtceu:fertilizer') - .duration(300) - .EUt(30) - .rpm(96) - - //#endregion - - //#region Выход: Кварцевый песок - - event.shaped('gtceu:quartz_sand_dust', [ - 'A', - 'B' - ], { - A: '#forge:sand', - B: '#forge:tools/mortars' - }).id('gtceu:shaped/quartz_sand') - - event.recipes.gtceu.macerator('quartz_sand_from_sand') - .itemInputs('#forge:sand') - .itemOutputs('gtceu:quartz_sand_dust') - .duration(30) - .EUt(2) - - //#endregion - - //#region Выход: Диоксид силикона - - event.recipes.gtceu.electrolyzer('sand_electrolysis') - .itemInputs('8x #forge:sand') - .itemOutputs('gtceu:silicon_dioxide_dust') - .duration(500) - .EUt(25) - - //#endregion - - //#region Выход: Соленая пыль + Вода - - // Декрафт в центрифуге - event.recipes.gtceu.centrifuge('centrifuging_tfc_salt_water') - .inputFluids(Fluid.of('tfc:salt_water', 1000)) - .itemOutputs('1x gtceu:salt_dust') - .outputFluids(Fluid.of('minecraft:water', 1000)) - .duration(51) - .EUt(30) - - // Декрафт в электролайзере - event.recipes.gtceu.electrolyzer('electrolyze_tfc_salt_water') - .inputFluids(Fluid.of('tfc:salt_water', 1000)) - .itemOutputs('1x gtceu:sodium_hydroxide_dust', '2x gtceu:small_sodium_hydroxide_dust') - .outputFluids(Fluid.of('gtceu:chlorine', 500), Fluid.of('gtceu:hydrogen', 500)) - .duration(720) - .EUt(30) - - //#endregion - - //#region Выход: Крошечная кучка камня - - event.remove({ id: 'gtceu:macerator/macerate_stone_button' }) - - //#endregion +const registerGregTechRecipes = (e) => { - //#region Выход: Маленькая кучка камня + //#region Обработчики рецептов основанных на материалах + const makeToolRecipe = (toolType, headTagPrefix, extruderMold, cirucitMeta, material) => { + const toolItem = ToolHelper.get(toolType, material) + if (toolItem.isEmpty()) return - event.remove({ id: 'gtceu:macerator/macerate_stone_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_stone_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_stone_brick_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_stone_brick_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_sandstone_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_sandstone_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_red_sandstone_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_red_sandstone_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_granite' }) - event.remove({ id: 'gtceu:macerator/macerate_diorite' }) - event.remove({ id: 'gtceu:macerator/macerate_cobblestone_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_andesite' }) + const toolHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (toolHeadItem.isEmpty()) return - //#endregion + if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { + e.shapeless(toolItem, [ + '#forge:rods/wooden', + toolHeadItem + ]).id(`gtceu:shaped/${toolType.name}_${material.getName()}`) + } + else { + e.recipes.tfc.advanced_shapeless_crafting(TFC.itemStackProvider.of(toolHeadItem).copyForgingBonus(), ['#forge:rods/wooden', toolHeadItem]) + .id(`gtceu:shaped/${toolType.name}_${material.getName()}`) + } + + processToolHead(headTagPrefix, extruderMold, cirucitMeta, material) + } + + const processToolHead = (headTagPrefix, extruderMold, cirucitMeta, material) => { + const toolHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (toolHeadItem.isEmpty()) return + + if (material.hasProperty(PropertyKey.INGOT)) { + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + e.recipes.gtceu.extruder(`tfg:extrude_${material.getName()}_ingot_to_${new String(headTagPrefix.name).toLowerCase()}_head`) + .itemInputs(ingotItem.copyWithCount(Math.floor(headTagPrefix.materialAmount() / GTValues.M))) + .notConsumable(extruderMold) + .itemOutputs(toolHeadItem) + .duration(12).EUt(32) + + } else if (material.hasProperty(PropertyKey.GEM)) { + + const gemItem = ChemicalHelper.get(TagPrefix.gem, material, 1) + if (gemItem.isEmpty()) return + + e.recipes.gtceu.extruder(`tfg:engrave_${material.getName()}_gem_to_${new String(headTagPrefix.name).toLowerCase()}_head`) + .itemInputs(gemItem.copyWithCount(Math.floor(headTagPrefix.materialAmount() / GTValues.M))) + .notConsumable(ChemicalHelper.get(TagPrefix.lens, GTMaterials.Glass, 1)) + .circuit(cirucitMeta) + .itemOutputs(toolHeadItem) + .duration(12).EUt(32) + } + // else: ignore :3 + } + + const processToolMortar = (toolType, material) => { + const toolItem = ToolHelper.get(toolType, material) + if (toolItem.isEmpty()) return + + const usableTagPrefix = material.hasProperty(PropertyKey.GEM) ? TagPrefix.gem : TagPrefix.ingot; + const usableItem = ChemicalHelper.get(usableTagPrefix, material, 1) + + if (usableItem.isEmpty()) return + + e.shaped(toolItem, [ + ' A ', + 'BAB', + 'BBB' + ], { + A: usableItem, + B: '#tfc:rock/raw', + }).id(`gtceu:shaped/mortar_${material.getName()}`) + } + + const processNugget = (tagPrefix, material) => { + if (material != TFGMaterials.Unknown) return + + const item = ChemicalHelper.get(tagPrefix, material, 1) + if (item.isEmpty()) return + + e.remove({ id: `gtceu:alloy_smelter/alloy_smelt_${material.getName()}_to_nugget` }) + e.remove({ id: `gtceu:fluid_solidifier/solidify_${material.getName()}_to_nugget` }) + } + + const processIngot = (tagPrefix, material) => { + const ingotItem = ChemicalHelper.get(tagPrefix, material, 1) + + if (material.hasFlag(MaterialFlags.GENERATE_PLATE) && material != GTMaterials.Wood && material != GTMaterials.TreatedWood && !material.hasProperty(PropertyKey.POLYMER)) + { + const plateStack = ChemicalHelper.get(TagPrefix.plate, material, 1) + const blockStack = ChemicalHelper.get(TagPrefix.block, material, 1) + + let matAmount = TagPrefix.block.getMaterialAmount(material) / GTValues.M; + + if (!plateStack.isEmpty()) { + + // Слиток -> Стержень + e.recipes.createPressing(plateStack.withChance(0.8), ingotItem) + .id(`tfg:pressing/${material.getName()}_plate`) - //#region Выход: Кучка камня + if (!blockStack.isEmpty() && GTMaterials.Stone != material) { + + // 9х Слиток -> Блок + e.recipes.createCompacting(blockStack, ingotItem.withCount(matAmount)) + .heated() + .id(`tfg:compacting/${material.getName()}_block`) + } + } + else + { + if (!blockStack.isEmpty()) { + + // Блок из гемов -> 9 Пластин + e.recipes.createCutting(plateStack.withCount(matAmount).withChance(0.65), blockStack) + .id(`tfg:cutting/${material.getName()}_plate`) + } + + } + + } - event.remove({ id: 'gtceu:macerator/macerate_stone_sword' }) - event.remove({ id: 'gtceu:macerator/macerate_stone_shovel' }) - event.remove({ id: 'gtceu:macerator/macerate_stone_pressure_plate' }) - event.remove({ id: 'gtceu:macerator/macerate_stone_pickaxe' }) - event.remove({ id: 'gtceu:macerator/macerate_stone_hoe' }) - event.remove({ id: 'gtceu:macerator/macerate_stone_bricks' }) - event.remove({ id: 'gtceu:macerator/macerate_stone_axe' }) - event.remove({ id: 'gtceu:macerator/macerate_mossy_cobblestone' }) - event.remove({ id: 'gtceu:macerator/macerate_cobblestone_wall' }) - event.remove({ id: 'gtceu:macerator/macerate_cobblestone' }) - event.remove({ id: 'gtceu:macerator/gravel_to_flint' }) - event.remove({ id: 'gtceu:macerator/macerate_furnace' }) + + } + const processPlate = (tagPrefix, material) => { + const item = ChemicalHelper.get(tagPrefix, material, 1) + if (item.isEmpty()) return + + e.remove({ id: `gtceu:shaped/plate_${material.getName()}` }) + } + + const processPlateDouble = (tagPrefix, material) => { + const item = ChemicalHelper.get(tagPrefix, material, 1) + if (item.isEmpty()) return + + e.remove({ id: `gtceu:shaped/plate_double_${material.getName()}` }) + } + + const processBlock = (tagPrefix, material) => { + const item = ChemicalHelper.get(tagPrefix, material, 1) + if (item.isEmpty()) return + + e.remove({ id: `gtceu:compressor/compress_${material.getName()}_to_block` }) + } + + const processRod = (tagPrefix, material) => { + const rodItem = ChemicalHelper.get(tagPrefix, material, 1) + if (rodItem.isEmpty()) return + + const ingotItem = ChemicalHelper.get(tagPrefix, material, 1) + if (ingotItem.isEmpty()) return + + if (!material.hasFlag(MaterialFlags.GENERATE_ROD) || material == GTMaterials.Wood) return + if (ingotItem.isEmpty() || rodItem.isEmpty()) return + + // Прокатка стержней + e.custom({ + type: "createaddition:rolling", + input: ingotItem.toJson(), + result: rodItem.toJson() + }).id(`tfg:rolling/${material.getName()}_rod`) + } + + const processRodLong = (tagPrefix, material) => { + const item = ChemicalHelper.get(tagPrefix, material, 1) + if (item.isEmpty()) return + + e.remove({ id: `gtceu:shaped/stick_long_stick_${material.getName()}` }) + } + + const processPoorRawOre = (tagPrefix, material) => { + const poorOreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (poorOreItem.isEmpty()) return + + const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + if (crushedOreItem.isEmpty()) return + + // Бедная сырая руда -> Дробленная руда (75%) + e.recipes.createCrushing([crushedOreItem.withChance(0.75)], poorOreItem) + .processingTime(200) + .id(`tfg:crushing/${material.getName()}_crushed_ore_from_poor_raw_ore`) + } + + const processNormalRawOre = (tagPrefix, material) => { + const normalOreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (normalOreItem.isEmpty()) return + + const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + if (crushedOreItem.isEmpty()) return + + // Нормальная сырая руда -> Дробленная руда + Дробленная руда (20%) + e.recipes.createCrushing([crushedOreItem, crushedOreItem.withChance(0.2)], normalOreItem) + .processingTime(200) + .id(`tfg:crushing/${material.getName()}_crushed_ore_from_normal_raw_ore`) + } + + const processRichRawOre = (tagPrefix, material) => { + const richOreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (richOreItem.isEmpty()) return + + const crushedOreItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + if (crushedOreItem.isEmpty()) return + + // Богатая сырая руда -> Дробленная руда + Дробленная руда (20%) + e.recipes.createCrushing([crushedOreItem, crushedOreItem, crushedOreItem.withChance(0.2)], richOreItem) + .processingTime(200) + .id(`tfg:crushing/${material.getName()}_crushed_ore_from_rich_raw_ore`) + } + + const processCrushedDust = (tagPrefix, material) => { + const crushedDustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (crushedDustItem.isEmpty()) return + + const pureDustItem = ChemicalHelper.get(TagPrefix.dustPure, material, 1) + if (pureDustItem.isEmpty()) return + + // Дробленная руда -> Очищенная руда (90%) + e.recipes.createSplashing(pureDustItem.withChance(0.9), crushedDustItem) + .id(`tfg:splashing/${material.getName()}_purified_ore`) + + // Дробленная руда -> Очищенная руда + e.custom({ + type: "ae2:transform", + circumstance: { + type: "fluid", + tag: "tfc:water" + }, + ingredients: [ + crushedDustItem.toJson() + ], + result: pureDustItem.toJson() + }).id(`tfg:ae_transform/${material.getName()}_purified_ore`) + } + + const processImpureDust = (tagPrefix, material) => { + const impureDustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (impureDustItem.isEmpty()) return + + const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1) + if (dustItem.isEmpty()) return + + // Грязная пыль -> Пыль (90%) + e.recipes.createSplashing(dustItem.withChance(0.9), impureDustItem) + .id(`tfg:splashing/${material.getName()}_dust_from_impure`) + + // Грязная пыль -> Пыль + e.custom({ + type: "ae2:transform", + circumstance: { + type: "fluid", + tag: "tfc:water" + }, + ingredients: [ + impureDustItem.toJson() + ], + result: dustItem.toJson() + }).id(`tfg:ae_transform/${material.getName()}_dust_from_impure`) + } + + const processPureDust = (tagPrefix, material) => { + const pureDust = ChemicalHelper.get(tagPrefix, material, 1) + if (pureDust.isEmpty()) return + + const dustItem = ChemicalHelper.get(TagPrefix.dust, material, 1) + if (dustItem.isEmpty()) return + + // Очищенная пыль -> Пыль (90%) + e.recipes.createSplashing(dustItem.withChance(0.9), pureDust) + .id(`tfg:splashing/${material.getName()}_dust_from_pure`) + + // Очищенная пыль -> Пыль + e.custom({ + type: "ae2:transform", + circumstance: { + type: "fluid", + tag: "tfc:water" + }, + ingredients: [ + pureDust.toJson() + ], + result: dustItem.toJson() + }).id(`tfg:ae_transform/${material.getName()}_dust_from_pure`) + } + + const processDust = (tagPrefix, material) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + const gemItem = ChemicalHelper.get(TagPrefix.gem, material, 1) + + if (!ingotItem.isEmpty()) { + e.recipes.createCrushing(dustItem, ingotItem) + .processingTime(250) + .id(`tfg:crushing/${material.getName()}_dust`) + } + + if (!gemItem.isEmpty()) { + e.recipes.createMilling(dustItem, gemItem) + .processingTime(200) + .id(`tfg:milling/${material.getName()}_dust`) + } + } + + GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + const toolProperty = material.getProperty(PropertyKey.TOOL) + const ingotProperty = material.getProperty(PropertyKey.INGOT) + const oreProperty = material.getProperty(PropertyKey.ORE) + + if (toolProperty != null) { + makeToolRecipe(GTToolType.SWORD, TFGTagPrefix.toolHeadSword, 'tfg:sword_head_extruder_mold', 1, material) + makeToolRecipe(GTToolType.PICKAXE, TFGTagPrefix.toolHeadPickaxe, 'tfg:pickaxe_head_extruder_mold', 2, material) + makeToolRecipe(GTToolType.AXE, TFGTagPrefix.toolHeadAxe, 'tfg:axe_head_extruder_mold', 3, material) + makeToolRecipe(GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel, 'tfg:shovel_head_extruder_mold', 4, material) + makeToolRecipe(GTToolType.HOE, TFGTagPrefix.toolHeadHoe, 'tfg:hoe_head_extruder_mold', 5, material) + makeToolRecipe(GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife, 'tfg:knife_head_extruder_mold', 6, material) + makeToolRecipe(GTToolType.FILE, TFGTagPrefix.toolHeadFile, 'tfg:file_head_extruder_mold', 7, material) + makeToolRecipe(GTToolType.SAW, TFGTagPrefix.toolHeadSaw, 'tfg:saw_head_extruder_mold', 8, material) + makeToolRecipe(GTToolType.SPADE, TFGTagPrefix.toolHeadSpade, 'tfg:spade_head_extruder_mold', 9, material) + makeToolRecipe(GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer, 'tfg:mining_hammer_head_extruder_mold', 10, material) + makeToolRecipe(GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe, 'tfg:scythe_head_extruder_mold', 11, material) + makeToolRecipe(GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer, 'tfg:hammer_head_extruder_mold', 12, material) + makeToolRecipe(GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife, 'tfg:butchery_knife_head_extruder_mold', 13, material) + + processToolMortar(GTToolType.MORTAR, material) + + processToolHead(TFGTagPrefix.toolHeadPropick, 'tfg:propick_head_extruder_mold', 14, material) + processToolHead(TFGTagPrefix.toolHeadJavelin, 'tfg:javelin_head_extruder_mold', 15, material) + processToolHead(TFGTagPrefix.toolHeadChisel, 'tfg:chisel_head_extruder_mold', 16, material) + processToolHead(TFGTagPrefix.toolHeadMace, 'tfg:mace_head_extruder_mold', 17, material) + } + + if (ingotProperty != null) { + processNugget(TagPrefix.nugget, material) + processIngot(TagPrefix.ingot, material) + processPlate(TagPrefix.plate, material) + processPlateDouble(TagPrefix.plateDouble, material) + processBlock(TagPrefix.block, material) + processRod(TagPrefix.rod, material) + processRodLong(TagPrefix.rodLong, material) + } + + if (oreProperty != null) { + processPoorRawOre(TFGTagPrefix.poorRawOre, material) + processNormalRawOre(TagPrefix.rawOre, material) + processRichRawOre(TFGTagPrefix.richRawOre, material) + + processCrushedDust(TagPrefix.crushed, material) + processImpureDust(TagPrefix.dustImpure, material) + processPureDust(TagPrefix.dustPure, material) + processDust(TagPrefix.dust, material) + } + + }) //#endregion - //#region Выход: Каменный стержень + //#region Рецепты декрафта пыли каменных пород + // Gabbro + e.recipes.gtceu.centrifuge(`tfg:gabbro_dust_separation`) + .itemInputs('tfg:gabbro_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Titanium, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Iron, 3700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1700, 700) + .EUt(GTValues.VA[GTValues.MV]).duration(480) - // Из сырого камня - event.recipes.gtceu.lathe('stone_rod_from_stone') - .itemInputs('#tfc:rock/raw') - .itemOutputs('gtceu:stone_rod', 'gtceu:small_stone_dust') - .duration(15) - .EUt(2) + // Shale + e.recipes.gtceu.centrifuge(`tfg:shale_dust_separation`) + .itemInputs('tfg:shale_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Sodium, 7500, 500) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1500, 500) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 16)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) - // Из булыжника - event.recipes.gtceu.lathe('stone_rod_from_cobblestone') - .itemInputs('#forge:cobblestone') - .itemOutputs('gtceu:stone_rod', 'gtceu:small_stone_dust') - .duration(15) - .EUt(2) + // Claystone + e.recipes.gtceu.centrifuge(`tfg:claystone_dust_separation`) + .itemInputs('tfg:claystone_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Aluminium, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Silicon, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Hematite, 6700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 5)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + // Limestone + e.recipes.gtceu.centrifuge(`tfg:limestone_dust_separation`) + .itemInputs('tfg:limestone_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Calcium, 8700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 36)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Conglomerate + e.recipes.gtceu.centrifuge(`tfg:conglomerate_dust_separation`) + .itemInputs('tfg:conglomerate_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Hematite, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Silicon, 4700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.TricalciumPhosphate, 3700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 5)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Dolomite + e.recipes.gtceu.centrifuge(`tfg:dolomite_dust_separation`) + .itemInputs('tfg:dolomite_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Magnesium, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Calcium, 5700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 3700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 16)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Chert + e.recipes.gtceu.centrifuge(`tfg:chert_dust_separation`) + .itemInputs('tfg:chert_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Silicon, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 5700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 24)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Chalk + e.recipes.gtceu.centrifuge(`tfg:chalk_dust_separation`) + .itemInputs('tfg:chalk_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Calcium, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Carbon, 3700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 1700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 12)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Rhyolite + e.recipes.gtceu.centrifuge(`tfg:rhyolite_dust_separation`) + .itemInputs('tfg:rhyolite_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 8700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 800, 700) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Dacite + e.recipes.gtceu.centrifuge(`tfg:dacite_dust_separation`) + .itemInputs('tfg:dacite_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Sodium, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Calcium, 5700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.SiliconDioxide, 4700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Aluminium, 3700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 150, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 12)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Slate + e.recipes.gtceu.centrifuge(`tfg:slate_dust_separation`) + .itemInputs('tfg:slate_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 780, 480) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 6)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Phyllite + e.recipes.gtceu.centrifuge(`tfg:phyllite_dust_separation`) + .itemInputs('tfg:phyllite_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Quartzite, 5700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.CalciumChloride, 1700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 2)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Schist + e.recipes.gtceu.centrifuge(`tfg:schist_dust_separation`) + .itemInputs('tfg:schist_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Mica, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Talc, 5700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Graphite, 4700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.MetalMixture, 780, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 12)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) + + // Gneiss + e.recipes.gtceu.centrifuge(`tfg:gneiss_dust_separation`) + .itemInputs('tfg:gneiss_dust') + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Quartzite, 6700, 700) + .chancedOutput(TagPrefix.dustTiny, GTMaterials.Biotite, 3700, 700) + .outputFluids(Fluid.of(GTMaterials.Oxygen.getFluid(), 2)) + .EUt(GTValues.VA[GTValues.MV]).duration(480) //#endregion - //#region Выход: Сырая резиновая пыль - - // Из бревна капока - event.recipes.gtceu.extractor('raw_rubber_from_log') - .itemInputs('#tfc:kapok_logs') - .itemOutputs('gtceu:raw_rubber_dust') - .duration(300) - .EUt(2) - - // Из саженца капока - event.recipes.gtceu.extractor('raw_rubber_from_sapling') - .itemInputs('tfc:wood/sapling/kapok') - .itemOutputs('gtceu:raw_rubber_dust') - .duration(300) - .EUt(2) - - // Из листвы капока - event.recipes.gtceu.extractor('raw_rubber_from_leaves') - .itemInputs('16x tfc:wood/leaves/kapok') - .itemOutputs('gtceu:raw_rubber_dust') - .duration(300) - .EUt(2) - - //#endregion - - //#region Выход: Пропитанные доски - - event.remove({ id: 'gtceu:shaped/treated_wood_planks' }) - - event.recipes.tfc.barrel_sealed(4000) - .outputItem('gtceu:treated_wood_planks') - .inputs('#minecraft:planks', TFC.fluidStackIngredient('#forge:creosote', 100)) - .id('tfg:barrel/treated_wood_planks') - - //#endregion - - //#region Выход: Капля резины - - // Из латекса - event.recipes.tfc.pot('tfc:powder/sulfur', Fluid.of('tfg:latex', 1000), 5000, 300) - .itemOutput('gtceu:sticky_resin') - .id('tfg:pot/sticky_resin') - - // Из бревна капока - event.recipes.gtceu.centrifuge('rubber_log_separation') - .itemInputs('#tfc:kapok_logs') - .chancedOutput('gtceu:sticky_resin', 5000, 1200) - .chancedOutput('gtceu:plant_ball', 3750, 900) - .chancedOutput('gtceu:carbon_dust', 2500, 600) - .chancedOutput('gtceu:wood_dust', 2500, 700) - .outputFluids(Fluid.of('gtceu:methane', 60)) - .duration(200) - .EUt(20) - - //#endregion - - //#region Выход: Растительный шарик - - // 8x Ванильная растительность -> Plant Ball (Compressor) - event.remove({id: 'gtceu:compressor/plant_ball_from_wheat'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_warped_stem'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_crimson_stem'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_tube_coral'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_sugar_cane'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_red_mushroom'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_potato'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_nether_wart'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_horn_coral'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_fire_coral'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_carrot'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_cactus'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_bubble_coral'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_brown_mushroom'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_brain_coral'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_beetroot'}) - event.remove({id: 'gtceu:compressor/plant_ball_from_moss'}) - - event.recipes.gtceu.compressor('plant_ball_from_tfc_seeds') - .itemInputs('8x #tfc:seeds') - .itemOutputs('gtceu:plant_ball') - .duration(300) - .EUt(2) - - event.recipes.gtceu.compressor('plant_ball_from_tfc_food') - .itemInputs('8x #tfc:foods') - .itemOutputs('gtceu:plant_ball') - .duration(300) - .EUt(2) - - event.recipes.gtceu.compressor('plant_ball_from_tfc_plants') - .itemInputs('8x #tfc:plants') - .itemOutputs('gtceu:plant_ball') - .duration(300) - .EUt(2) - - event.recipes.gtceu.compressor('plant_ball_from_tfc_corals') - .itemInputs('8x #tfc:corals') - .itemOutputs('gtceu:plant_ball') - .duration(300) - .EUt(2) - - //#endregion - - //#region Выход: Биомасса - - // Ванильная растительность -> Биомасса (Brewery) - event.remove({id: 'gtceu:brewery/biomass_from_sugar_cane'}) - event.remove({id: 'gtceu:brewery/biomass_from_red_mushroom'}) - event.remove({id: 'gtceu:brewery/biomass_from_potato'}) - event.remove({id: 'gtceu:brewery/biomass_from_carrot'}) - event.remove({id: 'gtceu:brewery/biomass_from_cactus'}) - event.remove({id: 'gtceu:brewery/biomass_from_brown_mushroom'}) - event.remove({id: 'gtceu:brewery/biomass_from_beetroot'}) - - event.recipes.gtceu.brewery('biomass_from_tfc_seeds') - .itemInputs('#tfc:seeds') - .outputFluids(Fluid.of('gtceu:biomass', 20)) - .duration(128) - .EUt(3) - - event.recipes.gtceu.brewery('biomass_from_tfc_food') - .itemInputs('#tfc:foods') - .outputFluids(Fluid.of('gtceu:biomass', 20)) - .duration(128) - .EUt(3) - - event.recipes.gtceu.brewery('biomass_from_tfc_plants') - .itemInputs('#tfc:plants') - .outputFluids(Fluid.of('gtceu:biomass', 20)) - .duration(128) - .EUt(3) - - event.recipes.gtceu.brewery('biomass_from_tfc_corals') - .itemInputs('#tfc:corals') - .outputFluids(Fluid.of('gtceu:biomass', 20)) - .duration(128) - .EUt(3) - - //#endregion - - //#region Выход: Рыбье масло - - event.remove({ id: 'gtceu:extractor/fish_oil_from_tropical_fish' }) - event.remove({ id: 'gtceu:extractor/fish_oil_from_salmon' }) - event.remove({ id: 'gtceu:extractor/fish_oil_from_pufferfish' }) - event.remove({ id: 'gtceu:extractor/fish_oil_from_cod' }) - - event.recipes.gtceu.extractor(`tfg/fish_oil`) - .itemInputs('#minecraft:fishes') - .outputFluids(Fluid.of('gtceu:fish_oil', 40)) - .duration(16) - .EUt(4) - - //#endregion - - //#region Выход: Семянное масло - - event.remove({ id: 'gtceu:extractor/seed_oil_from_tag_seeds' }) - event.remove({ id: 'gtceu:extractor/seed_oil_from_pumpkin' }) - event.remove({ id: 'gtceu:extractor/seed_oil_from_melon' }) - event.remove({ id: 'gtceu:extractor/seed_oil_from_beetroot' }) - - event.recipes.gtceu.extractor(`tfg/seed_oil`) - .itemInputs('#tfc:seeds') - .outputFluids(Fluid.of('gtceu:seed_oil', 16)) - .duration(32) - .EUt(2) - - //#endregion - - //#region Выход: Цемент - - generateMixerRecipe( - event, - ['2x #tfg:stone_dusts', 'gtceu:marble_dust', 'gtceu:gypsum_dust'], - Fluid.of('minecraft:water', 1000), - [], - null, - Fluid.of('gtceu:concrete', 1152), - 40, - 16, - 64, - 'concrete_from_marble' - ) - - generateMixerRecipe( - event, - ['3x #tfg:stone_dusts', 'gtceu:clay_dust'], - Fluid.of('minecraft:water', 500), - [], - null, - Fluid.of('gtceu:concrete', 576), - 20, - 16, - 64, - 'concrete_from_clay' - ) - - generateMixerRecipe( - event, - ['3x #tfg:stone_dusts', 'gtceu:calcite_dust', 'gtceu:gypsum_dust'], - Fluid.of('minecraft:water', 1000), - [], - null, - Fluid.of('gtceu:concrete', 1152), - 40, - 16, - 64, - 'concrete_from_calcite' - ) - - //#endregion - - //#region Выход: Бурильная жидкость - - generateMixerRecipe( - event, - ['2x #tfg:stone_dusts'], - [Fluid.of('gtceu:lubricant', 20), Fluid.of('minecraft:water', 4000)], - [], - null, - Fluid.of('gtceu:drilling_fluid', 5000), - 40, - 16, - 64, - 'drilling_fluid' - ) - - //#endregion - - //#region Выход: Крошечная кучка дерева - - event.remove({ id: 'gtceu:macerator/macerate_warped_button' }) - event.remove({ id: 'gtceu:macerator/macerate_spruce_button' }) - event.remove({ id: 'gtceu:macerator/macerate_oak_button' }) - event.remove({ id: 'gtceu:macerator/macerate_mangrove_button' }) - event.remove({ id: 'gtceu:macerator/macerate_jungle_button' }) - event.remove({ id: 'gtceu:macerator/macerate_dark_oak_button' }) - event.remove({ id: 'gtceu:macerator/macerate_crimson_button' }) - event.remove({ id: 'gtceu:macerator/macerate_cherry_button' }) - event.remove({ id: 'gtceu:macerator/macerate_birch_button' }) - event.remove({ id: 'gtceu:macerator/macerate_acacia_button' }) - - //#endregion - - //#region Выход: Маленькая кучка дерева - - event.remove({ id: 'gtceu:macerator/macerate_wooden_sword' }) - event.remove({ id: 'gtceu:macerator/macerate_wooden_shovel' }) - event.remove({ id: 'gtceu:macerator/macerate_wooden_pickaxe' }) - event.remove({ id: 'gtceu:macerator/macerate_wooden_hoe' }) - event.remove({ id: 'gtceu:macerator/macerate_wooden_axe' }) - event.remove({ id: 'gtceu:macerator/macerate_warped_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_warped_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_spruce_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_spruce_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_oak_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_oak_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_mangrove_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_mangrove_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_jungle_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_jungle_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_iron_sword' }) - event.remove({ id: 'gtceu:macerator/macerate_iron_shovel' }) - event.remove({ id: 'gtceu:macerator/macerate_iron_pickaxe' }) - event.remove({ id: 'gtceu:macerator/macerate_iron_hoe' }) - event.remove({ id: 'gtceu:macerator/macerate_iron_axe' }) - event.remove({ id: 'gtceu:macerator/macerate_golden_sword' }) - event.remove({ id: 'gtceu:macerator/macerate_golden_shovel' }) - event.remove({ id: 'gtceu:macerator/macerate_golden_pickaxe' }) - event.remove({ id: 'gtceu:macerator/macerate_golden_hoe' }) - event.remove({ id: 'gtceu:macerator/macerate_golden_axe' }) - event.remove({ id: 'gtceu:macerator/macerate_diamond_sword' }) - event.remove({ id: 'gtceu:macerator/macerate_diamond_shovel' }) - event.remove({ id: 'gtceu:macerator/macerate_diamond_pickaxe' }) - event.remove({ id: 'gtceu:macerator/macerate_diamond_hoe' }) - event.remove({ id: 'gtceu:macerator/macerate_diamond_axe' }) - event.remove({ id: 'gtceu:macerator/macerate_dark_oak_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_dark_oak_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_crimson_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_crimson_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_cherry_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_cherry_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_birch_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_birch_slab' }) - event.remove({ id: 'gtceu:macerator/macerate_acacia_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_acacia_slab' }) - - //#endregion - - //#region Выход: Деревянная пыль - - event.remove({id: 'gtceu:macerator/macerate_trapped_chest'}) - event.remove({id: 'gtceu:macerator/macerate_spruce_planks'}) - event.remove({id: 'gtceu:macerator/macerate_spruce_fence_gate'}) - event.remove({id: 'gtceu:macerator/macerate_spruce_fence'}) - event.remove({id: 'gtceu:macerator/macerate_spruce_door'}) - event.remove({id: 'gtceu:macerator/macerate_spruce_boat'}) - event.remove({id: 'gtceu:macerator/macerate_oak_planks'}) - event.remove({id: 'gtceu:macerator/macerate_oak_fence_gate'}) - event.remove({id: 'gtceu:macerator/macerate_oak_fence'}) - event.remove({id: 'gtceu:macerator/macerate_oak_door'}) - event.remove({id: 'gtceu:macerator/macerate_oak_boat'}) - event.remove({id: 'gtceu:macerator/macerate_mangrove_planks'}) - event.remove({id: 'gtceu:macerator/macerate_mangrove_fence_gate'}) - event.remove({id: 'gtceu:macerator/macerate_mangrove_fence'}) - event.remove({id: 'gtceu:macerator/macerate_mangrove_door'}) - event.remove({id: 'gtceu:macerator/macerate_mangrove_boat'}) - event.remove({id: 'gtceu:macerator/macerate_jungle_planks'}) - event.remove({id: 'gtceu:macerator/macerate_jungle_fence_gate'}) - event.remove({id: 'gtceu:macerator/macerate_jungle_fence'}) - event.remove({id: 'gtceu:macerator/macerate_jungle_door'}) - event.remove({id: 'gtceu:macerator/macerate_jungle_boat'}) - event.remove({id: 'gtceu:macerator/macerate_dark_oak_planks'}) - event.remove({id: 'gtceu:macerator/macerate_dark_oak_fence_gate'}) - event.remove({id: 'gtceu:macerator/macerate_dark_oak_fence'}) - event.remove({id: 'gtceu:macerator/macerate_dark_oak_door'}) - event.remove({id: 'gtceu:macerator/macerate_dark_oak_boat'}) - event.remove({id: 'gtceu:macerator/macerate_crafting_table'}) - event.remove({id: 'gtceu:macerator/macerate_chest'}) - event.remove({id: 'gtceu:macerator/macerate_chest_minecart'}) - event.remove({id: 'gtceu:macerator/macerate_cherry_planks'}) - event.remove({id: 'gtceu:macerator/macerate_cherry_fence_gate'}) - event.remove({id: 'gtceu:macerator/macerate_cherry_fence'}) - event.remove({id: 'gtceu:macerator/macerate_cherry_door'}) - event.remove({id: 'gtceu:macerator/macerate_cherry_boat'}) - event.remove({id: 'gtceu:macerator/macerate_bookshelf'}) - event.remove({id: 'gtceu:macerator/macerate_birch_planks'}) - event.remove({id: 'gtceu:macerator/macerate_birch_fence_gate'}) - event.remove({id: 'gtceu:macerator/macerate_birch_fence'}) - event.remove({id: 'gtceu:macerator/macerate_birch_door'}) - event.remove({id: 'gtceu:macerator/macerate_birch_boat'}) - event.remove({id: 'gtceu:macerator/macerate_acacia_planks'}) - event.remove({id: 'gtceu:macerator/macerate_acacia_fence_gate'}) - event.remove({id: 'gtceu:macerator/macerate_acacia_fence'}) - event.remove({id: 'gtceu:macerator/macerate_acacia_door'}) - event.remove({id: 'gtceu:macerator/macerate_acacia_boat'}) - event.remove({id: 'gtceu:macerator/macerate_bamboo_raft'}) - event.remove({id: 'gtceu:macerator/macerate_crimson_door'}) - event.remove({id: 'gtceu:macerator/macerate_crimson_fence'}) - event.remove({id: 'gtceu:macerator/macerate_crimson_fence_gate'}) - event.remove({id: 'gtceu:macerator/macerate_crimson_planks'}) - event.remove({id: 'gtceu:macerator/macerate_warped_door'}) - event.remove({id: 'gtceu:macerator/macerate_warped_fence'}) - event.remove({id: 'gtceu:macerator/macerate_warped_fence_gate'}) - event.remove({id: 'gtceu:macerator/macerate_warped_planks'}) - - //#endregion - - //#region Выход: Бумажная пыль - - event.remove({ id: 'gtceu:shaped/paper_dust' }) - - //#endregion - - //#region Выход: Метан - - event.remove({ id: 'gtceu:centrifuge/red_mushroom_separation' }) - event.remove({ id: 'gtceu:centrifuge/brown_mushroom_separation' }) - - //#endregion - - //#region Выход: Маленькая кучка мяса - - event.remove({ id: 'gtceu:macerator/macerate_steak' }) - event.remove({ id: 'gtceu:macerator/macerate_rabbit' }) - event.remove({ id: 'gtceu:macerator/macerate_pork_chop' }) - - //#endregion - - //#region Выход: Пыль мяса - - event.remove({ id: 'gtceu:macerator/macerate_mutton' }) - event.remove({ id: 'gtceu:macerator/macerate_chicken' }) - - event.recipes.gtceu.macerator('macerate_meat_to_dust') - .itemInputs('#tfc:foods/meats') - .itemOutputs('gtceu:meat_dust', 'gtceu:tiny_bone_dust') - .duration(100) - .EUt(2) - - //#endregion - - //#region Выход: Пшеничная пыль - - event.remove({ id: 'gtceu:shapeless/wheat_to_dust' }) - event.remove({ id: 'gtceu:macerator/macerate_wheat' }) - event.remove({ id: 'gtceu:macerator/macerate_hay_block' }) - - //#endregion - - //#region Выход: Пыль какао-бобов - - event.recipes.gtceu.assembler('macerate_cocoa') - .itemInputs('firmalife:food/cocoa_beans') - .itemOutputs('gtceu:cocoa_dust') - .duration(400) - .EUt(2) - - //#endregion - - //#region Выход: Слиток кованного железа - - event.remove({ id: 'gtceu:arc_furnace/arc_chest_minecart' }) - event.remove({ id: 'gtceu:arc_furnace/arc_iron_trapdoor' }) - event.remove({ id: 'gtceu:arc_furnace/arc_damaged_anvil' }) - event.remove({ id: 'gtceu:arc_furnace/arc_chipped_anvil' }) - event.remove({ id: 'gtceu:arc_furnace/arc_anvil' }) - event.remove({ id: 'gtceu:arc_furnace/arc_furnace_minecart' }) - event.remove({ id: 'gtceu:arc_furnace/arc_compass' }) - - //#endregion - - //#region Выход: Кованные самородки - - event.remove({ id: 'gtceu:arc_furnace/arc_iron_bars' }) - - //#endregion - - //#region Выход: Железная пыль - - event.remove({ id: 'gtceu:macerator/macerate_iron_trapdoor' }) - event.remove({ id: 'gtceu:macerator/macerate_damaged_anvil' }) - event.remove({ id: 'gtceu:macerator/macerate_chipped_anvil' }) - event.remove({ id: 'gtceu:macerator/macerate_anvil' }) - event.remove({ id: 'gtceu:macerator/macerate_furnace_minecart' }) - event.remove({ id: 'gtceu:macerator/macerate_bucket' }) - event.remove({ id: 'gtceu:macerator/macerate_compass' }) - - //#endregion - - //#region Выход: Крошечная железная пыль - - event.remove({ id: 'gtceu:macerator/macerate_iron_bars' }) - - //#endregion - - //#region Выход: Крошечная пыль золы - - event.remove({ id: 'gtceu:arc_furnace/arc_bookshelf' }) - - //#endregion - - //#region Выход: Пыль незерака - - event.remove({ id: 'gtceu:macerator/macerate_nether_brick_stairs' }) - event.remove({ id: 'gtceu:macerator/macerate_nether_brick_slab' }) - - //#endregion - - //#region Выход: Пыль базальта - - event.remove({ id: 'gtceu:macerator/macerate_basalt' }) - - //#endregion - - //#region Выход: Filter Casing - - event.shaped('gtceu:filter_casing', [ - 'AAA', - 'BBB', - 'CDE' + //#region Рецепты форм для экструдера + + // Меч + e.shaped('tfg:sword_head_extruder_mold', [ + 'ABC', + ' ', + ' ' ], { - A: '#tfg:metal_bars', - B: 'gtceu:item_filter', - C: 'gtceu:mv_electric_motor', - D: 'gtceu:steel_frame', - E: '#forge:rotors/steel' - }).id('gtceu:shaped/filter_casing') - - //#endregion + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/sword_head_extruder_mold') - //#region Выход: Assembly Line Grating - - event.shaped('2x gtceu:assembly_line_grating', [ - 'ABA', - 'ACA', - 'ADA' + // Кирка + e.shaped('tfg:pickaxe_head_extruder_mold', [ + 'A ', + 'BC ', + ' ' ], { - A: '#tfg:metal_bars', - B: '#forge:rotors/steel', - C: 'gtceu:steel_frame', - D: 'gtceu:mv_electric_motor' - }).id('gtceu:shaped/casing_grate_casing') - - //#endregion + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/pickaxe_head_extruder_mold') - //#region Gas Collectors - - event.shaped('gtceu:lv_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' + // Топор + e.shaped('tfg:axe_head_extruder_mold', [ + 'A ', + ' BC', + ' ' ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:lv_electric_pump', - D: '#gtceu:circuits/lv', - E: 'gtceu:lv_machine_hull' - }).id('gtceu:shaped/lv_gas_collector') + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/axe_head_extruder_mold') - event.shaped('gtceu:mv_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' + + // Лопата + e.shaped('tfg:shovel_head_extruder_mold', [ + 'A ', + 'B ', + 'C ' ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:mv_electric_pump', - D: '#gtceu:circuits/mv', - E: 'gtceu:mv_machine_hull' - }).id('gtceu:shaped/mv_gas_collector') + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/shovel_head_extruder_mold') - event.shaped('gtceu:hv_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' + // Мотыга + e.shaped('tfg:hoe_head_extruder_mold', [ + 'A ', + 'CB ', + ' ' ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:hv_electric_pump', - D: '#gtceu:circuits/hv', - E: 'gtceu:hv_machine_hull' - }).id('gtceu:shaped/hv_gas_collector') + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/hoe_head_extruder_mold') - event.shaped('gtceu:ev_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' - ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:ev_electric_pump', - D: '#gtceu:circuits/ev', - E: 'gtceu:ev_machine_hull' - }).id('gtceu:shaped/ev_gas_collector') - - event.shaped('gtceu:iv_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' - ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:iv_electric_pump', - D: '#gtceu:circuits/iv', - E: 'gtceu:iv_machine_hull' - }).id('gtceu:shaped/iv_gas_collector') - - event.shaped('gtceu:luv_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' - ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:luv_electric_pump', - D: '#gtceu:circuits/luv', - E: 'gtceu:luv_machine_hull' - }).id('gtceu:shaped/luv_gas_collector') - - event.shaped('gtceu:zpm_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' - ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:zpm_electric_pump', - D: '#gtceu:circuits/zpm', - E: 'gtceu:zpm_machine_hull' - }).id('gtceu:shaped/zpm_gas_collector') - - event.shaped('gtceu:uv_gas_collector', [ - 'ABA', - 'CEC', - 'ADA' - ], { - A: '#tfg:metal_bars', - B: 'gtceu:fluid_filter', - C: 'gtceu:uv_electric_pump', - D: '#gtceu:circuits/uv', - E: 'gtceu:uv_machine_hull' - }).id('gtceu:shaped/uv_gas_collector') - - //#endregion - - //#region Forge Hammers - - event.shaped('gtceu:lv_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:tin_single_cable', - B: 'gtceu:lv_electric_piston', - C: '#gtceu:circuits/lv', - D: 'gtceu:lv_machine_hull', - E: 'tfc:metal/anvil/steel', - }).id('gtceu:shaped/lv_forge_hammer') - - event.shaped('gtceu:mv_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:copper_single_cable', - B: 'gtceu:mv_electric_piston', - C: '#gtceu:circuits/mv', - D: 'gtceu:mv_machine_hull', - E: 'tfc:metal/anvil/steel', - }).id('gtceu:shaped/mv_forge_hammer') - - event.shaped('gtceu:hv_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:gold_single_cable', - B: 'gtceu:hv_electric_piston', - C: '#gtceu:circuits/hv', - D: 'gtceu:hv_machine_hull', - E: 'tfc:metal/anvil/steel', - }).id('gtceu:shaped/hv_forge_hammer') - - event.shaped('gtceu:ev_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:aluminium_single_cable', - B: 'gtceu:ev_electric_piston', - C: '#gtceu:circuits/ev', - D: 'gtceu:ev_machine_hull', - E: 'tfc:metal/anvil/black_steel', - }).id('gtceu:shaped/ev_forge_hammer') - - event.shaped('gtceu:iv_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:platinum_single_cable', - B: 'gtceu:iv_electric_piston', - C: '#gtceu:circuits/iv', - D: 'gtceu:iv_machine_hull', - E: 'tfc:metal/anvil/black_steel', - }).id('gtceu:shaped/iv_forge_hammer') - - event.shaped('gtceu:luv_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:niobium_titanium_single_cable', - B: 'gtceu:luv_electric_piston', - C: '#gtceu:circuits/luv', - D: 'gtceu:luv_machine_hull', - E: 'tfc:metal/anvil/black_steel', - }).id('gtceu:shaped/luv_forge_hammer') - - event.shaped('gtceu:zpm_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:vanadium_gallium_single_cable', - B: 'gtceu:zpm_electric_piston', - C: '#gtceu:circuits/zpm', - D: 'gtceu:zpm_machine_hull', - E: '#tfc:red_or_blue_anvil', - }).id('gtceu:shaped/zpm_forge_hammer') - - event.shaped('gtceu:uv_forge_hammer', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: 'gtceu:yttrium_barium_cuprate_single_cable', - B: 'gtceu:uv_electric_piston', - C: '#gtceu:circuits/uv', - D: 'gtceu:uv_machine_hull', - E: '#tfc:red_or_blue_anvil', - }).id('gtceu:shaped/uv_forge_hammer') - - //#endregion - - //#region CokeOven - - // Coke Oven - event.shaped('gtceu:coke_oven', [ - 'ABA', - 'BCB', - 'ABA' - ], { - A: 'gtceu:coke_oven_bricks', - B: '#forge:plates/wrought_iron', - C: '#forge:tools/wrenches' - }).id('gtceu:shaped/coke_oven') - - // Coke Oven Hatch - event.shaped('gtceu:coke_oven_hatch', [ - 'AB' - ], { - A: 'gtceu:coke_oven_bricks', - B: '#tfc:barrels' - }).id('gtceu:shaped/coke_oven_hatch') - - //#endregion - - //#region Выход: Слиток камня - - event.remove({id: 'gtceu:alloy_smelter/alloy_smelt_stone_to_ingot'}) - - //#endregion - - //#region Выход: Бронзовые машины (Плюс их декрафты) - - event.remove({ id: 'gtceu:shaped/bronze_hull' }) - event.remove({ id: 'gtceu:arc_furnace/arc_bronze_machine_casing' }) - event.remove({ id: 'gtceu:macerator/macerate_bronze_machine_casing' }) - - event.remove({ id: 'gtceu:shaped/steam_extractor_bronze' }) - event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_extractor' }) - event.remove({ id: 'gtceu:macerator/macerate_lp_steam_extractor' }) - - event.remove({ id: 'gtceu:shaped/steam_macerator_bronze' }) - event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_macerator' }) - event.remove({ id: 'gtceu:macerator/macerate_lp_steam_macerator' }) - - event.remove({ id: 'gtceu:shaped/steam_compressor_bronze' }) - event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_compressor' }) - event.remove({ id: 'gtceu:macerator/macerate_lp_steam_compressor' }) - - event.remove({ id: 'gtceu:shaped/steam_hammer_bronze' }) - event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_forge_hammer' }) - event.remove({ id: 'gtceu:macerator/macerate_lp_steam_forge_hammer' }) - - event.remove({ id: 'gtceu:shaped/steam_furnace_bronze' }) - event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_furnace' }) - event.remove({ id: 'gtceu:macerator/macerate_lp_steam_furnace' }) - - event.remove({ id: 'gtceu:shaped/steam_alloy_smelter_bronze' }) - event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_alloy_smelter' }) - event.remove({ id: 'gtceu:macerator/macerate_lp_steam_alloy_smelter' }) - - event.remove({ id: 'gtceu:shaped/steam_rock_breaker_bronze' }) - event.remove({ id: 'gtceu:arc_furnace/arc_lp_steam_rock_crusher' }) - event.remove({ id: 'gtceu:macerator/macerate_lp_steam_rock_crusher' }) - - event.remove({ id: 'gtceu:shaped/steam_miner' }) - event.remove({ id: 'gtceu:arc_furnace/arc_steam_miner' }) - event.remove({ id: 'gtceu:macerator/macerate_steam_miner' }) - - // Low Pressure Steam Solid Boiler - event.shaped('gtceu:lp_steam_solid_boiler', [ - 'AAA', - 'ABA', - 'ACA' - ], { - A: '#forge:plates/bronze', - B: '#forge:tools/wrenches', - C: 'gtceu:bronze_brick_casing' - }).id('gtceu:shaped/steam_boiler_coal_bronze') - - //#endregion - - //#region Выход: Стальные машины - - // Экстрактор - event.shaped('gtceu:hp_steam_extractor', [ - 'BEB', - 'CAC', - 'DBD' - ], { - A: 'gtceu:steel_brick_casing', - B: 'gtceu:tin_alloy_small_fluid_pipe', - C: '#forge:plates/steel', - D: '#forge:plates/wrought_iron', - E: '#forge:glass_panes' - }).id('gtceu:shaped/steam_extractor_steel') - - // Дробитель - event.shaped('gtceu:hp_steam_macerator', [ - 'CCC', - 'BAB', - 'DDD' - ], { - A: 'gtceu:steel_brick_casing', - B: 'gtceu:tin_alloy_small_fluid_pipe', - C: '#forge:plates/steel', - D: '#forge:plates/wrought_iron' - }).id('gtceu:shaped/steam_macerator_steel') - - // Компрессор - event.shaped('gtceu:hp_steam_compressor', [ - 'BCB', - 'DAD', - 'BBB' - ], { - A: 'gtceu:steel_brick_casing', - B: 'gtceu:tin_alloy_small_fluid_pipe', - C: '#forge:plates/steel', - D: '#forge:plates/wrought_iron' - }).id('gtceu:shaped/steam_compressor_steel') // Молот - event.shaped('gtceu:hp_steam_forge_hammer', [ - 'DDD', - 'BAB', - 'CCC' + e.shaped('tfg:hammer_head_extruder_mold', [ + 'AB ', + ' C ', + ' ' ], { - A: 'gtceu:steel_brick_casing', - B: 'gtceu:tin_alloy_small_fluid_pipe', - C: '#forge:plates/steel', - D: '#forge:plates/wrought_iron' - }).id('gtceu:shaped/steam_hammer_steel') + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/hammer_head_extruder_mold') - // Печь - event.shaped('gtceu:hp_steam_furnace', [ - 'BCB', - 'DAD', - 'BCB' + // Пила + e.shaped('tfg:saw_head_extruder_mold', [ + 'AC ', + ' B ', + ' ' ], { - A: 'gtceu:steel_brick_casing', - B: 'gtceu:tin_alloy_small_fluid_pipe', - C: '#forge:plates/steel', - D: '#forge:plates/wrought_iron' - }).id('gtceu:shaped/steam_furnace_steel') + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/saw_head_extruder_mold') - // Сплавщик - event.shaped('gtceu:hp_steam_alloy_smelter', [ - 'DCD', - 'DAD', - 'DBD' + // Нож + e.shaped('tfg:knife_head_extruder_mold', [ + 'A B', + ' ', + ' C' ], { - A: 'gtceu:steel_brick_casing', - B: 'gtceu:tin_alloy_small_fluid_pipe', - C: '#forge:plates/steel', - D: '#forge:plates/wrought_iron' - }).id('gtceu:shaped/steam_alloy_smelter_steel') + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/knife_head_extruder_mold') - // Блоко-ломатель - event.shaped('gtceu:hp_steam_rock_crusher', [ - 'DCD', - 'BAB', - 'DDD' + // Напильник + e.shaped('tfg:file_head_extruder_mold', [ + 'A ', + ' ', + 'CB ' ], { - A: 'gtceu:steel_brick_casing', - B: 'gtceu:tin_alloy_small_fluid_pipe', - C: '#forge:plates/steel', - D: '#forge:plates/wrought_iron' - }).id('gtceu:shaped/steam_rock_breaker_steel') + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/file_head_extruder_mold') + + // Коса + e.shaped('tfg:scythe_head_extruder_mold', [ + 'A ', + ' ', + 'BC ' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/scythe_head_extruder_mold') + + // Нож мясника + e.shaped('tfg:butchery_knife_head_extruder_mold', [ + 'A C', + ' ', + ' B' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/butchery_knife_head_extruder_mold') + + // Молот шахтера + e.shaped('tfg:mining_hammer_head_extruder_mold', [ + 'ABC', + ' ', + ' ' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/mining_hammer_head_extruder_mold') + + // Большая лопата + e.shaped('tfg:spade_head_extruder_mold', [ + 'A ', + 'B ', + ' C' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/hammers' + }).id('tfg:shaped/spade_head_extruder_mold') + + // Проспектор + e.shaped('tfg:propick_head_extruder_mold', [ + 'ACB', + ' ', + ' ' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/wire_cutters' + }).id('tfg:shaped/propick_head_extruder_mold') + + // Копье + e.shaped('tfg:javelin_head_extruder_mold', [ + 'A C', + 'B ', + ' ' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/wire_cutters' + }).id('tfg:shaped/javelin_head_extruder_mold') + + // Стамеска + e.shaped('tfg:chisel_head_extruder_mold', [ + 'A ', + 'CB ', + ' ' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/wire_cutters' + }).id('tfg:shaped/chisel_head_extruder_mold') + + // Бита + e.shaped('tfg:mace_head_extruder_mold', [ + 'A ', + ' BC', + ' ' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/files', + C: '#forge:tools/wire_cutters' + }).id('tfg:shaped/mace_head_extruder_mold') + + global.TFG_EXTRUDER_MOLDS.forEach(mold => { + e.recipes.gtceu.forming_press(`tfg:copy_mold_${mold.split(':')[1]}`) + .itemInputs('gtceu:empty_mold') + .notConsumable(mold) + .itemOutputs(mold) + .EUt(22).duration(120) + + }) //#endregion - //#region Выход: некоторые рецепты пылей + //#region Рецепты форм для формовки - event.remove({id: 'gtceu:shapeless/dust_brass'}) - event.remove({id: 'gtceu:shapeless/glass_dust_flint'}) - event.remove({id: 'gtceu:shapeless/dust_bronze'}) - event.remove({id: 'gtceu:shapeless/potin_dust'}) - - //#endregion - - //#region Вырезка из резины - - // TODO: Не работает из-за магического бага - // event.recipes.tfc.knapping('gtceu:rubber_ring', 'tfg:rubber', ['XXX', 'X X', 'XXX']) - // .ingredient('gtceu:rubber_plate') - - //#endregion - - //#region Стеклодувка - - // Glass Tube - event.recipes.tfc.glassworking('gtceu:glass_tube', '#tfc:glass_batches_tier_3', ['blow', 'stretch', 'stretch']) - .id('tfg:gtceu/glassworking/glass_tube') - - //#endregion - - // Удаление рецептов связанных с Primitive Blast Furnace - event.remove({ id: 'gtceu:arc_furnace/arc_primitive_blast_furnace' }) - event.remove({ id: 'gtceu:macerator/macerate_primitive_blast_furnace' }) - - // Удаление рецепта беск. воды кавера - event.remove('gtceu:assembler/cover_infinite_water') - - // Удаление рецептов помпы - event.remove('gtceu:shaped/pump_deck') - event.remove('gtceu:shaped/pump_hatch') - event.remove('gtceu:shaped/primitive_pump') - - // Удаление рецептов связанных с Barrel - event.remove({ id: 'gtceu:shaped/wooden_barrel' }) - event.remove({ id: 'gtceu:assembler/wood_barrel' }) - event.remove({ id: 'gtceu:arc_furnace/arc_wood_drum' }) - event.remove({ id: 'gtceu:macerator/macerate_wood_drum' }) - - // Удаление рецептов связанных с FireBricks - event.remove({id: 'gtceu:shaped/casing_primitive_bricks' }) - event.remove({id: 'gtceu:macerator/macerate_firebricks' }) - event.remove({id: 'gtceu:extractor/extract_primitive_bricks' }) - - // Удаление рецептов связанных с FireBrick - event.remove({ id: 'gtceu:smelting/fireclay_brick' }) - event.remove({ id: 'gtceu:macerator/macerate_firebrick' }) - - // TODO: Удалить после фикса GTCEu - event.remove({ id: 'gtceu:extractor/extract_raw_rubber_dust' }) - - // Пыль звезды незера - // TODO: удалить после имплементации ада - event.recipes.gtceu.chemical_reactor('tfg:gtceu/nether_star_dust') - .itemInputs('2x #forge:dusts/iridium', '#forge:dusts/diamond') - .circuit(10) - .itemOutputs('gtceu:nether_star_dust') - .inputFluids(Fluid.of('gtceu:sulfur_dioxide', 6000), Fluid.of('gtceu:carbon_monoxide', 8000)) - .duration(700) - .EUt(2720) - - // Creosote-Treated Wood Planks -> Treated Wood Pulp - event.recipes.gtceu.macerator('tfg:gtceu/macerate_treated_wood_planks') - .itemInputs('gtceu:treated_wood_planks') - .itemOutputs('gtceu:treated_wood_dust') - .duration(120) - .EUt(4) - - // Empty Wooden Form - event.shaped('gtceu:empty_wooden_form', [ - ' AA', - 'BAA' + // Лампа + e.shaped('tfg:lamp_casting_mold', [ + 'AB ', + ' ', + ' ' ], { - A: '#minecraft:planks', - B: '#forge:tools/saws' - }).id('gtceu:shaped/plank_to_wooden_shape') + A: 'gtceu:empty_mold', + B: '#forge:tools/hammers', + }).id('tfg:shaped/lamp_casting_mold') + + // Люк + e.shaped('tfg:trapdoor_casting_mold', [ + 'A ', + ' ', + ' B' + ], { + A: 'gtceu:empty_mold', + B: '#forge:tools/hammers', + }).id('tfg:shaped/trapdoor_casting_mold') - // Деревянная шестерня - event.shaped('gtceu:wood_gear', [ - ' A ', - 'ABA', - ' A ' + // Цепь + e.shaped('tfg:chain_casting_mold', [ + 'A ', + 'B ', + ' ' ], { - A: '#tfc:can_be_lit_on_torch', - B: '#forge:tools/wrenches' - }).id('gtceu:shaped/gear_wood') + A: 'gtceu:empty_mold', + B: '#forge:tools/hammers', + }).id('tfg:shaped/chain_casting_mold') - // Контроллер теплицы - event.shaped('gtceu:greenhouse', [ - 'ABA', - 'CDC', - 'BCB' + // Колокол + e.shaped('tfg:bell_casting_mold', [ + 'A ', + ' B ', + ' ' ], { - A: '#gtceu:circuits/mv', - B: 'gtceu:copper_single_cable', - C: '#gtceu:circuits/mv', - D: 'gtceu:solid_machine_casing' - }).id('tfg:shaped/greenhouse') + A: 'gtceu:empty_mold', + B: '#forge:tools/hammers', + }).id('tfg:shaped/bell_casting_mold') - // Контроллер электрического генератора - event.shaped('gtceu:alternator', [ + global.TFG_CASTING_MOLDS.forEach(mold => { + e.recipes.gtceu.forming_press(`tfg:copy_mold_${mold.split(':')[1]}_casting_mold`) + .itemInputs('gtceu:empty_mold') + .notConsumable(mold) + .itemOutputs(mold) + .EUt(22).duration(120) + + }) + + //#endregion + + //#region Рецепты электрического генератора + + //#region Контроллер + + //todo: облегчить + e.shaped('gtceu:alternator', [ 'ABA', 'CDC', 'EBE' @@ -1109,32 +747,1254 @@ const registerGTCEURecipes = (event) => { D: 'gtceu:solid_machine_casing', E: 'gtceu:copper_single_cable' }).id('tfg:shaped/alternator') + //#endregion + + e.recipes.gtceu.alternator('32_rpm_to_32_eu') + .inputStress(256) + .circuit(0) + .rpm(32) + .duration(2) + .EUt(-8) - // Compressed Coke Clay - event.shaped('gtceu:compressed_coke_clay', [ - 'AAA', - 'BCB', - 'BBB' + e.recipes.gtceu.alternator('64_rpm_to_48_eu') + .inputStress(256) + .circuit(1) + .rpm(64) + .duration(2) + .EUt(-16) + + e.recipes.gtceu.alternator('128_rpm_to_64_eu') + .inputStress(256) + .circuit(2) + .rpm(128) + .duration(2) + .EUt(-24) + + e.recipes.gtceu.alternator('256_rpm_to_96_eu') + .inputStress(256) + .circuit(3) + .rpm(256) + .duration(2) + .EUt(-32) + //#endregion + + //#region Рецепты теплицы + + //#region Контроллер + e.shaped('gtceu:greenhouse', [ + 'ABA', + 'CDC', + 'BCB' ], { - A: 'minecraft:clay_ball', - B: '#minecraft:sand', - C: 'gtceu:brick_wooden_form' - }).replaceIngredient('gtceu:brick_wooden_form', 'gtceu:brick_wooden_form').id('gtceu:shaped/compressed_coke_clay') + A: '#gtceu:circuits/mv', + B: 'gtceu:copper_single_cable', + C: '#gtceu:circuits/mv', + D: 'gtceu:solid_machine_casing' + }).id('tfg:shaped/greenhouse') + //#endregion - // Compressed Coke Clay -> Coke Oven Brick - event.recipes.tfc.heating('gtceu:compressed_coke_clay', 1399) - .resultItem('gtceu:coke_oven_brick') - .id('tfg:heating/coke_oven_bricks') + // Дерево + global.TFC_WOOD_TYPES.forEach(wood => { + generateGreenHouseRecipe(e, `tfc:wood/sapling/${wood}`, 16000, `32x tfc:wood/log/${wood}`, `tfg:greenhouse/${wood}`) + }) - // TFC FireBrick -> FireBrick dust - event.recipes.gtceu.macerator('macerate_firebrick') + // Семена фруктов + global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => { + generateGreenHouseRecipe(e, element.input, element.fluid_amount, element.output, element.name) + }) + + // Семена овощей + global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS.forEach(element => { + generateGreenHouseRecipe(e, element.input, element.fluid_amount, element.output, element.name) + }) + + // Семена ягод + global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS.forEach(element => { + generateGreenHouseRecipe(e, element.input, element.fluid_amount, element.output, element.name) + }) + + //#endregion + + //#region Отключение смешивания пылей на верстаке + e.remove({id: 'gtceu:shapeless/dust_brass'}) + e.remove({id: 'gtceu:shapeless/glass_dust_flint'}) + e.remove({id: 'gtceu:shapeless/dust_bronze'}) + e.remove({id: 'gtceu:shapeless/potin_dust'}) + //#endregion + + //#region Понижение EUt для рецепта пыли серебра стерлинга + e.remove({ id: 'gtceu:mixer/sterling_silver' }) + e.recipes.gtceu.mixer('tfg:sterling_silver') + .itemInputs('#forge:dusts/copper', '4x #forge:dusts/silver') + .circuit(1) + .itemOutputs('5x gtceu:sterling_silver_dust') + .EUt(24).duration(500) + //#endregion + + //#region Понижение EUt для рецепта пыли розового золота + e.remove({ id: 'gtceu:mixer/rose_gold' }) + e.recipes.gtceu.mixer('tfg:rose_gold') + .itemInputs('#forge:dusts/copper', '4x #forge:dusts/gold') + .circuit(3) + .itemOutputs('5x gtceu:rose_gold_dust') + .EUt(16).duration(500) + //#endregion + + //#region Дерево + + global.GTCEU_WOOD_TYPES.forEach(woodType => { + // Wood + e.remove({ id: `gtceu:shaped/${woodType}_wood` }) + + // Stripped Wood + e.remove({ id: `gtceu:shaped/stripped_${woodType}_wood` }) + + // Доски + e.remove({ id : `gtceu:shapeless/${woodType}_wood_planks` }) + e.remove({ id : `gtceu:shapeless/${woodType}_planks` }) + e.remove({ id : `gtceu:shaped/${woodType}_planks_saw` }) + e.remove({ id : `gtceu:cutter/${woodType}_planks` }) + e.remove({ id : `gtceu:cutter/${woodType}_planks_water` }) + e.remove({ id : `gtceu:cutter/${woodType}_planks_distilled_water` }) + + // Ступень + e.remove({ id : `gtceu:shaped/${woodType}_stairs` }) + e.remove({ id : `everycomp:c/gtceu/${woodType}_stairs_from_${woodType}_planks_stonecutting` }) + e.remove({ id : `gtceu:assembler/${woodType}_stairs` }) + + // Полублок + e.remove({ id: `gtceu:shaped/${woodType}_slab_saw` }) + e.remove({ id: `everycomp:c/gtceu/${woodType}_slab_from_${woodType}_planks_stonecutting` }) + e.remove({ id: `gtceu:cutter/${woodType}_slab_water` }) + e.remove({ id: `gtceu:cutter/${woodType}_slab_distilled_water` }) + e.remove({ id: `gtceu:cutter/${woodType}_slab` }) + + // Забор + e.remove({ id: `gtceu:shaped/${woodType}_fence` }) + e.remove({ id: `gtceu:assembler/${woodType}_fence` }) + + // Нажимная плита + e.remove({ id: `gtceu:shaped/${woodType}_pressure_plate` }) + e.remove({ id: `gtceu:assembler/${woodType}_pressure_plate` }) + + // Люк + e.remove({ id: `gtceu:shaped/${woodType}_trapdoor_iron` }) + e.remove({ id: `gtceu:shaped/${woodType}_trapdoor_steel` }) + e.remove({ id: `gtceu:assembler/${woodType}_trapdoor_steel` }) + e.remove({ id: `gtceu:assembler/${woodType}_trapdoor_iron` }) + + // Кнопка + e.remove({ id: `gtceu:shaped/${woodType}_button` }) + e.remove({ id: `gtceu:cutter/${woodType}_button_distilled_water` }) + e.remove({ id: `gtceu:cutter/${woodType}_button_water` }) + e.remove({ id: `gtceu:cutter/${woodType}_button` }) + + // Дверь + e.remove({ id: `gtceu:shaped/${woodType}_door` }) + e.remove({ id: `gtceu:assembler/${woodType}_door` }) + + // Калитка + e.remove({ id: `gtceu:shaped/${woodType}_fence_gate` }) + e.remove({ id: `gtceu:shaped/${woodType}_fence_gate_screws` }) + e.remove({ id: `gtceu:assembler/${woodType}_fence_gate` }) + + // Табличка + e.remove({ id: `gtceu:shaped/${woodType}_sign_iron` }) + e.remove({ id: `gtceu:shaped/${woodType}_sign_steel` }) + e.remove({ id: `gtceu:assembler/${woodType}_sign_steel` }) + e.remove({ id: `gtceu:assembler/${woodType}_sign_iron` }) + + // Висящая табличка + e.remove({ id: `gtceu:shaped/${woodType}_hanging_sign` }) + e.remove({ id: `gtceu:shaped/${woodType}_hanging_sign_steel` }) + e.remove({ id: `gtceu:assembler/${woodType}_hanging_sign` }) + + // Лодка + e.remove({ id: `gtceu:shaped/${woodType}_boat` }) + e.remove({ id: `gtceu:assembler/${woodType}_boat` }) + + // Лодка с сундуком + e.remove({ id: `gtceu:shaped/${woodType}_chest_boat` }) + e.remove({ id: `gtceu:assembler/${woodType}_chest_boat` }) + }) + + // Креозот доски -> 2 палки + e.remove({ id: 'gtceu:shaped/treated_wood_stick' }) + + //#region Creosote-Treated Wood Planks -> Treated Wood Pulp + e.recipes.gtceu.macerator('tfg:treated_wood_dust') + .itemInputs('gtceu:treated_wood_planks') + .itemOutputs('gtceu:treated_wood_dust') + .EUt(4).duration(120) + //#endregion + + //#endregion + + //#region Рецепты MaterialInfo + + //#region Дерево + global.MINECRAFT_ALL_WOOD_TYPES.forEach(woodName => { + e.remove({ id: `gtceu:macerator/macerate_${woodName}_planks` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_stairs` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_slab` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_fence` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_fence_gate` }) + + e.remove({ id: `gtceu:arc_furnace/arc_${woodName}_door` }) + e.remove({ id: `gtceu:macerator/macerate_${woodName}_door` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_button` }) + + e.remove({ id: `gtceu:macerator/macerate_${woodName}_boat` }) + }) + + e.remove({ id: `gtceu:macerator/macerate_bamboo_raft` }) + //#endregion + + //#region Камень + + //#region Блок + // e.remove({ id: 'gtceu:alloy_smelter/alloy_smelt_stone_ingot_to_block' }) + // e.remove({ id: 'gtceu:extruder/extrude_stone_ingot_to_block' }) + //#endregion + + //#region Слитки + // e.remove({ id: 'gtceu:alloy_smelter/alloy_smelt_stone_to_ingot' }) + // e.remove({ id: 'gtceu:arc_furnace/arc_stone_block' }) + // e.remove({ id: 'gtceu:macerator/macerate_stone_block' }) + // e.remove({ id: 'gtceu:cutter/cut_stone_block_to_plate_water' }) + // e.remove({ id: 'gtceu:cutter/cut_stone_block_to_plate_distilled_water' }) + // e.remove({ id: 'gtceu:cutter/cut_stone_block_to_plate' }) + //#endregion + + //#region Стержни + e.remove({ id: 'gtceu:lathe/stone_rod_from_stone' }) + e.remove({ id: 'gtceu:lathe/stone_rod_from_cobblestone' }) + + // Из сырого камня + e.recipes.gtceu.lathe('tfg:stone_rod_from_stone') + .itemInputs('#tfc:rock/raw') + .itemOutputs('gtceu:stone_rod', '2x gtceu:small_stone_dust') + .EUt(7).duration(20) + + + // Из булыжника + e.recipes.gtceu.lathe('tfg:stone_rod_from_cobblestone') + .itemInputs('#forge:cobblestone') + .itemOutputs('gtceu:stone_rod', '2x gtceu:small_stone_dust') + .EUt(7).duration(20) + + //#endregion + + //#region Пыль + e.remove({ id: 'gtceu:macerator/macerate_stone_pressure_plate' }) + e.remove({ id: 'gtceu:macerator/gravel_to_flint' }) + e.remove({ id: 'gtceu:macerator/macerate_furnace_minecart' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_axe' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_sword' }) + e.remove({ id: 'gtceu:macerator/macerate_furnace' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_bricks' }) + e.remove({ id: 'gtceu:macerator/macerate_cobblestone' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_pickaxe' }) + e.remove({ id: 'gtceu:macerator/macerate_mossy_cobblestone' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_block' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_hoe' }) + e.remove({ id: 'gtceu:macerator/macerate_cobblestone_wall' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_shovel' }) + //#endregion + + //#region Средняя пыль + e.remove({ id: 'gtceu:macerator/macerate_stone_stairs' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_slab' }) + e.remove({ id: 'gtceu:macerator/macerate_cobblestone_slab' }) + e.remove({ id: 'gtceu:macerator/macerate_sandstone_stairs' }) + e.remove({ id: 'gtceu:macerator/macerate_red_sandstone_slab' }) + e.remove({ id: 'gtceu:macerator/macerate_red_sandstone_stairs' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_brick_stairs' }) + e.remove({ id: 'gtceu:macerator/macerate_stone_brick_slab' }) + e.remove({ id: 'gtceu:macerator/macerate_sandstone_slab' }) + // //#endregion + + //#region Маленькая пыль + e.remove({ id: 'gtceu:macerator/macerate_stone_button' }) + //#endregion + + //#endregion + + //#region Гранит + + //#region Пыль + e.remove({ id: 'gtceu:macerator/macerate_granite' }) + //#endregion + + //#endregion + + //#region Диорит + + //#region Пыль + e.remove({ id: 'gtceu:macerator/macerate_diorite' }) + //#endregion + + //#endregion + + //#region Андезит + + //#region Пыль + e.remove({ id: 'gtceu:macerator/macerate_andesite' }) + //#endregion + + //#endregion + + //#region Глубокий-Сланец + + //#region Пыль + e.remove({ id: 'gtceu:macerator/macerate_deepslate' }) + //#endregion + + //#endregion + + //#region Эндерняк + + //#region Пыль + e.remove({ id: 'gtceu:macerator/macerate_end_stone' }) + //#endregion + + //#endregion + + + + + + //#endregion + + //#region Железо + + //#region Самородок + + //#region Из каменной нажимной плиты + e.remove({ id: 'gtceu:arc_furnace/arc_stone_pressure_plate' }) + //#endregion + + //#region Из решеток + e.remove({ id: 'gtceu:arc_furnace/arc_iron_bars' }) + //#endregion + + //#region Из железной двери + e.remove({ id: 'gtceu:arc_furnace/arc_iron_door' }) + + e.recipes.gtceu.arc_furnace('tfg:arc_iron_door') + .itemInputs('minecraft:iron_door') + .itemOutputs('8x minecraft:iron_nugget') + .EUt(30).duration(140) + + //#endregion + + //#region Из контроллера примитивной доменной печи + e.remove({ id: 'gtceu:arc_furnace/arc_primitive_blast_furnace' }) + //#endregion + + //#endregion + + //#region Пыль + + //#region Из люка + e.remove({ id: 'gtceu:macerator/macerate_iron_trapdoor' }) + //#endregion + + //#region Из наковальни + e.remove({ id: 'gtceu:macerator/macerate_anvil' }) + //#endregion + + //#region Из поломанной наковальни + e.remove({ id: 'gtceu:macerator/macerate_chipped_anvil' }) + //#endregion + + //#region Из разрушенной наковальни + e.remove({ id: 'gtceu:macerator/macerate_damaged_anvil' }) + //#endregion + + //#endregion + + //#region Маленькая пыль + + //#region Из решеток + e.remove({ id: 'gtceu:macerator/macerate_iron_bars' }) + //#endregion + + //#endregion + + //#region Крошечная пыль + + //#region Из железной двери + e.remove({ id: 'gtceu:macerator/macerate_iron_door' }) + + e.recipes.gtceu.macerator('tfg:iron_door') + .itemInputs('minecraft:iron_door') + .itemOutputs('8x gtceu:tiny_iron_dust') + .EUt(8).duration(120) + //#endregion + + //#region Из контроллера примитивной доменной печи + e.remove({ id: 'gtceu:macerator/macerate_primitive_blast_furnace' }) + //#endregion + + //#endregion + + //#endregion + + //#region Сталь + + //#region Слиток + + //#region Из LV Machine Casing + e.remove({ id: 'gtceu:arc_furnace/arc_lv_machine_casing' }) + + e.recipes.gtceu.arc_furnace('tfg:arc_lv_machine_casing') + .itemInputs('gtceu:lv_machine_casing') + .itemOutputs('4x gtceu:red_steel_ingot') + .itemOutputs('4x gtceu:blue_steel_ingot') + .EUt(30).duration(140) + + //#endregion + + //#region Из LV Machine Hull + e.remove({ id: 'gtceu:arc_furnace/arc_lv_machine_hull' }) + + e.recipes.gtceu.arc_furnace('tfg:arc_lv_machine_hull') + .itemInputs('gtceu:lv_machine_hull') + .itemOutputs('4x gtceu:red_steel_ingot') + .itemOutputs('4x gtceu:blue_steel_ingot') + .itemOutputs('gtceu:tin_ingot') + .itemOutputs('gtceu:small_ash_dust') + .EUt(30).duration(140) + + //#endregion + + //#endregion + + //#region Пыль + + //#region Из LV Machine Casing + e.remove({ id: 'gtceu:macerator/macerate_lv_machine_casing' }) + + e.recipes.gtceu.macerator('tfg:macerate_lv_machine_casing') + .itemInputs('gtceu:lv_machine_casing') + .itemOutputs('4x gtceu:red_steel_dust') + .itemOutputs('4x gtceu:blue_steel_dust') + .EUt(30).duration(140) + //#endregion + + //#region Из LV Machine Hull + e.remove({ id: 'gtceu:macerator/macerate_lv_machine_hull' }) + + e.recipes.gtceu.macerator('tfg:macerate_lv_machine_hull') + .itemInputs('gtceu:lv_machine_hull') + .itemOutputs('4x gtceu:red_steel_dust') + .itemOutputs('4x gtceu:blue_steel_dust') + .itemOutputs('2x gtceu:rubber_dust') + .itemOutputs('gtceu:tin_dust') + .EUt(30).duration(140) + //#endregion + + //#endregion + + //#endregion + + //#region Кованное железо + + //#region Слиток + + //#region Из люка + e.remove({ id: 'gtceu:arc_furnace/arc_iron_trapdoor' }) + //#endregion + + //#region Из люка + e.remove({ id: 'gtceu:macerator/macerate_iron_trapdoor' }) + //#endregion + + //#region Из наковальни + e.remove({ id: 'gtceu:arc_furnace/arc_anvil' }) + //#endregion + + //#region Из поломанной наковальни + e.remove({ id: 'gtceu:arc_furnace/arc_chipped_anvil' }) + //#endregion + + //#region Из разрушенной наковальни + e.remove({ id: 'gtceu:arc_furnace/arc_damaged_anvil' }) + //#endregion + + //#endregion + + //#endregion + + //#region Мясо + + //#region Пыль мяса + + e.remove({ id: 'gtceu:macerator/macerate_chicken' }) + e.remove({ id: 'gtceu:macerator/macerate_steak' }) + e.remove({ id: 'gtceu:macerator/macerate_rabbit' }) + e.remove({ id: 'gtceu:macerator/macerate_mutton' }) + e.remove({ id: 'gtceu:macerator/macerate_pork_chop' }) + + e.recipes.gtceu.macerator('tfg:macerate_tfg_meat_to_dust') + .itemInputs('#tfc:foods/meats') + .itemOutputs('gtceu:meat_dust', 'gtceu:tiny_bone_dust') + .EUt(2).duration(120) + //#endregion + + //#endregion + + //#region Пшеница + e.remove({ id: 'gtceu:shapeless/wheat_to_dust' }) + e.shapeless('gtceu:wheat_dust', [ + '#forge:tools/mortars', + 'tfc:food/wheat', + ]).id('tfg:shaped/wheat_to_dust') + + e.remove({ id: 'gtceu:macerator/macerate_wheat' }) + e.recipes.gtceu.macerator('tfg:macerate_wheat') + .itemInputs('tfc:food/wheat') + .itemOutputs('gtceu:wheat_dust') + .EUt(2).duration(150) + + //#region Пыль + + //#endregion + + //#endregion + + //#region Огнеупорная Глина + e.remove({ id: 'gtceu:shapeless/fireclay_dust' }) + e.remove({ id: 'gtceu:macerator/macerate_compressed_fireclay' }) + e.remove({ id: 'gtceu:macerator/macerate_firebricks' }) + e.remove({ id: 'gtceu:macerator/macerate_firebrick' }) + + e.recipes.gtceu.macerator('tfg:macerate_firebrick') .itemInputs('tfc:ceramic/fire_brick') .itemOutputs('gtceu:fireclay_dust') - .duration(15) - .EUt(2) + .EUt(2).duration(15) - // Steel Steam Boiler - event.shaped('gtceu:hp_steam_solid_boiler', [ + //#endregion + + //#endregion + + //#region Рецепты примитивной помпы + e.remove('gtceu:shaped/pump_deck') + e.remove('gtceu:shaped/pump_hatch') + e.remove('gtceu:shaped/primitive_pump') + //#endregion + + //#region LV Casing + e.remove({ id: 'gtceu:shaped/casing_lv' }) + e.shaped('gtceu:lv_machine_casing', [ + 'ABA', + 'BwB', + 'ABA' + ], { + A: '#forge:plates/red_steel', + B: '#forge:plates/blue_steel', + w: '#forge:tools/wrenches', + }).id('tfg:shaped/lv_machine_casing') + + e.remove({ id: 'gtceu:assembler/casing_lv' }) + e.recipes.gtceu.assembler('tfg:casing_lv') + .itemInputs('4x #forge:plates/red_steel') + .itemInputs('4x #forge:plates/blue_steel') + .circuit(8) + .itemOutputs('gtceu:lv_machine_casing') + .EUt(16).duration(30) + //#endregion + + //#region LV Hull + e.remove({ id: 'gtceu:shaped/lv_machine_hull' }) + e.shaped('gtceu:lv_machine_hull', [ + 'ABC', + 'DED', + ], { + A: '#forge:plates/red_steel', + B: '#forge:plates/blue_steel', + C: '#forge:plates/black_steel', + D: 'gtceu:tin_single_cable', + E: 'gtceu:lv_machine_casing', + }).id('tfg:shaped/lv_machine_hull') + //#endregion + + //#region Бронзовая печь + e.remove({ id: 'gtceu:shaped/steam_furnace_bronze' }) + e.shaped('gtceu:lp_steam_furnace', [ + 'AAA', + 'ABA', + 'ACA' + ], { + A: 'gtceu:bronze_small_fluid_pipe', + B: 'gtceu:bronze_brick_casing', + C: '#forge:double_sheets/any_bronze', + }).id('tfg:shaped/steam_furnace_bronze') + //#endregion + + //#region Бронзовый сплавщик + e.remove({ id: 'gtceu:shaped/steam_alloy_smelter_bronze' }) + e.shaped('gtceu:lp_steam_alloy_smelter', [ + 'AAA', + 'ABA', + 'ACA' + ], { + A: 'gtceu:bronze_small_fluid_pipe', + B: 'gtceu:bronze_brick_casing', + C: '#forge:double_sheets/any_bronze', + }).id('tfg:shaped/steam_alloy_smelter_bronze') + //#endregion + + //#region Assembly Line Grating + e.remove({ id: 'gtceu:shaped/casing_grate_casing' }) + + e.shaped('2x gtceu:assembly_line_grating', [ + 'ABA', + 'ACA', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: '#forge:rotors/steel', + C: 'gtceu:steel_frame', + D: 'gtceu:mv_electric_motor' + }).id('tfg:workbench/casing_grate_casing') + //#endregion + + //#region Filter Casing + e.remove({ id: 'gtceu:shaped/filter_casing' }) + e.shaped('gtceu:filter_casing', [ + 'AAA', + 'BBB', + 'CDE' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:item_filter', + C: 'gtceu:mv_electric_motor', + D: 'gtceu:steel_frame', + E: '#forge:rotors/steel' + }).id('tfg:workbench/filter_casing') + //#endregion + + //#region Gas Collectors + e.remove({ id: 'gtceu:shaped/lv_gas_collector' }) + e.shaped('gtceu:lv_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:lv_electric_pump', + D: '#gtceu:circuits/lv', + E: 'gtceu:lv_machine_hull' + }).id('tfg:workbench/lv_gas_collector') + + e.remove({ id: 'gtceu:shaped/mv_gas_collector' }) + e.shaped('gtceu:mv_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:mv_electric_pump', + D: '#gtceu:circuits/mv', + E: 'gtceu:mv_machine_hull' + }).id('tfg:workbench/mv_gas_collector') + + e.remove({ id: 'gtceu:shaped/hv_gas_collector' }) + e.shaped('gtceu:hv_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:hv_electric_pump', + D: '#gtceu:circuits/hv', + E: 'gtceu:hv_machine_hull' + }).id('tfg:workbench/hv_gas_collector') + + e.remove({ id: 'gtceu:shaped/ev_gas_collector' }) + e.shaped('gtceu:ev_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:ev_electric_pump', + D: '#gtceu:circuits/ev', + E: 'gtceu:ev_machine_hull' + }).id('tfg:workbench/ev_gas_collector') + + e.remove({ id: 'gtceu:shaped/iv_gas_collector' }) + e.shaped('gtceu:iv_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:iv_electric_pump', + D: '#gtceu:circuits/iv', + E: 'gtceu:iv_machine_hull' + }).id('tfg:workbench/iv_gas_collector') + + e.remove({ id: 'gtceu:shaped/luv_gas_collector' }) + e.shaped('gtceu:luv_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:luv_electric_pump', + D: '#gtceu:circuits/luv', + E: 'gtceu:luv_machine_hull' + }).id('tfg:workbench/luv_gas_collector') + + e.remove({ id: 'gtceu:shaped/zpm_gas_collector' }) + e.shaped('gtceu:zpm_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:zpm_electric_pump', + D: '#gtceu:circuits/zpm', + E: 'gtceu:zpm_machine_hull' + }).id('tfg:workbench/zpm_gas_collector') + + e.remove({ id: 'gtceu:shaped/uv_gas_collector' }) + e.shaped('gtceu:uv_gas_collector', [ + 'ABA', + 'CEC', + 'ADA' + ], { + A: '#tfg:metal_bars', + B: 'gtceu:fluid_filter', + C: 'gtceu:uv_electric_pump', + D: '#gtceu:circuits/uv', + E: 'gtceu:uv_machine_hull' + }).id('tfg:workbench/uv_gas_collector') + + e.remove({ id: 'gtceu:shaped/uhv_gas_collector' }) + e.remove({ id: 'gtceu:shaped/uev_gas_collector' }) + e.remove({ id: 'gtceu:shaped/uiv_gas_collector' }) + e.remove({ id: 'gtceu:shaped/uxv_gas_collector' }) + e.remove({ id: 'gtceu:shaped/opv_gas_collector' }) + //#endregion + + //#region Forge Hammers + e.remove({ id: 'gtceu:shaped/steam_hammer_bronze' }) + e.shaped('gtceu:lp_steam_forge_hammer', [ + 'ABA', + 'ACA', + 'ADA' + ], { + A: 'gtceu:bronze_small_fluid_pipe', + B: '#forge:pistons', + C: 'gtceu:bronze_machine_casing', + D: '#tfg:tier_2_anvil', + }).id('tfg:shaped/steam_hammer_bronze') + + e.remove({ id: 'gtceu:shaped/lv_forge_hammer' }) + e.shaped('gtceu:lv_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:tin_single_cable', + B: 'gtceu:lv_electric_piston', + C: '#gtceu:circuits/lv', + D: 'gtceu:lv_machine_hull', + E: 'tfc:metal/anvil/steel', + }).id('tfg:shaped/lv_forge_hammer') + + e.remove({ id: 'gtceu:shaped/mv_forge_hammer' }) + e.shaped('gtceu:mv_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:copper_single_cable', + B: 'gtceu:mv_electric_piston', + C: '#gtceu:circuits/mv', + D: 'gtceu:mv_machine_hull', + E: 'tfc:metal/anvil/steel', + }).id('tfg:shaped/mv_forge_hammer') + + e.remove({ id: 'gtceu:shaped/hv_forge_hammer' }) + e.shaped('gtceu:hv_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:gold_single_cable', + B: 'gtceu:hv_electric_piston', + C: '#gtceu:circuits/hv', + D: 'gtceu:hv_machine_hull', + E: 'tfc:metal/anvil/steel', + }).id('tfg:shaped/hv_forge_hammer') + + e.remove({ id: 'gtceu:shaped/ev_forge_hammer' }) + e.shaped('gtceu:ev_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:aluminium_single_cable', + B: 'gtceu:ev_electric_piston', + C: '#gtceu:circuits/ev', + D: 'gtceu:ev_machine_hull', + E: 'tfc:metal/anvil/black_steel', + }).id('tfg:shaped/ev_forge_hammer') + + e.remove({ id: 'gtceu:shaped/iv_forge_hammer' }) + e.shaped('gtceu:iv_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:platinum_single_cable', + B: 'gtceu:iv_electric_piston', + C: '#gtceu:circuits/iv', + D: 'gtceu:iv_machine_hull', + E: 'tfc:metal/anvil/black_steel', + }).id('tfg:shaped/iv_forge_hammer') + + e.remove({ id: 'gtceu:shaped/luv_forge_hammer' }) + e.shaped('gtceu:luv_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:niobium_titanium_single_cable', + B: 'gtceu:luv_electric_piston', + C: '#gtceu:circuits/luv', + D: 'gtceu:luv_machine_hull', + E: 'tfc:metal/anvil/black_steel', + }).id('tfg:shaped/luv_forge_hammer') + + e.remove({ id: 'gtceu:shaped/zpm_forge_hammer' }) + e.shaped('gtceu:zpm_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:vanadium_gallium_single_cable', + B: 'gtceu:zpm_electric_piston', + C: '#gtceu:circuits/zpm', + D: 'gtceu:zpm_machine_hull', + E: '#tfg:tier_6_anvil', + }).id('tfg:shaped/zpm_forge_hammer') + + e.remove({ id: 'gtceu:shaped/uv_forge_hammer' }) + e.shaped('gtceu:uv_forge_hammer', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: 'gtceu:yttrium_barium_cuprate_single_cable', + B: 'gtceu:uv_electric_piston', + C: '#gtceu:circuits/uv', + D: 'gtceu:uv_machine_hull', + E: '#tfg:tier_6_anvil', + }).id('tfg:shaped/uv_forge_hammer') + + e.remove({ id: 'gtceu:shaped/uhv_forge_hammer' }) + e.remove({ id: 'gtceu:shaped/uev_forge_hammer' }) + e.remove({ id: 'gtceu:shaped/uiv_forge_hammer' }) + e.remove({ id: 'gtceu:shaped/uxv_forge_hammerr' }) + e.remove({ id: 'gtceu:shaped/opv_forge_hammer' }) + //#endregion + + //#region Удобрение + e.remove({ id: 'gtceu:mixer/fertilizer' }) + e.remove({ id: 'gtceu:create_mixer/fertilizer' }) + + e.recipes.gtceu.mixer('tfg:fertilizer') + .itemInputs( + '#tfc:dirt', + '2x #forge:dusts/wood', + '4x #forge:sand' + ) + .circuit(1) + .inputFluids(Fluid.of('minecraft:water', 1000)) + .itemOutputs('4x gtceu:fertilizer') + .EUt(30).duration(300) + + //#endregion + + //#region TODO: ДЕКРАФТ ЭНД КАМНЯ В ГОВНО + // TODO: Из пыли лунного грунта + e.remove({ id: 'gtceu:centrifuge/endstone_separation' }) + + /* + e.recipes.gtceu.centrifuge('endstone_separation') + .itemInputs('') + .chancedOutput('tfc:sand/yellow', 9000, 300) + .chancedOutput('gtceu:tungstate_small_dust', 1250, 450) + .chancedOutput('gtceu:tiny_platinum_dust', 630, 150) + .outputFluids(Fluid.of('gtceu:helium', 2000)) + .duration(250) + .EUt(30)*/ + + //#endregion + + //#region TODO: Времененный рецепт Nether Air -> End Air + e.recipes.gtceu.electrolyzer('tfg:gtceu/liquid_nether_air_to_liquid_ender_air') + .itemInputs('#forge:dusts/netherrack') + .inputFluids(Fluid.of('gtceu:liquid_nether_air', 1000)) + .outputFluids(Fluid.of('gtceu:liquid_ender_air', 250)) + .EUt(512).duration(1250) + //#endregion + + //#region Кварцевый песок + e.remove({ id: 'gtceu:shaped/quartz_sand' }) + e.shaped('gtceu:quartz_sand_dust', [ + 'A', + 'B' + ], { + A: '#forge:sand', + B: '#forge:tools/mortars' + }).id('tfg:shaped/quartz_sand') + + e.remove({ id: 'gtceu:macerator/quartz_sand_from_sand' }) + e.recipes.gtceu.macerator('tfg:quartz_sand_from_sand') + .itemInputs('#forge:sand') + .itemOutputs('gtceu:quartz_sand_dust') + .EUt(2).duration(30) + //#endregion + + //#region Диоксид силикона + e.remove({ id: 'gtceu:electrolyzer/sand_electrolysis' }) + e.recipes.gtceu.electrolyzer('tfg:sand_electrolysis') + .itemInputs('8x #forge:sand') + .itemOutputs('gtceu:silicon_dioxide_dust') + .EUt(25).duration(500) + //#endregion + + //#region Соленая пыль + Вода + + // Декрафт в центрифуге + e.recipes.gtceu.centrifuge('tfg:centrifuging_tfc_salt_water') + .inputFluids(Fluid.of('tfc:salt_water', 1000)) + .itemOutputs('1x gtceu:salt_dust') + .outputFluids(Fluid.of('minecraft:water', 1000)) + .duration(51) + .EUt(30) + + // Декрафт в электролайзере + e.recipes.gtceu.electrolyzer('tfg:electrolyze_tfc_salt_water') + .inputFluids(Fluid.of('tfc:salt_water', 1000)) + .itemOutputs('1x gtceu:sodium_hydroxide_dust', '2x gtceu:small_sodium_hydroxide_dust') + .outputFluids(Fluid.of('gtceu:chlorine', 500), Fluid.of('gtceu:hydrogen', 500)) + .duration(720) + .EUt(30) + + //#endregion + + //#region Сырая резиновая пыль + + // Из бревна капока + e.remove({ id: 'gtceu:extractor/raw_rubber_from_log' }) + e.recipes.gtceu.extractor('tfg:raw_rubber_from_log') + .itemInputs('#tfc:kapok_logs') + .itemOutputs('gtceu:raw_rubber_dust') + .EUt(2).duration(300) + + // Из саженца капока + e.remove({ id: 'gtceu:extractor/raw_rubber_from_sapling' }) + e.recipes.gtceu.extractor('tfg:raw_rubber_from_sapling') + .itemInputs('tfc:wood/sapling/kapok') + .itemOutputs('gtceu:raw_rubber_dust') + .EUt(2).duration(300) + + // Из листвы капока + e.remove({ id: 'gtceu:extractor/raw_rubber_from_leaves' }) + e.recipes.gtceu.extractor('tfg:raw_rubber_from_leaves') + .itemInputs('16x tfc:wood/leaves/kapok') + .itemOutputs('gtceu:raw_rubber_dust') + .EUt(2).duration(300) + //#endregion + + //#region Пропитанные доски + e.remove({ id: 'gtceu:shaped/treated_wood_planks' }) + + e.recipes.tfc.barrel_sealed(4000) + .outputItem('gtceu:treated_wood_planks') + .inputs('#minecraft:planks', TFC.fluidStackIngredient('#forge:creosote', 100)) + .id('tfg:barrel/treated_wood_planks') + //#endregion + + //#region Капля резины + + // Из латекса + e.recipes.tfc.pot('tfc:powder/sulfur', Fluid.of('tfg:latex', 1000), 5000, 300) + .itemOutput('gtceu:sticky_resin') + .id('tfg:pot/sticky_resin') + + // Из бревна капока + e.remove({ id: 'gtceu:centrifuge/rubber_log_separation' }) + e.recipes.gtceu.centrifuge('tfg:rubber_log_separation') + .itemInputs('#tfc:kapok_logs') + .chancedOutput('gtceu:sticky_resin', 5000, 1200) + .chancedOutput('gtceu:plant_ball', 3750, 900) + .chancedOutput('gtceu:carbon_dust', 2500, 600) + .chancedOutput('gtceu:wood_dust', 2500, 700) + .outputFluids(Fluid.of('gtceu:methane', 60)) + .EUt(20).duration(200) + //#endregion + + //#region Растительный шарик + + //#region В компрессоре + e.remove({ id: 'gtceu:compressor/plant_ball_from_wheat' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_beetroot' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_red_mushroom' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_nether_wart' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_bubble_coral' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_potato' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_brain_coral' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_warped_stem' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_brown_mushroom' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_horn_coral' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_cactus' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_crimson_stem' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_sugar_cane' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_moss' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_carrot' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_fire_coral' }) + e.remove({ id: 'gtceu:compressor/plant_ball_from_tube_coral' }) + + e.recipes.gtceu.compressor('tfg:plant_ball_from_tfc_seeds') + .itemInputs('8x #tfc:seeds') + .itemOutputs('gtceu:plant_ball') + .EUt(2).duration(300) + + e.recipes.gtceu.compressor('tfg:plant_ball_from_tfc_food') + .itemInputs('8x #tfc:foods') + .itemOutputs('gtceu:plant_ball') + .EUt(2).duration(300) + + e.recipes.gtceu.compressor('tfg:plant_ball_from_tfc_plants') + .itemInputs('8x #tfc:plants') + .itemOutputs('gtceu:plant_ball') + .EUt(2).duration(300) + + e.recipes.gtceu.compressor('tfg:plant_ball_from_tfc_corals') + .itemInputs('8x #tfc:corals') + .itemOutputs('gtceu:plant_ball') + .EUt(2).duration(300) + + //#endregion + + //#region В центрифуге + + // Из земли + e.recipes.gtceu.centrifuge('tfg:dirt_separation') + .itemInputs('#tfc:dirt') + .chancedOutput('gtceu:plant_ball', 1250, 700) + .chancedOutput('tfc:sand/yellow', 5000, 500) + .chancedOutput('gtceu:clay_dust', 450, 100) + .EUt(302).duration(150) + + + // Из земли с травой + e.recipes.gtceu.centrifuge('tfg:grass_block_separation') + .itemInputs('#tfc:grass') + .chancedOutput('gtceu:plant_ball', 3000, 700) + .chancedOutput('tfc:sand/yellow', 5000, 500) + .chancedOutput('gtceu:clay_dust', 450, 100) + .EUt(302).duration(150) + + //#endregion + + //#endregion + + //#region Биомасса + e.remove({ id: 'gtceu:brewery/biomass_from_sugar_cane' }) + e.remove({ id: 'gtceu:brewery/biomass_from_red_mushroom' }) + e.remove({ id: 'gtceu:brewery/biomass_from_potato' }) + e.remove({ id: 'gtceu:brewery/biomass_from_carrot' }) + e.remove({ id: 'gtceu:brewery/biomass_from_cactus' }) + e.remove({ id: 'gtceu:brewery/biomass_from_brown_mushroom' }) + e.remove({ id: 'gtceu:brewery/biomass_from_beetroot' }) + + e.recipes.gtceu.brewery('tfg:biomass_from_tfc_seeds') + .itemInputs('#tfc:seeds') + .inputFluids(Fluid.of('minecraft:water', 20)) + .outputFluids(Fluid.of('gtceu:biomass', 20)) + .EUt(3).duration(128) + + + e.recipes.gtceu.brewery('tfg:biomass_from_tfc_food') + .itemInputs('#tfc:foods') + .inputFluids(Fluid.of('minecraft:water', 20)) + .outputFluids(Fluid.of('gtceu:biomass', 20)) + .EUt(3).duration(128) + + + e.recipes.gtceu.brewery('tfg:biomass_from_tfc_plants') + .itemInputs('#tfc:plants') + .inputFluids(Fluid.of('minecraft:water', 20)) + .outputFluids(Fluid.of('gtceu:biomass', 20)) + .EUt(3).duration(128) + + + e.recipes.gtceu.brewery('tfg:biomass_from_tfc_corals') + .itemInputs('#tfc:corals') + .inputFluids(Fluid.of('minecraft:water', 20)) + .outputFluids(Fluid.of('gtceu:biomass', 20)) + .EUt(3).duration(128) + + //#endregion + + //#region Рыбье масло + e.remove({ id: 'gtceu:extractor/fish_oil_from_tropical_fish' }) + e.remove({ id: 'gtceu:extractor/fish_oil_from_salmon' }) + e.remove({ id: 'gtceu:extractor/fish_oil_from_pufferfish' }) + e.remove({ id: 'gtceu:extractor/fish_oil_from_cod' }) + + e.recipes.gtceu.extractor(`tfg:fish_oil`) + .itemInputs('#minecraft:fishes') + .outputFluids(Fluid.of('gtceu:fish_oil', 40)) + .EUt(4).duration(16) + //#endregion + + //#region Семянное масло + e.remove({ id: 'gtceu:extractor/seed_oil_from_wheat_seeds' }) + e.remove({ id: 'gtceu:extractor/seed_oil_from_pumpkin' }) + e.remove({ id: 'gtceu:extractor/seed_oil_from_melon' }) + e.remove({ id: 'gtceu:extractor/seed_oil_from_beetroot' }) + e.remove({ id: 'gtceu:extractor/seed_oil_from_torchflower' }) + + e.recipes.gtceu.extractor(`tfg:seed_oil`) + .itemInputs('#tfc:seeds') + .outputFluids(Fluid.of('gtceu:seed_oil', 16)) + .EUt(2).duration(32) + //#endregion + + //#region Пыль бетона + e.remove({ id: 'gtceu:mixer/concrete_from_marble' }) + e.recipes.gtceu.mixer('tfg:concrete_from_marble') + .itemInputs('2x #tfg:stone_dusts', 'gtceu:marble_dust', 'gtceu:gypsum_dust') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('gtceu:concrete', 1152)) + .EUt(16).duration(40) + + e.remove({ id: 'gtceu:mixer/concrete_from_clay' }) + e.recipes.gtceu.mixer('tfg:concrete_from_clay') + .itemInputs('3x #tfg:stone_dusts', 'gtceu:clay_dust') + .inputFluids(Fluid.of('minecraft:water', 500)) + .outputFluids(Fluid.of('gtceu:concrete', 576)) + .EUt(16).duration(20) + + e.remove({ id: 'gtceu:mixer/concrete_from_calcite' }) + e.recipes.gtceu.mixer('tfg:concrete_from_calcite') + .itemInputs('3x #tfg:stone_dusts', 'gtceu:calcite_dust', 'gtceu:gypsum_dust') + .inputFluids(Fluid.of('minecraft:water', 1000)) + .outputFluids(Fluid.of('gtceu:concrete', 1152)) + .EUt(16).duration(40) + //#endregion + + //#region Бурильная жидкость + e.remove({ id: 'gtceu:mixer/drilling_fluid' }) + e.recipes.gtceu.mixer('tfg:drilling_fluid') + .itemInputs('2x #tfg:stone_dusts') + .inputFluids(Fluid.of('gtceu:lubricant', 20), Fluid.of('minecraft:water', 4000)) + .outputFluids(Fluid.of('gtceu:drilling_fluid', 5000)) + .EUt(16).duration(65) + + e.remove({ id: 'gtceu:mixer/drilling_fluid_distilled' }) + e.recipes.gtceu.mixer('tfg:drilling_fluid_distilled') + .itemInputs('2x #tfg:stone_dusts') + .inputFluids(Fluid.of('gtceu:lubricant', 20), Fluid.of('gtceu:distilled_water', 4000)) + .outputFluids(Fluid.of('gtceu:drilling_fluid', 5000)) + .EUt(16).duration(65) + //#endregion + + //#region Бумажная пыль + e.remove({ id: 'gtceu:shaped/paper_dust' }) + + e.shaped('2x gtceu:paper_dust', [ + 'AAA', + ' B ' + ], { + A: 'tfc:unrefined_paper', + B: '#forge:tools/mortars' + }).id('tfg:shaped/paper_dust_from_papyrus') + //#endregion + + //#region Метан + e.remove({ id: 'gtceu:centrifuge/red_mushroom_separation' }) + e.remove({ id: 'gtceu:centrifuge/brown_mushroom_separation' }) + //#endregion + + //#region Пыль какао-бобов + e.remove({ id: 'gtceu:macerator/macerate_cocoa' }) + e.recipes.gtceu.assembler('tfg:macerate_cocoa') + .itemInputs('firmalife:food/cocoa_beans') + .itemOutputs('gtceu:cocoa_dust') + .EUt(2).duration(400) + //#endregion + + //#region Коксовая печь + + //#region Контроллер + e.remove({ id: 'gtceu:shaped/coke_oven' }) + e.shaped('gtceu:coke_oven', [ + 'ABA', + 'BCB', + 'ABA' + ], { + A: 'gtceu:coke_oven_bricks', + B: '#tfg:all_iron_plates', + C: '#forge:tools/wrenches' + }).id('tfg:shaped/coke_oven') + //#endregion + + //#region Люк + e.remove({ id: 'gtceu:shaped/coke_oven_hatch' }) + e.shaped('gtceu:coke_oven_hatch', [ + 'ABC' + ], { + A: 'gtceu:coke_oven_bricks', + B: '#tfc:barrels', + C: '#forge:chests/wooden' + }).id('tfg:shaped/coke_oven_hatch') + //#endregion + + //#endregion + + //#region Одноблочный бронзовый бойлер + e.remove({ id: 'gtceu:shaped/steam_boiler_coal_bronze' }) + + e.shaped('gtceu:lp_steam_solid_boiler', [ + 'AAA', + 'ACA', + 'BDB' + ], { + A: '#forge:plates/bronze', + B: 'minecraft:bricks', + C: '#forge:tools/wrenches', + D: 'tfc:blast_furnace' + }).id('tfg:shaped/steam_boiler_coal_bronze') + //#endregion + + //#region Одноблочный стальной бойлер + e.remove({ id: 'gtceu:shaped/steam_boiler_coal_steel' }) + + e.shaped('gtceu:hp_steam_solid_boiler', [ 'AAA', 'ACA', 'BDB' @@ -1143,10 +2003,96 @@ const registerGTCEURecipes = (event) => { B: 'minecraft:bricks', C: '#forge:tools/wrenches', D: 'tfc:blast_furnace' - }).id('gtceu:shaped/steam_boiler_coal_steel') + }).id('tfg:shaped/steam_boiler_coal_steel') + //#endregion - // Multi-Smelter - event.shaped('gtceu:multi_smelter', [ + //#region Стеклянная трубка + e.recipes.tfc.glassworking('gtceu:glass_tube', '#tfc:glass_batches_tier_3', ['blow', 'stretch', 'stretch']) + .id('tfg:glassworking/glass_tube') + //#endregion + + //#region Контроллер притивной доменной печи + e.remove({ id: 'gtceu:shaped/bronze_primitive_blast_furnace' }) + //#endregion + + //#region Крышка на бесконечную воду + e.remove('gtceu:assembler/cover_infinite_water') + //#endregion + + //#region Бесконечный резервуар с водой + e.remove('gtceu:assembler/reservoir_hatch') + //#endregion + + //#region Бочка + e.remove({ id: 'gtceu:shaped/wooden_barrel' }) + e.shaped('gtceu:wood_drum', [ + 'mAs', + 'BCB', + 'BDB' + ], { + A: 'gtceu:sticky_resin', + B: '#minecraft:planks', + C: '#tfc:barrels', + D: '#tfg:all_long_iron_rods', + m: '#forge:tools/mallets', + s: '#forge:tools/saws', + }).id('tfg:workbench/wood_drum') + + e.remove({ id: 'gtceu:assembler/wood_barrel' }) + e.recipes.gtceu.assembler('tfg:wood_barrel') + .itemInputs('2x #tfg:all_long_iron_rods', '5x #minecraft:planks') + .itemOutputs('gtceu:wood_drum') + .EUt(16).duration(100) + //#endregion + + //#region Пыль звезды незера + // TODO: Нужно ли удалять? + e.recipes.gtceu.chemical_reactor('tfg:small_nether_star_dust') + .itemInputs('2x #forge:dusts/iridium', '#forge:dusts/diamond') + .circuit(10) + .itemOutputs('gtceu:small_nether_star_dust') + .inputFluids(Fluid.of('gtceu:sulfur_dioxide', 6000), Fluid.of('gtceu:carbon_monoxide', 8000)) + .EUt(2720).duration(700) + //#endregion + + //#region Пустая деревянная форма + e.remove({ id: 'gtceu:shaped/plank_to_wooden_shape' }) + + e.shaped('gtceu:empty_wooden_form', [ + 'AAA', + ' sA' + ], { + A: '#tfc:lumber', + s: '#forge:tools/saws' + }).id('tfg:shaped/plank_to_wooden_shape') + //#endregion + + //#region Деревянная шестерня + e.remove({ id: 'gtceu:shaped/gear_wood' }) + + e.shaped('gtceu:wood_gear', [ + ' A ', + 'ABA', + ' A ' + ], { + A: '#forge:rods/wooden', + B: '#forge:tools/wrenches' + }).id('tfg:shaped/gear_wood') + //#endregion + + //#region Sticky Resin + e.recipes.gtceu.fluid_solidifier('tfg:latex_heating') + .itemInputs('#forge:dusts/sulfur') + .inputFluids(Fluid.of('tfg:latex', 1000)) + .itemOutputs('gtceu:sticky_resin') + .duration(480) + .EUt(7) + //#endregion + + //#region Multi-Smelter Controller + e.remove({ id: 'gtceu:shaped/multi_furnace' }) + + e.shaped('gtceu:multi_smelter', [ 'AAA', 'BCB', 'DBD' @@ -1155,10 +2101,13 @@ const registerGTCEURecipes = (event) => { B: '#gtceu:circuits/hv', C: 'gtceu:heatproof_machine_casing', D: 'gtceu:copper_single_cable' - }).id('gtceu:shaped/multi_furnace') + }).id('tfg:shaped/multi_furnace') + //#endregion - // Electric Blast Furnace - event.shaped('gtceu:electric_blast_furnace', [ + //#region Electric Blast Furnace + e.remove({ id: 'gtceu:shaped/electric_blast_furnace' }) + + e.shaped('gtceu:electric_blast_furnace', [ 'AAA', 'BCB', 'DBD' @@ -1167,294 +2116,84 @@ const registerGTCEURecipes = (event) => { B: '#gtceu:circuits/lv', C: 'gtceu:heatproof_machine_casing', D: 'gtceu:tin_single_cable' - }).id('gtceu:shaped/electric_blast_furnace') + }).id('tfg:shaped/electric_blast_furnace') + //#endregion - // Клей из ТФК клея - event.recipes.gtceu.centrifuge('glue_from_tfc_glue') + //#region GTM клей из TFC клея + e.recipes.gtceu.centrifuge('tfg:glue_from_tfc_glue') .itemInputs('tfc:glue') .outputFluids(Fluid.of('gtceu:glue', 50)) - .duration(400) - .EUt(5) - - // Исправление рецепта пыли серебра стерлинга - generateMixerRecipe(event, ['#forge:dusts/copper', '4x #forge:dusts/silver'], [], '5x gtceu:sterling_silver_dust', 1, [], 500, 24, 64, 'sterling_silver') - - // Исправление рецепта пыли розовой бронзы - generateMixerRecipe(event, ['#forge:dusts/copper', '4x #forge:dusts/gold'], [], '5x gtceu:rose_gold_dust', 3, [], 500, 24, 64, 'rose_gold') - + .EUt(5).duration(400) + //#endregion + //#region Рецепт ULV микросхемы + e.remove({ id: 'gtceu:shaped/vacuum_tube' }) - event.remove({ id: 'gtceu:shaped/vacuum_tube' }) - - event.recipes.createSequencedAssembly([ + e.recipes.createSequencedAssembly([ 'gtceu:vacuum_tube', ], '#forge:plates/wrought_iron', [ - event.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', '#forge:bolts/steel']), - event.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', 'gtceu:glass_tube']), - event.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', 'gtceu:copper_single_wire']), - ]).transitionalItem('tfg:unfinished_vacuum_tube').loops(2).id('tfg:gtceu/sequenced_assembly/vacuum_tube') - + e.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', '#forge:bolts/steel']), + e.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', 'gtceu:glass_tube']), + e.recipes.createDeploying('tfg:unfinished_vacuum_tube', ['tfg:unfinished_vacuum_tube', 'gtceu:copper_single_wire']), + ]).transitionalItem('tfg:unfinished_vacuum_tube').loops(2).id('tfg:sequenced_assembly/vacuum_tube') //#endregion //#region Рецепт LV микросхемы + e.remove({ id: 'gtceu:shaped/electronic_circuit_lv' }) - event.remove({ id: 'gtceu:shaped/electronic_circuit_lv' }) - - event.recipes.createSequencedAssembly([ + e.recipes.createSequencedAssembly([ 'gtceu:basic_electronic_circuit', ], 'gtceu:resin_printed_circuit_board', [ - event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', '#forge:plates/steel']), - event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:resistor']), - event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:vacuum_tube']), - event.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:red_alloy_single_cable']), - ]).transitionalItem('tfg:unfinished_basic_electronic_circuit').loops(2).id('tfg:gtceu/sequenced_assembly/basic_electronic_circuit') - + e.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', '#forge:plates/steel']), + e.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:resistor']), + e.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:vacuum_tube']), + e.recipes.createDeploying('tfg:unfinished_basic_electronic_circuit', ['tfg:unfinished_basic_electronic_circuit', 'gtceu:red_alloy_single_cable']), + ]).transitionalItem('tfg:unfinished_basic_electronic_circuit').loops(2).id('tfg:sequenced_assembly/basic_electronic_circuit') //#endregion - - //#region Рецепты электрического генератора - event.recipes.gtceu.alternator('32_rpm_to_32_eu') - .inputStress(256) - .circuit(0) - .rpm(32) - .duration(2) - .EUt(-32) + //#region Compressed Coke Clay + e.remove({ id: 'gtceu:shaped/compressed_coke_clay' }) - event.recipes.gtceu.alternator('64_rpm_to_48_eu') - .inputStress(256) - .circuit(1) - .rpm(64) - .duration(2) - .EUt(-48) + e.shaped('3x gtceu:compressed_coke_clay', [ + 'AAA', + 'BCB', + 'BBB' + ], { + A: 'minecraft:clay_ball', + B: '#minecraft:sand', + C: 'gtceu:brick_wooden_form' + }) + .replaceIngredient('gtceu:brick_wooden_form', 'gtceu:brick_wooden_form') + .id('tfg:shaped/compressed_coke_clay') + //#endregion - event.recipes.gtceu.alternator('128_rpm_to_64_eu') - .inputStress(256) - .circuit(2) - .rpm(128) - .duration(2) - .EUt(-64) - - event.recipes.gtceu.alternator('256_rpm_to_96_eu') - .inputStress(256) - .circuit(3) - .rpm(256) - .duration(2) - .EUt(-96) + //#region Compressed Coke Clay -> Coke Oven Brick + e.recipes.tfc.heating('gtceu:compressed_coke_clay', 1399) + .resultItem('gtceu:coke_oven_brick') + .id('tfg:heating/coke_oven_bricks') + //#endregion + //#region Огнеупорные кирпичи (предмет) + e.remove({ id: 'gtceu:smelting/fireclay_brick' }) + e.remove({ id: 'gtceu:extractor/extract_primitive_bricks' }) //#endregion - //#region Выход: Фикс выработки пара на ведре лавы - - //event.remove({ id: 'minecraft:large_boiler/lava_bucket' }) - //event.recipes.gtceu.large_boiler('lava_bucket') - // .itemInputs('minecraft:lava_bucket') - // .duration(25) - + //#region Огнеупорные кирпичи (блок) + e.remove({ id: 'gtceu:shaped_fluid_container/casing_primitive_bricks' }) //#endregion - //#region Long Distance Pipelines - - event.remove({ id: 'gtceu:assembler/long_distance_item_pipe' }) - event.recipes.gtceu.assembler('long_distance_item_pipe') - .itemInputs( - '1x gtceu:tin_large_item_pipe', - '4x #forge:plates/steel') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 144 / 4)) - .itemOutputs('32x gtceu:long_distance_item_pipeline') - .circuit(2) - .duration(300) - .EUt(24) - - event.remove({ id: 'gtceu:assembler/long_distance_fluid_pipe' }) - event.recipes.gtceu.assembler('long_distance_fluid_pipe') - .itemInputs( - '1x gtceu:bronze_large_fluid_pipe', - '4x #forge:plates/steel') - .inputFluids(Fluid.of('gtceu:soldering_alloy', 144 / 4)) - .itemOutputs('32x gtceu:long_distance_fluid_pipeline') - .circuit(2) - .duration(300) - .EUt(24) - + //#region Уплотненная огнеупорная глина + e.remove({ id: 'gtceu:compressor/compressed_fireclay' }) //#endregion - //#region Рецепты, которые итерируются по всем материалам + //#region Кальцитовая пыль + e.remove({ id: 'gtceu:macerator/macerate_calcite' }) + //#endregion - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { - //#region Рецепты инструментов - - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { - global.GTCEU_ANVIL_TOOL_TYPES.forEach(toolType => { - let toolStack = ToolHelper.get(toolType, material) + //#region TODO: Не работает из-за магического бага / Вырезка из резины - event.recipes.tfc.advanced_shaped_crafting(TFC.itemStackProvider.of(toolStack).copyForgingBonus(), [ - 'A', - 'B' - ], { - A: `gtceu:${material.getName()}_${toolType.name}_head`, - B: '#forge:rods/wooden' - }, 0, 0).id(`gtceu:shaped/${toolType.name}_${material.getName()}`) - - }) - } - - //#endregion - - if (material.hasProperty(PropertyKey.ORE)) - { - let poorRawStack = ChemicalHelper.get(TFGTagPrefix.poorRawOre, material, 1) - let normalRawStack = ChemicalHelper.get(TagPrefix.rawOre, material, 1) - let richRawStack = ChemicalHelper.get(TFGTagPrefix.richRawOre, material, 1) - - let crushedOreStack = ChemicalHelper.get(TagPrefix.crushed, material, 1) - let purifiedOreStack = ChemicalHelper.get(TagPrefix.crushedPurified, material, 1) - let impureDustStack = ChemicalHelper.get(TagPrefix.dustImpure, material, 1) - let pureDustStack = ChemicalHelper.get(TagPrefix.dustPure, material, 1) - let dustStack = ChemicalHelper.get(TagPrefix.dust, material, 1) - - // Бедная сырая руда -> Дробленная руда + Дробленная руда (30%) - event.recipes.createCrushing(crushedOreStack.withChance(0.75), poorRawStack) - .processingTime(200) - .id(`tfg:crushing/${material.getName()}_crushed_ore_from_poor_raw_ore`) - - // Нормальная сырая руда -> Дробленная руда + Дробленная руда (30%) - event.recipes.createCrushing([crushedOreStack, crushedOreStack.withChance(0.2)], normalRawStack) - .processingTime(200) - .id(`tfg:crushing/${material.getName()}_crushed_ore_from_normal_raw_ore`) - - // Богатая сырая руда -> Дробленная руда + Дробленная руда (30%) - event.recipes.createCrushing([crushedOreStack, crushedOreStack, crushedOreStack.withChance(0.2)], richRawStack) - .processingTime(200) - .id(`tfg:crushing/${material.getName()}_crushed_ore_from_rich_raw_ore`) - - // Грязная пыль -> Пыль (90%) - event.recipes.createSplashing(dustStack.withChance(0.9), impureDustStack) - .id(`tfg:splashing/${material.getName()}_dust_from_impure`) - - // Очищенная пыль -> Пыль (90%) - event.recipes.createSplashing(dustStack.withChance(0.9), pureDustStack) - .id(`tfg:splashing/${material.getName()}_dust_from_pure`) - - // Дробленная руда -> Очищенная руда (90%) - event.recipes.createSplashing(purifiedOreStack.withChance(0.9), crushedOreStack) - .id(`tfg:splashing/${material.getName()}_purified_ore`) - - // Грязная пыль -> Пыль - event.custom({ - type: "ae2:transform", - circumstance: { - type: "fluid", - tag: "minecraft:water" - }, - ingredients: [ - impureDustStack.toJson() - ], - result: dustStack.toJson() - }).id(`tfg:ae_transform/${material.getName()}_dust_from_impure`) - - // Очищенная пыль -> Пыль - event.custom({ - type: "ae2:transform", - circumstance: { - type: "fluid", - tag: "minecraft:water" - }, - ingredients: [ - pureDustStack.toJson() - ], - result: dustStack.toJson() - }).id(`tfg:ae_transform/${material.getName()}_dust_from_pure`) - - // Дробленная руда -> Очищенная руда - event.custom({ - type: "ae2:transform", - circumstance: { - type: "fluid", - tag: "minecraft:water" - }, - ingredients: [ - crushedOreStack.toJson() - ], - result: purifiedOreStack.toJson() - }).id(`tfg:ae_transform/${material.getName()}_purified_ore`) - } - - let ingotStack = ChemicalHelper.get(TagPrefix.ingot, material, 1) - - if (material.hasFlag(MaterialFlags.GENERATE_PLATE) && material != GTMaterials.Wood && material != GTMaterials.TreatedWood && !material.hasProperty(PropertyKey.POLYMER)) - { - let plateStack = ChemicalHelper.get(TagPrefix.plate, material, 1) - let blockStack = ChemicalHelper.get(TagPrefix.block, material, 1) - - let matAmount = TagPrefix.block.getMaterialAmount(material) / GTValues.M; - - if (material.hasProperty(PropertyKey.INGOT)) - { - if (!plateStack.isEmpty()) { - // Слиток -> Стержень - event.recipes.createPressing(plateStack.withChance(0.8), ingotStack) - .id(`tfg:pressing/${material.getName()}_plate`) - - if (!blockStack.isEmpty()) { - // 9х Слиток -> Блок - event.recipes.createCompacting(blockStack, ingotStack.withCount(matAmount)) - .heated() - .id(`tfg:compacting/${material.getName()}_block`) - } - } - - - } - else - { - if (!blockStack.isEmpty()) { - // Блок из гемов -> 9 Пластин - event.recipes.createCutting(Item.of(plateStack.withCount(matAmount)).withChance(0.65), `#forge:storage_blocks/${material.getName()}`) - .id(`tfg:cutting/${material.getName()}_plate`) - } - - } - } - - // Прокатка стержней - if (material.hasFlag(MaterialFlags.GENERATE_ROD) && material != GTMaterials.Wood) - { - let rodStack = ChemicalHelper.get(TagPrefix.rod, material, 2) - - if (!ingotStack.isEmpty() && !rodStack.isEmpty()) { - - event.custom({ - type: "createaddition:rolling", - input: ingotStack.toJson(), - result: rodStack.toJson() - }).id(`tfg:rolling/${material.getName()}_rod`) - - } - - - } - - - let gemStack = ChemicalHelper.get(TagPrefix.gem, material, 1) - let dustStack = ChemicalHelper.get(TagPrefix.dust, material, 1) - - if (!dustStack.isEmpty()) { - - if (!ingotStack.isEmpty()) { - event.recipes.createCrushing(dustStack, ingotStack) - .processingTime(250) - .id(`tfg:crushing/${material.getName()}_dust`) - } - - if (!gemStack.isEmpty()) { - event.recipes.createMilling(dustStack, gemStack) - .processingTime(200) - .id(`tfg:milling/${material.getName()}_dust`) - } - - } - - }); + // e.recipes.tfc.knapping('gtceu:rubber_ring', 'tfg:rubber', ['XXX', 'X X', 'XXX']) + // .ingredient('gtceu:rubber_plate') //#endregion -} +} \ No newline at end of file diff --git a/kubejs/server_scripts/gregtech/tags.js b/kubejs/server_scripts/gregtech/tags.js index 232b68b32..c7cc3c974 100644 --- a/kubejs/server_scripts/gregtech/tags.js +++ b/kubejs/server_scripts/gregtech/tags.js @@ -1,21 +1,50 @@ // priority: 0 -const registerGTCEUItemTags = (event) => { +const registerGregTechItemTags = (event) => { - // Удаление тегов у отключенных предметов - global.GTCEU_DISABLED_ITEMS.forEach(item => { - event.removeAllTagsFrom(item) - event.add('c:hidden_from_recipe_viewers', item) + //#region Базовые теги для инструментов GregTech + GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + if (material.hasProperty(PropertyKey.TOOL)) { + + //#region Меч + const swordType = GTToolType.SWORD; + const swordTool = ToolHelper.get(swordType, material) + + if (!swordTool.isEmpty()) event.add('forge:tools/swords', swordTool.getItem().getId()) + //#endregion + + //#region Кирка + const pickaxeType = GTToolType.PICKAXE; + const pickaxeTool = ToolHelper.get(pickaxeType, material) + + if (!pickaxeTool.isEmpty()) event.add('forge:tools/pickaxes', pickaxeTool.getItem().getId()) + //#endregion + + //#region Топор + const axeType = GTToolType.AXE; + const axeTool = ToolHelper.get(axeType, material) + + if (!axeTool.isEmpty()) event.add('forge:tools/axes', axeTool.getItem().getId()) + //#endregion + + //#region Лопата + const shovelType = GTToolType.SHOVEL; + const shovelTool = ToolHelper.get(shovelType, material) + + if (!shovelTool.isEmpty()) event.add('forge:tools/shovels', shovelTool.getItem().getId()) + //#endregion + + //#region Мотыга + const hoeType = GTToolType.HOE; + const hoeTool = ToolHelper.get(hoeType, material) + + if (!hoeTool.isEmpty()) event.add('forge:tools/hoes', hoeTool.getItem().getId()) + //#endregion + } }) - - global.GTCEU_HIDED_ITEMS.forEach(item => { - event.add('c:hidden_from_recipe_viewers', item) - }) - - // Добавление тега EMI для скрытия всех руд - event.add('c:hidden_from_recipe_viewers', '#forge:ores') - - //#region Пыли стоунтайпов в один тэг + //#endregion + + //#region Пыли пород в один тэг event.add('tfg:stone_dusts', 'gtceu:gabbro_dust') event.add('tfg:stone_dusts', 'gtceu:shale_dust') event.add('tfg:stone_dusts', 'gtceu:claystone_dust') @@ -38,13 +67,93 @@ const registerGTCEUItemTags = (event) => { event.add('tfg:stone_dusts', 'gtceu:granite_dust') event.add('tfg:stone_dusts', 'gtceu:stone_dust') - //#endregion + + //#region Объединение некоторых предметов из WroughtIron и Iron в один тег + event.add('tfg:all_iron_plates', 'gtceu:iron_plate') + event.add('tfg:all_iron_plates', 'gtceu:wrought_iron_plate') + + event.add('tfg:all_iron_screws', 'gtceu:iron_screw') + event.add('tfg:all_iron_screws', 'gtceu:wrought_iron_screw') + + event.add('tfg:all_iron_rings', 'gtceu:iron_ring') + event.add('tfg:all_iron_rings', 'gtceu:wrought_iron_ring') + + event.add('tfg:all_iron_small_gears', 'gtceu:small_iron_gear') + event.add('tfg:all_iron_small_gears', 'gtceu:small_wrought_iron_gear') + + event.add('tfg:all_iron_small_springs', 'gtceu:small_iron_spring') + event.add('tfg:all_iron_small_springs', 'gtceu:small_wrought_iron_spring') + + event.add('tfg:all_iron_rods', 'gtceu:iron_rod') + event.add('tfg:all_iron_rods', 'gtceu:wrought_iron_rod') + + event.add('tfg:all_long_iron_rods', 'gtceu:long_iron_rod') + event.add('tfg:all_long_iron_rods', 'gtceu:long_wrought_iron_rod') + + event.add('tfg:all_iron_gears', 'gtceu:iron_gear') + event.add('tfg:all_iron_gears', 'gtceu:wrought_iron_gear') + + event.add('tfg:all_iron_bolts', 'gtceu:iron_bolt') + event.add('tfg:all_iron_bolts', 'gtceu:wrought_iron_bolt') + + event.add('tfg:all_iron_springs', 'gtceu:iron_spring') + event.add('tfg:all_iron_springs', 'gtceu:wrought_iron_spring') + + event.add('tfg:all_iron_nuggets', 'minecraft:iron_nugget') + event.add('tfg:all_iron_nuggets', 'gtceu:wrought_iron_nugget') + //#endregion + + //#region Объединение стеклянных линз ТФК и ГТ + event.add('tfg:all_glass_lenses', 'gtceu:glass_lens') + event.add('tfg:all_glass_lenses', 'tfc:lens') + //#endregion + + //#region Скрываем все руды (не используем #forge:ores, потому что будет пересечение) + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/red_granite') //todo: может его удалить? + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/marble') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/netherrack') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/blackstone') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/gabbro') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/shale') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/claystone') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/limestone') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/conglomerate') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/dolomite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/chert') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/rhyolite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/dacite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/quartzite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/slate') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/phyllite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/schist') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/gneiss') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/basalt') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/diorite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/andesite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/granite') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/chalk') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/moon') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/mars') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/venus') + event.add('c:hidden_from_recipe_viewers', '#forge:ores_in_ground/mercury') + //#endregion + + // Удаление тегов и скрытие предметов + global.GTCEU_DISABLED_ITEMS.forEach(item => { + event.removeAllTagsFrom(item) + event.add('c:hidden_from_recipe_viewers', item) + }) + + // Скрытие предметов + global.GTCEU_HIDED_ITEMS.forEach(item => { + event.add('c:hidden_from_recipe_viewers', item) + }) } -const registerGTCEUBlockTags = (event) => { +const registerGregTechBlockTags = (event) => { - // Удаление тегов у отключенных предметов + // Удаление тегов и скрытие предметов global.GTCEU_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) }) diff --git a/kubejs/server_scripts/gregtech/utility.js b/kubejs/server_scripts/gregtech/utility.js index 2cdec29a8..1b06ed3e4 100644 --- a/kubejs/server_scripts/gregtech/utility.js +++ b/kubejs/server_scripts/gregtech/utility.js @@ -25,39 +25,19 @@ const generateMixerRecipe = (event, input, fluid_input, output, circuit, fluid_o } const generateCutterRecipe = (event, input, circuit, output, duration, EUt, id) => { - // Вот зачем я, скажете вы, делаю тут всякие костыли, - // потому что блядский разработчик GTCEu не может исправить баги своего мода - // Я так устал.. - - const recipe1 = event.recipes.gtceu.cutter(`tfg:${id}_water`) + const recipe1 = event.recipes.gtceu.cutter(`tfg:${id}`) .itemInputs(input) .inputFluids(Fluid.of('minecraft:water', 4)) .itemOutputs(output) .duration(duration) .EUt(EUt) - const recipe2 = event.recipes.gtceu.cutter(`tfg:${id}_dist_water`) - .itemInputs(input) - .inputFluids(Fluid.of('gtceu:distilled_water', 3)) - .itemOutputs(output) - .duration(duration) - .EUt(EUt) - - const recipe3 = event.recipes.gtceu.cutter(`tfg:${id}_lubricant`) - .itemInputs(input) - .inputFluids(Fluid.of('gtceu:lubricant', 1)) - .itemOutputs(output) - .duration(duration) - .EUt(EUt) - event.recipes.createCutting(output, input) .id(`tfg:cutting/${id}`) - + if (circuit != null) { recipe1.circuit(circuit) - recipe2.circuit(circuit) - recipe3.circuit(circuit) } } diff --git a/kubejs/server_scripts/main_server_script.js b/kubejs/server_scripts/main_server_script.js index 5adb7f640..56f162f29 100644 --- a/kubejs/server_scripts/main_server_script.js +++ b/kubejs/server_scripts/main_server_script.js @@ -5,21 +5,25 @@ */ ServerEvents.tags('item', event => { registerAE2ItemTags(event) + registerAlekiRoofsItemTags(event) + registerAlekiShipsItemTags(event) registerAsticorCartsItemTags(event) + registerBeneathItemTags(event) registerChiselAndBitsItemTags(event) registerComputerCraftItemTags(event) registerCreateItemTags(event) registerCreateAdditionsItemTags(event) + registerCreateLowHeatedItemTags(event) registerExtendedAE2ItemTags(event) registerFirmaCivItemTags(event) registerFirmaLifeItemTags(event) registerFramedBlocksItemTags(event) registerFTBQuestsItemTags(event) - registerGTCEUItemTags(event) + registerGregTechItemTags(event) registerMegaCellsItemTags(event) registerMinecraftItemTags(event) registerMoreRedItemTags(event) - registerHotOrNotItemTags(event) + // registerHotOrNotItemTags(event) registerRailWaysItemTags(event) registerSophisticatedBackpacksItemTags(event) registerTFCItemTags(event) @@ -30,7 +34,10 @@ ServerEvents.tags('item', event => { */ ServerEvents.tags('block', event => { registerAE2BlockTags(event) + registerAlekiRoofsBlockTags(event) + registerAlekiShipsBlockTags(event) registerAsticorCartsBlockTags(event) + registerBeneathBlockTags(event) registerChiselAndBitsBlockTags(event) registerComputerCraftBlockTags(event) registerCreateBlockTags(event) @@ -40,11 +47,11 @@ ServerEvents.tags('block', event => { registerFirmaLifeBlockTags(event) registerFramedBlocksBlockTags(event) registerFTBQuestsBlockTags(event) - registerGTCEUBlockTags(event) + registerGregTechBlockTags(event) registerMegaCellsBlockTags(event) registerMinecraftBlockTags(event) registerMoreRedBlockTags(event) - registerHotOrNotBlockTags(event) + // registerHotOrNotBlockTags(event) registerRailWaysBlockTags(event) registerSophisticatedBackpacksBlockTags(event) registerTFCBlockTags(event) @@ -60,10 +67,19 @@ ServerEvents.tags('fluid', event => { registerTFCFluidTags(event) }) +/** + * Событие регистрации биом-тегов. + */ +ServerEvents.tags('worldgen/biome', event => { + registerTFCBiomeTags(event) + registerCreatePickyWheelsBiomeTags(event) +}) + /** * Событие регистрации тегов структур. */ ServerEvents.tags('worldgen/placed_feature', event => { + registerBeneathPlacedFeatures(event) registerFirmaLifePlacedFeatures(event) registerTFCPlacedFeatures(event) }) @@ -81,34 +97,21 @@ ServerEvents.highPriorityData(event => { * Срабатывает до инициализации рецептов, но после тегов. */ TFCEvents.data(event => { - registerTFCDataForGTCEU(event) + registerTFCDataForGregTech(event) registerTFCDataForTFC(event) registerTFCDataForTreeTap(event) registerTFCDataForWaterFlasks(event) }) -/** - * Событие регистрации лут-тейблов. - * Срабатывает до инициализации рецептов, но после датапаков и тегов. - */ -LootJS.modifiers((event) => { - registerGTCEULoots(event) -}); - -/** - * Событие регистрации рудных жил. - * Не представляю когда срабатывает, но явно после тегов и датапаков. - */ -GTCEuServerEvents.oreVeins(event => { - // event.removeAll() -}) - /** * Событие регистрации рецептов. * Срабатывает после инициализации датапаков и тегов. */ ServerEvents.recipes(event => { registerAE2Recipes(event) + registerAdvancedPeripheralsRecipes(event) + registerAlekiRoofsRecipes(event) + registerAlekiShipsRecipes(event) registerAsticorCartsRecipes(event) registerAE2InsertExportCardRecipes(event) registerAE2NetworkAnalyzerRecipes(event) @@ -117,6 +120,7 @@ ServerEvents.recipes(event => { registerComputerCraftRecipes(event) registerCreateRecipes(event) registerCreateAdditionsRecipes(event) + registerCreateLowHeatedRecipes(event) registerCreateConnectedRecipes(event) registerExtendedAE2Recipes(event) registerExposureRecipes(event) @@ -125,19 +129,42 @@ ServerEvents.recipes(event => { registerFirmaLifeRecipes(event) registerFramedBlocksRecipes(event) registerFTBQuestsRecipes(event) - registerGTCEURecipes(event) + registerGregTechRecipes(event) registerHandGliderRecipes(event) - registerHotOrNotRecipes(event) - registerMegaCellsRecipes(event) + // registerHotOrNotRecipes(event) registerMERequesterRecipes(event) + registerMegaCellsRecipes(event) registerMinecraftRecipes(event) registerMoreRedRecipes(event) registerRailWaysRecipes(event) + registerRFToolsRecipes(event) + registerStorageDrawersRecipes(event) registerSophisticatedBackpacksRecipes(event) registerTfceaRecipes(event) registerTFCRecipes(event) + registerTFGRecipes(event) registerTFCGroomingStationRecipes(event) registerToolBeltRecipes(event) registerTreeTapRecipes(event) registerWaterFlasksRecipes(event) +}) + +/** + * Событие регистрации лут-тейблов. + * Срабатывает до инициализации рецептов, но после датапаков и тегов. + */ +LootJS.modifiers((event) => {}) + +/** + * Событие регистрации рудных жил GregTech. +*/ +GTCEuServerEvents.oreVeins(event => { + registerGregTechOreVeins(event) +}) + +/** + * Событие регистрации жидкостных жил GregTech. +*/ +GTCEuServerEvents.fluidVeins(event => { + registerGregTechFluidVeins(event) }) \ No newline at end of file diff --git a/kubejs/server_scripts/me_requester/recipes.js b/kubejs/server_scripts/me_requester/recipes.js index aa7a34dd0..1c8c202f4 100644 --- a/kubejs/server_scripts/me_requester/recipes.js +++ b/kubejs/server_scripts/me_requester/recipes.js @@ -2,16 +2,19 @@ const registerMERequesterRecipes = (event) => { + //#region ME Requester event.remove({ id: 'merequester:requester' }) - - // ME Requester + event.recipes.gtceu.assembler('tfg:merequester/merequester') .itemInputs('#ae2:interface', '2x ae2:crafting_accelerator', '4x #gtceu:circuits/ev', '4x #forge:plates/copper', '#forge:rods/amethyst') .itemOutputs('merequester:requester') - .duration(760) - .EUt(506) + .EUt(506).duration(760) + //#endregion + + //#region ME Requester Terminal + // TODO: Assembler recipe + event.remove({ id: 'merequester:requester_terminal' }) - // ME Requester Terminal event.shaped('merequester:requester_terminal', [ 'ABC', 'DED', @@ -24,5 +27,6 @@ const registerMERequesterRecipes = (event) => { E: 'merequester:requester', F: '#forge:plates/steel', G: 'ae2:engineering_processor' - }).id('merequester:requester_terminal') + }).id('tfg:shaped/merequester/requester_terminal') + //#endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/mega_cells/recipes.js b/kubejs/server_scripts/mega_cells/recipes.js index 44046e0b7..f332bef54 100644 --- a/kubejs/server_scripts/mega_cells/recipes.js +++ b/kubejs/server_scripts/mega_cells/recipes.js @@ -9,7 +9,7 @@ const registerMegaCellsRecipes = (event) => { {id: 'megacells:network/mega_pattern_provider_part'}, ], mod: 'megacells' }) - event.recipes.gtceu.assembler('megacells:mega_energy_cell') + event.recipes.gtceu.assembler('tfg:megacells/mega_energy_cell') .itemInputs('8x ae2:dense_energy_cell', '8x gtceu:nichrome_quadruple_wire', '4x #gtceu:circuits/iv') .itemOutputs('megacells:mega_energy_cell') .circuit(1) @@ -17,7 +17,7 @@ const registerMegaCellsRecipes = (event) => { .EUt(2048) //printed accumulation circuit - event.recipes.gtceu.forming_press('megacells:printed_accumulation_processor') + event.recipes.gtceu.forming_press('tfg:megacells/printed_accumulation_processor') .itemInputs('#forge:plates/enriched_naquadah') .notConsumable('megacells:accumulation_processor_press') .itemOutputs('megacells:printed_accumulation_processor') @@ -25,14 +25,14 @@ const registerMegaCellsRecipes = (event) => { .EUt(1920) // Inscrdiber Silicon Press - event.recipes.gtceu.laser_engraver('ae2:accumulation_processor_press_iron') + event.recipes.gtceu.laser_engraver('tfg:megacells/accumulation_processor_press_iron') .itemInputs('#forge:plates/iron', 'ae2:singularity') .notConsumable('#forge:lenses/black') .itemOutputs('megacells:accumulation_processor_press') .duration(6000) .EUt(1920) - event.recipes.gtceu.laser_engraver('ae2:accumulation_processor_press_wrought_iron') + event.recipes.gtceu.laser_engraver('tfg:megacells/accumulation_processor_press_wrought_iron') .itemInputs('#forge:plates/wrought_iron', 'ae2:singularity') .notConsumable('#forge:lenses/black') .itemOutputs('megacells:accumulation_processor_press') @@ -40,7 +40,7 @@ const registerMegaCellsRecipes = (event) => { .EUt(1920) //accumulation processor - event.recipes.gtceu.circuit_assembler('megacells:accumulation_processor') + event.recipes.gtceu.circuit_assembler('tfg:megacells/accumulation_processor') .itemInputs( 'ae2:printed_silicon', 'megacells:printed_accumulation_processor', @@ -53,7 +53,7 @@ const registerMegaCellsRecipes = (event) => { .EUt(1920) .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.circuit_assembler('megacells:accumulation_processor_adv') + event.recipes.gtceu.circuit_assembler('tfg:megacells/accumulation_processor_adv') .itemInputs( 'ae2:printed_silicon', 'megacells:printed_accumulation_processor', @@ -76,7 +76,7 @@ const registerMegaCellsRecipes = (event) => { B: '#forge:plates/enriched_naquadah', C: '#forge:fine_wires/niobium_titanium', D: '#gtceu:circuits/iv', - }).id('tfg:crafting/mega_item_cell_housing') + }).id('tfg:shaped/megacells/mega_item_cell_housing') //Mega Fluid Cell Housing event.shaped('megacells:mega_fluid_cell_housing', [ @@ -88,7 +88,7 @@ const registerMegaCellsRecipes = (event) => { B: '#forge:plates/incoloy_ma_956', C: '#forge:fine_wires/niobium_titanium', D: '#gtceu:circuits/iv', - }).id('tfg:crafting/mega_fluid_cell_housing') + }).id('tfg:shaped/megacells/mega_fluid_cell_housing') //cell dock event.shaped('megacells:cell_dock', [ @@ -99,12 +99,12 @@ const registerMegaCellsRecipes = (event) => { B: 'ae2:engineering_processor', C: '#ae2:glass_cable', D: '#gtceu:circuits/lv', - }).id('tfg:crafting/megacells_cell_dock') + }).id('tfg:shaped/megacells/megacells_cell_dock') //#region Storage Components // 1m storage components - event.recipes.gtceu.assembly_line('megacells:cell_component_1m') + event.recipes.gtceu.assembly_line('tfg:megacells/cell_component_1m') .itemInputs( '4x #gtceu:circuits/uv', '4x #forge:plates/darmstadtium', @@ -119,7 +119,7 @@ const registerMegaCellsRecipes = (event) => { .cleanroom(CleanroomType.CLEANROOM) // 4m storage components - event.recipes.gtceu.assembly_line('megacells:cell_component_4m') + event.recipes.gtceu.assembly_line('tfg:megacells/cell_component_4m') .itemInputs( '4x #gtceu:circuits/uhv', '4x #forge:plates/neutronium', @@ -133,7 +133,7 @@ const registerMegaCellsRecipes = (event) => { .EUt(1966080) .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.assembly_line('megacells:cell_component_4m_1m') + event.recipes.gtceu.assembly_line('tfg:megacells/cell_component_4m_1m') .itemInputs( '2x megacells:accumulation_processor', '2x #gtceu:circuits/uhv', @@ -216,7 +216,7 @@ const registerMegaCellsRecipes = (event) => { //#region MEGA interface // EV - event.recipes.gtceu.assembler('megacells:mega_interface_ev') + event.recipes.gtceu.assembler('tfg:megacells/mega_interface_ev') .itemInputs( '2x #ae2:interface', '4x megacells:accumulation_processor', @@ -233,7 +233,7 @@ const registerMegaCellsRecipes = (event) => { .cleanroom(CleanroomType.CLEANROOM) // IV - event.recipes.gtceu.assembler('megacells:mega_interface_iv') + event.recipes.gtceu.assembler('tfg:megacells/mega_interface_iv') .itemInputs( '4x #ae2:interface', '4x megacells:accumulation_processor', @@ -250,7 +250,7 @@ const registerMegaCellsRecipes = (event) => { .cleanroom(CleanroomType.CLEANROOM) // LuV - event.recipes.gtceu.assembler('megacells:mega_interface_luv') + event.recipes.gtceu.assembler('tfg:megacells/mega_interface_luv') .itemInputs( '8x #ae2:interface', '4x megacells:accumulation_processor', @@ -267,7 +267,7 @@ const registerMegaCellsRecipes = (event) => { .cleanroom(CleanroomType.CLEANROOM) // ZPM - event.recipes.gtceu.assembler('megacells:mega_interface_zpm') + event.recipes.gtceu.assembler('tfg:megacells/mega_interface_zpm') .itemInputs( '16x #ae2:interface', '4x megacells:accumulation_processor', @@ -287,7 +287,7 @@ const registerMegaCellsRecipes = (event) => { //#region MEGA provider // EV - event.recipes.gtceu.assembler('megacells:mega_pattern_provider_ev') + event.recipes.gtceu.assembler('tfg:megacells/mega_pattern_provider_ev') .itemInputs( '2x #ae2:pattern_provider', '4x megacells:accumulation_processor', @@ -303,7 +303,7 @@ const registerMegaCellsRecipes = (event) => { .cleanroom(CleanroomType.CLEANROOM) // IV - event.recipes.gtceu.assembler('megacells:mega_pattern_provider_iv') + event.recipes.gtceu.assembler('tfg:megacells/mega_pattern_provider_iv') .itemInputs( '4x #ae2:pattern_provider', '4x megacells:accumulation_processor', @@ -319,7 +319,7 @@ const registerMegaCellsRecipes = (event) => { .cleanroom(CleanroomType.CLEANROOM) // LuV - event.recipes.gtceu.assembler('megacells:mega_pattern_provider_luv') + event.recipes.gtceu.assembler('tfg:megacells/mega_pattern_provider_luv') .itemInputs( '8x #ae2:pattern_provider', '4x megacells:accumulation_processor', @@ -335,7 +335,7 @@ const registerMegaCellsRecipes = (event) => { .cleanroom(CleanroomType.CLEANROOM) // ZPM - event.recipes.gtceu.assembler('megacells:mega_pattern_provider_zpm') + event.recipes.gtceu.assembler('tfg:megacells/mega_pattern_provider_zpm') .itemInputs( '16x #ae2:pattern_provider', '4x megacells:accumulation_processor', @@ -353,7 +353,7 @@ const registerMegaCellsRecipes = (event) => { //#endregion // greater energy card - event.recipes.gtceu.assembler('megacells:greater_energy_card') + event.recipes.gtceu.assembler('tfg:megacells/greater_energy_card') .itemInputs( 'ae2:energy_card', '2x gtceu:lapotronic_energy_orb') @@ -363,14 +363,14 @@ const registerMegaCellsRecipes = (event) => { //#region Cell Packing //item - event.recipes.gtceu.packer('megacells:item_storage_cell_1m') + event.recipes.gtceu.packer('tfg:megacells/item_storage_cell_1m') .itemInputs('megacells:mega_item_cell_housing', 'megacells:cell_component_1m') .itemOutputs('megacells:item_storage_cell_1m') .duration(10) .EUt(12) .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.packer('megacells:item_storage_cell_4m') + event.recipes.gtceu.packer('tfg:megacells/item_storage_cell_4m') .itemInputs('megacells:mega_item_cell_housing', 'megacells:cell_component_4m') .itemOutputs('megacells:item_storage_cell_4m') .duration(10) @@ -399,14 +399,14 @@ const registerMegaCellsRecipes = (event) => { // .cleanroom(CleanroomType.CLEANROOM) //fluid - event.recipes.gtceu.packer('megacells:fluid_storage_cell_1m') + event.recipes.gtceu.packer('tfg:megacells/fluid_storage_cell_1m') .itemInputs('megacells:mega_fluid_cell_housing', 'megacells:cell_component_1m') .itemOutputs('megacells:fluid_storage_cell_1m') .duration(10) .EUt(12) .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.packer('megacells:fluid_storage_cell_4m') + event.recipes.gtceu.packer('tfg:megacells/fluid_storage_cell_4m') .itemInputs('megacells:mega_fluid_cell_housing', 'megacells:cell_component_4m') .itemOutputs('megacells:fluid_storage_cell_4m') .duration(10) @@ -435,14 +435,14 @@ const registerMegaCellsRecipes = (event) => { // .cleanroom(CleanroomType.CLEANROOM) //item back - event.recipes.gtceu.packer('megacells:item_storage_cell_1m_back') + event.recipes.gtceu.packer('tfg:megacells/item_storage_cell_1m_back') .itemInputs('megacells:item_storage_cell_1m') .itemOutputs('megacells:mega_item_cell_housing', 'megacells:cell_component_1m') .duration(10) .EUt(12) .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.packer('megacells:item_storage_cell_4m_back') + event.recipes.gtceu.packer('tfg:megacells/item_storage_cell_4m_back') .itemInputs('megacells:item_storage_cell_4m') .itemOutputs('megacells:mega_item_cell_housing', 'megacells:cell_component_4m') .duration(10) @@ -471,14 +471,14 @@ const registerMegaCellsRecipes = (event) => { // .cleanroom(CleanroomType.CLEANROOM) //fluid back - event.recipes.gtceu.packer('megacells:fluid_storage_cell_1m_back') + event.recipes.gtceu.packer('tfg:megacells/fluid_storage_cell_1m_back') .itemInputs('megacells:fluid_storage_cell_1m') .itemOutputs('megacells:mega_fluid_cell_housing', 'megacells:cell_component_1m') .duration(10) .EUt(12) .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.packer('megacells:fluid_storage_cell_4m_back') + event.recipes.gtceu.packer('tfg:megacells/fluid_storage_cell_4m_back') .itemInputs('megacells:fluid_storage_cell_4m') .itemOutputs('megacells:mega_fluid_cell_housing', 'megacells:cell_component_4m') .duration(10) @@ -509,7 +509,7 @@ const registerMegaCellsRecipes = (event) => { //#endregion //mega crafting unit - event.recipes.gtceu.assembler('megacells:mega_crafting_unit') + event.recipes.gtceu.assembler('tfg:megacells/mega_crafting_unit') .itemInputs( '4x ae2:crafting_unit', '4x megacells:accumulation_processor', @@ -523,21 +523,21 @@ const registerMegaCellsRecipes = (event) => { //#region Crafting Storage - event.recipes.gtceu.packer('megacells:mega_crafting_accelerator') + event.recipes.gtceu.packer('tfg:megacells/mega_crafting_accelerator') .itemInputs('megacells:mega_crafting_unit', 'ae2:engineering_processor') .itemOutputs('megacells:mega_crafting_accelerator') .duration(10) .EUt(12) .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.packer('megacells:1m_crafting_storage') + event.recipes.gtceu.packer('tfg:megacells/1m_crafting_storage') .itemInputs('megacells:mega_crafting_unit', 'megacells:cell_component_1m') .itemOutputs('megacells:1m_crafting_storage') .duration(10) .EUt(12) .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.packer('megacells:4m_crafting_storage') + event.recipes.gtceu.packer('tfg:megacells/4m_crafting_storage') .itemInputs('megacells:mega_crafting_unit', 'megacells:cell_component_4m') .itemOutputs('megacells:4m_crafting_storage') .duration(10) @@ -565,7 +565,7 @@ const registerMegaCellsRecipes = (event) => { // .EUt(12) // .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.packer('megacells:mega_crafting_monitor') + event.recipes.gtceu.packer('tfg:megacells/mega_crafting_monitor') .itemInputs('megacells:mega_crafting_unit', 'ae2:storage_monitor') .itemOutputs('megacells:mega_crafting_monitor') .duration(10) @@ -573,21 +573,21 @@ const registerMegaCellsRecipes = (event) => { .cleanroom(CleanroomType.CLEANROOM) //back - event.recipes.gtceu.packer('megacells:crafting_mega_accelerator_back') + event.recipes.gtceu.packer('tfg:megacells/crafting_mega_accelerator_back') .itemInputs('ae2:crafting_accelerator') .itemOutputs('megacells:mega_crafting_unit', 'ae2:engineering_processor') .duration(10) .EUt(12) .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.packer('megacells:1m_crafting_storage_back') + event.recipes.gtceu.packer('tfg:megacells/1m_crafting_storage_back') .itemInputs('megacells:1m_crafting_storage') .itemOutputs('megacells:mega_crafting_unit', 'megacells:cell_component_1m') .duration(10) .EUt(12) .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.packer('megacells:4m_crafting_storage_back') + event.recipes.gtceu.packer('tfg:megacells/4m_crafting_storage_back') .itemInputs('megacells:4m_crafting_storage') .itemOutputs('megacells:mega_crafting_unit', 'megacells:cell_component_4m') .duration(10) @@ -616,7 +616,7 @@ const registerMegaCellsRecipes = (event) => { // .EUt(12) // .cleanroom(CleanroomType.CLEANROOM) - event.recipes.gtceu.packer('megacells:crafting_monitor_back') + event.recipes.gtceu.packer('tfg:megacells/crafting_monitor_back') .itemInputs('megacells:mega_crafting_monitor') .itemOutputs('megacells:mega_crafting_unit', 'ae2:storage_monitor') .duration(10) @@ -631,7 +631,7 @@ const registerMegaCellsRecipes = (event) => { //#region Item // 1m - event.recipes.gtceu.assembler('megacells:portable_item_cell_1m') + event.recipes.gtceu.assembler('tfg:megacells/portable_item_cell_1m') .itemInputs( 'ae2:chest', 'megacells:cell_component_1m', @@ -645,7 +645,7 @@ const registerMegaCellsRecipes = (event) => { .cleanroom(CleanroomType.CLEANROOM) // 4m - event.recipes.gtceu.assembler('megacells:portable_item_cell_4m') + event.recipes.gtceu.assembler('tfg:megacells/portable_item_cell_4m') .itemInputs( 'ae2:chest', 'megacells:cell_component_4m', @@ -706,7 +706,7 @@ const registerMegaCellsRecipes = (event) => { //#region Fluid // 1m - event.recipes.gtceu.assembler('megacells:portable_fluid_cell_1m') + event.recipes.gtceu.assembler('tfg:megacells/portable_fluid_cell_1m') .itemInputs( 'ae2:chest', 'megacells:cell_component_1m', @@ -720,7 +720,7 @@ const registerMegaCellsRecipes = (event) => { .cleanroom(CleanroomType.CLEANROOM) // 4m - event.recipes.gtceu.assembler('megacells:portable_fluid_cell_4m') + event.recipes.gtceu.assembler('tfg:megacells/portable_fluid_cell_4m') .itemInputs( 'ae2:chest', 'megacells:cell_component_4m', diff --git a/kubejs/server_scripts/minecraft/recipes.js b/kubejs/server_scripts/minecraft/recipes.js index b7d88551b..8fdde5811 100644 --- a/kubejs/server_scripts/minecraft/recipes.js +++ b/kubejs/server_scripts/minecraft/recipes.js @@ -1,1463 +1,3865 @@ // priority: 0 -const registerMinecraftRecipes = (event) => { +const registerMinecraftRecipes = (e) => { - //#region Выход: Камень + //#region Дерево + global.MINECRAFT_ALL_WOOD_TYPES.forEach(woodName => { + const isNetherType = woodName === "crimson" || woodName === "warped" ? true : false - event.remove({ id: 'minecraft:stone' }) - event.remove({ id: 'ae2:entropy/heat/cobblestone_stone' }) - event.remove({ id: 'gtceu:compressor/stone_from_dust' }) - event.remove({ id: 'gtceu:rock_breaker/stone' }) - - //#endregion + //#region Wood + + // Overworld + e.remove({ id: `minecraft:${woodName}_wood` }) - //#region Выход: Каменная ступень + // Nether + if (isNetherType) + e.remove({ id: `minecraft:${woodName}_hyphae` }) - event.remove({ id: 'minecraft:stone_stairs' }) - event.remove({ id: 'minecraft:stone_stairs_from_stone_stonecutting' }) + //#endregion + + //#region Stripped Log - //#endregion + // Overworld + e.remove({ id: `create:cutting/${woodName}_log` }) - //#region Выход: Каменная плита + // Nether + if (isNetherType) + e.remove({ id: `create:cutting/${woodName}_stem` }) - event.remove({ id: 'minecraft:stone_slab' }) - event.remove({ id: 'minecraft:stone_slab_from_stone_stonecutting' }) + //#endregion - //#endregion + //#region Stripped Wood - //#region Выход: Каменная нажимная плила - - event.remove({ id: 'minecraft:stone_pressure_plate' }) - - //#endregion - - //#region Выход: Каменная кнопка - - event.remove({ id: 'minecraft:stone_button' }) - - //#endregion - - //#region Выход: Гладкий камень - - event.remove({ id: 'minecraft:smooth_stone' }) - - //#endregion - - //#region Выход: Гладкий камень плита - - event.remove({ id: 'morered:smooth_stone_slab_from_stone_plate' }) - event.remove({ id: 'minecraft:smooth_stone_slab' }) - event.remove({ id: 'minecraft:smooth_stone_slab_from_smooth_stone_stonecutting' }) - - //#endregion - - //#region Выход: Булыжник - - event.remove({ id: 'gtceu:shaped/cobblestone_hammer' }) - event.remove({ id: 'ae2:entropy/cool/stone_cobblestone' }) - event.remove({ id: 'gtceu:forge_hammer/stone_to_cobblestone' }) - event.remove({ id: 'gtceu:rock_breaker/cobblestone' }) - - //#endregion - - //#region Выход: Булыжник ступень - - event.remove({ id: 'minecraft:cobblestone_stairs' }) - event.remove({ id: 'minecraft:cobblestone_stairs_from_cobblestone_stonecutting' }) - - //#endregion - - //#region Выход: Булыжник плита - - event.remove({ id: 'minecraft:cobblestone_slab' }) - event.remove({ id: 'gtceu:shaped/cobblestone_slab_saw' }) - event.remove({ id: 'minecraft:cobblestone_slab_from_cobblestone_stonecutting' }) - - //#endregion - - //#region Выход: Булыжник стена - - event.remove({ id: 'minecraft:cobblestone_wall' }) - event.remove({ id: 'minecraft:cobblestone_wall_from_cobblestone_stonecutting' }) - - //#endregion - - //#region Выход: Каменные кирпичи - - event.remove({ id: 'minecraft:stone_bricks' }) - event.remove({ id: 'minecraft:stone_bricks_from_stone_stonecutting' }) - - //#endregion - - //#region Выход: Каменные кирпичи ступень - - event.remove({ id: 'minecraft:stone_brick_stairs' }) - event.remove({ id: 'minecraft:stone_brick_stairs_from_stone_stonecutting' }) - event.remove({ id: 'minecraft:stone_brick_stairs_from_stone_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Каменные кирпичи плита - - event.remove({ id: 'minecraft:stone_brick_slab' }) - event.remove({ id: 'gtceu:shaped/stone_brick_slab_saw' }) - event.remove({ id: 'minecraft:stone_brick_slab_from_stone_stonecutting' }) - event.remove({ id: 'minecraft:stone_brick_slab_from_stone_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Каменные кирпичи стена - - event.remove({ id: 'minecraft:stone_brick_wall' }) - event.remove({ id: 'minecraft:stone_brick_walls_from_stone_stonecutting' }) - event.remove({ id: 'minecraft:stone_brick_wall_from_stone_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Поломанные каменные кирпичи - - event.remove({ id: 'minecraft:cracked_stone_bricks' }) - event.remove({ id: 'ae2:entropy/cool/stone_bricks_cracked_stone_bricks' }) - event.remove({ id: 'gtceu:forge_hammer/cracked_stone_bricks' }) - - //#endregion - - //#region Выход: Резные каменные кирпичи - - event.remove({ id: 'minecraft:chiseled_stone_bricks' }) - event.remove({ id: 'minecraft:chiseled_stone_bricks_stone_from_stonecutting' }) - event.remove({ id: 'minecraft:chiseled_stone_bricks_from_stone_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Замшелые каменные кирпичи - - event.remove({ id: 'minecraft:mossy_stone_bricks_from_vine' }) - event.remove({ id: 'minecraft:mossy_stone_bricks_from_moss_block' }) - event.remove({ id: 'gtceu:assembler/mossy_stone_bricks' }) - - //#endregion - - //#region Выход: Замшелые каменные кирпичи ступень - - event.remove({ id: 'minecraft:mossy_stone_brick_stairs' }) - event.remove({ id: 'minecraft:mossy_stone_brick_stairs_from_mossy_stone_brick_stonecutting' }) - - //#endregion - - //#region Выход: Замшелые каменные кирпичи плита - - event.remove({ id: 'minecraft:mossy_stone_brick_slab' }) - event.remove({ id: 'minecraft:mossy_stone_brick_slab_from_mossy_stone_brick_stonecutting' }) - - //#endregion - - //#region Выход: Замшелые каменные кирпичи стена - - event.remove({ id: 'minecraft:mossy_stone_brick_wall' }) - event.remove({ id: 'minecraft:mossy_stone_brick_wall_from_mossy_stone_brick_stonecutting' }) - - //#endregion - - //#region Выход: Замшелый булыжник - - event.remove({ id: 'minecraft:mossy_cobblestone_from_vine' }) - event.remove({ id: 'minecraft:mossy_cobblestone_from_moss_block' }) - event.remove({ id: 'gtceu:assembler/mossy_cobblestone' }) - - //#endregion - - //#region Выход: Замшелый булыжник ступень - - event.remove({ id: 'minecraft:mossy_cobblestone_stairs' }) - event.remove({ id: 'minecraft:mossy_cobblestone_stairs_from_mossy_cobblestone_stonecutting' }) - - //#endregion - - //#region Выход: Замшелый булыжник плита - - event.remove({ id: 'minecraft:mossy_cobblestone_slab' }) - event.remove({ id: 'minecraft:mossy_cobblestone_slab_from_mossy_cobblestone_stonecutting' }) - - //#endregion - - //#region Выход: Замшелый булыжник стена - - event.remove({ id: 'minecraft:mossy_cobblestone_wall' }) - event.remove({ id: 'minecraft:mossy_cobblestone_wall_from_mossy_cobblestone_stonecutting' }) - - //#endregion - - //#region Выход: Сырой гранит - - event.remove({ id: 'minecraft:granite' }) - event.remove({ id: 'gtceu:rock_breaker/granite' }) - - //#endregion - - //#region Выход: Сырой гранит ступень - - event.remove({ id: 'minecraft:granite_stairs' }) - event.remove({ id: 'minecraft:granite_stairs_from_granite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой гранит плита - - event.remove({ id: 'minecraft:granite_slab' }) - event.remove({ id: 'minecraft:granite_slab_from_granite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой гранит стена - - event.remove({ id: 'minecraft:granite_wall' }) - event.remove({ id: 'minecraft:granite_wall_from_granite_stonecutting' }) - - //#endregion - - //#region Выход: Полированный гранит - - event.remove({ id: 'minecraft:polished_granite_from_granite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой гранит ступень - - event.remove({ id: 'minecraft:polished_granite_stairs' }) - event.remove({ id: 'minecraft:polished_granite_stairs_from_granite_stonecutting' }) - event.remove({ id: 'minecraft:polished_granite_stairs_from_polished_granite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой гранит плита - - event.remove({ id: 'minecraft:polished_granite_slab' }) - event.remove({ id: 'minecraft:polished_granite_slab_from_granite_stonecutting' }) - event.remove({ id: 'minecraft:polished_granite_slab_from_polished_granite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой диорит - - event.remove({ id: 'minecraft:diorite' }) - event.remove({ id: 'gtceu:rock_breaker/diorite' }) - - //#endregion - - //#region Выход: Сырой диорит ступень - - event.remove({ id: 'minecraft:diorite_stairs' }) - event.remove({ id: 'minecraft:diorite_stairs_from_diorite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой диорит плита - - event.remove({ id: 'minecraft:diorite_slab' }) - event.remove({ id: 'minecraft:diorite_slab_from_diorite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой диорит стена - - event.remove({ id: 'minecraft:diorite_wall' }) - event.remove({ id: 'minecraft:diorite_wall_from_diorite_stonecutting' }) - - //#endregion - - //#region Выход: Полированный диорит - - event.remove({ id: 'minecraft:polished_diorite_from_diorite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой диорит ступень - - event.remove({ id: 'minecraft:polished_diorite_stairs' }) - event.remove({ id: 'minecraft:polished_diorite_stairs_from_diorite_stonecutting' }) - event.remove({ id: 'minecraft:polished_diorite_stairs_from_polished_diorite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой диорит плита - - event.remove({ id: 'minecraft:polished_diorite_slab' }) - event.remove({ id: 'minecraft:polished_diorite_slab_from_diorite_stonecutting' }) - event.remove({ id: 'minecraft:polished_diorite_slab_from_polished_diorite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой андезит - - event.remove({ id: 'minecraft:andesite' }) - event.remove({ id: 'gtceu:rock_breaker/andesite' }) - - //#endregion - - //#region Выход: Сырой андезит ступень - - event.remove({ id: 'minecraft:andesite_stairs' }) - event.remove({ id: 'minecraft:andesite_stairs_from_andesite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой андезит плита - - event.remove({ id: 'minecraft:andesite_slab' }) - event.remove({ id: 'minecraft:andesite_slab_from_andesite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой андезит стена - - event.remove({ id: 'minecraft:andesite_wall' }) - event.remove({ id: 'minecraft:andesite_wall_from_andesite_stonecutting' }) - - //#endregion - - //#region Выход: Полированный андезит - - event.remove({ id: 'minecraft:polished_andesite_from_andesite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой андезит ступень - - event.remove({ id: 'minecraft:polished_andesite_stairs' }) - event.remove({ id: 'minecraft:polished_andesite_stairs_from_andesite_stonecutting' }) - event.remove({ id: 'minecraft:polished_andesite_stairs_from_polished_andesite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой андезит плита - - event.remove({ id: 'minecraft:polished_andesite_slab' }) - event.remove({ id: 'minecraft:polished_andesite_slab_from_andesite_stonecutting' }) - event.remove({ id: 'minecraft:polished_andesite_slab_from_polished_andesite_stonecutting' }) - - //#endregion - - //#region Выход: Сырой призмарин - - event.remove({ id: 'gtceu:packer/prismarine' }) - - //#endregion - - //#region Выход: Светильник моря - - event.remove({ id: 'minecraft:sea_lantern' }) - event.remove({ id: 'gtceu:assembler/sea_lantern' }) - - //#endregion - - //#region Выход: Сырой призмарин ступень - - event.remove({ id: 'minecraft:prismarine_stairs' }) - event.remove({ id: 'minecraft:prismarine_stairs_from_prismarine_stonecutting' }) - - //#endregion - - //#region Выход: Сырой призмарин плита - - event.remove({ id: 'minecraft:prismarine_slab' }) - event.remove({ id: 'minecraft:prismarine_slab_from_prismarine_stonecutting' }) - - //#endregion - - //#region Выход: Сырой призмарин стена - - event.remove({ id: 'minecraft:prismarine_wall' }) - event.remove({ id: 'minecraft:prismarine_wall_from_prismarine_stonecutting' }) - - //#endregion - - //#region Выход: Призмариновый кирпич - - event.remove({ id: 'gtceu:packer/prismarine_bricks' }) - - //#endregion - - //#region Выход: Призмариновый кирпич ступень - - event.remove({ id: 'minecraft:prismarine_brick_stairs' }) - event.remove({ id: 'minecraft:prismarine_brick_stairs_from_prismarine_stonecutting' }) - - //#endregion - - //#region Выход: Призмариновый кирпич плита - - event.remove({ id: 'minecraft:prismarine_brick_slab' }) - event.remove({ id: 'minecraft:prismarine_brick_slab_from_prismarine_stonecutting' }) - - //#endregion - - //#region Выход: Темный призмарин - - event.remove({ id: 'gtceu:chemical_bath/dark_prismarine' }) - - //#endregion - - //#region Выход: Темный призмарин ступень - - event.remove({ id: 'minecraft:dark_prismarine_stairs' }) - event.remove({ id: 'minecraft:dark_prismarine_stairs_from_dark_prismarine_stonecutting' }) - - //#endregion - - //#region Выход: Темный призмарин плита - - event.remove({ id: 'minecraft:dark_prismarine_slab' }) - event.remove({ id: 'minecraft:dark_prismarine_slab_from_dark_prismarine_stonecutting' }) - - //#endregion - - //#region Выход: Эндер Кирпич - - event.remove({ id: 'minecraft:end_stone_bricks' }) - event.remove({ id: 'minecraft:end_stone_bricks_from_end_stone_stonecutting' }) - - //#endregion - - //#region Выход: Эндер Кирпич ступень - - event.remove({ id: 'minecraft:end_stone_brick_stairs' }) - event.remove({ id: 'minecraft:end_stone_brick_stairs_from_end_stone_stonecutting' }) - event.remove({ id: 'minecraft:end_stone_brick_stairs_from_end_stone_brick_stonecutting' }) - - //#endregion - - //#region Выход: Эндер Кирпич плита - - event.remove({ id: 'minecraft:end_stone_brick_slab' }) - event.remove({ id: 'minecraft:end_stone_brick_slab_from_end_stone_stonecutting' }) - event.remove({ id: 'minecraft:end_stone_brick_slab_from_end_stone_brick_stonecutting' }) - - //#endregion - - //#region Выход: Эндер Кирпич стена - - event.remove({ id: 'minecraft:end_stone_brick_wall' }) - event.remove({ id: 'minecraft:end_stone_brick_wall_from_end_stone_stonecutting' }) - event.remove({ id: 'minecraft:end_stone_brick_wall_from_end_stone_brick_stonecutting' }) - - //#endregion - - //#region Выход: Сланец - - event.remove({ id: 'minecraft:deepslate' }) - - //#endregion - - //#region Выход: Сланцевый булыжник - - event.remove({ id: 'gtceu:shaped/cobbled_deepslate_hammer' }) - event.remove({ id: 'gtceu:forge_hammer/deepslate_to_cobbled_deepslate' }) - - //#endregion - - //#region Выход: Сланцевый булыжник ступень - - event.remove({ id: 'minecraft:cobbled_deepslate_stairs' }) - event.remove({ id: 'minecraft:cobbled_deepslate_stairs_from_cobbled_deepslate_stonecutting' }) - - //#endregion - - //#region Выход: Сланцевый булыжник плита - - event.remove({ id: 'minecraft:cobbled_deepslate_slab' }) - event.remove({ id: 'minecraft:cobbled_deepslate_slab_from_cobbled_deepslate_stonecutting' }) - - //#endregion - - //#region Выход: Сланцевый булыжник стена - - event.remove({ id: 'minecraft:cobbled_deepslate_wall' }) - event.remove({ id: 'minecraft:cobbled_deepslate_wall_from_cobbled_deepslate_stonecutting' }) - - //#endregion - - //#region Выход: Ячеистый сланец - - event.remove({ id: 'minecraft:deepslate_tiles' }) - event.remove({ id: 'minecraft:deepslate_tiles_from_polished_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_tiles_from_deepslate_bricks_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_tiles_from_cobbled_deepslate_stonecutting' }) - - //#endregion - - //#region Выход: Ячеистый сланец ступень - - event.remove({ id: 'minecraft:deepslate_tile_stairs' }) - event.remove({ id: 'minecraft:deepslate_tile_stairs_from_polished_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_tile_stairs_from_deepslate_tiles_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_tile_stairs_from_deepslate_bricks_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_tile_stairs_from_cobbled_deepslate_stonecutting' }) - - //#endregion - - //#region Выход: Ячеистый сланец плита - - event.remove({ id: 'minecraft:deepslate_tile_slab' }) - event.remove({ id: 'minecraft:deepslate_tile_slab_from_polished_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_tile_slab_from_deepslate_tiles_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_tile_slab_from_deepslate_bricks_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_tile_slab_from_cobbled_deepslate_stonecutting' }) - - - //#endregion - - //#region Выход: Ячеистый сланец стена - - event.remove({ id: 'minecraft:deepslate_tile_wall' }) - event.remove({ id: 'minecraft:deepslate_tile_wall_from_polished_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_tile_wall_from_deepslate_tiles_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_tile_wall_from_deepslate_bricks_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_tile_wall_from_cobbled_deepslate_stonecutting' }) - - - //#endregion - - //#region Выход: Сланцевые кирпичи - - event.remove({ id: 'minecraft:deepslate_bricks' }) - event.remove({ id: 'minecraft:deepslate_bricks_from_polished_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_bricks_from_cobbled_deepslate_stonecutting' }) - - //#endregion - - //#region Выход: Сланцевые кирпичи ступень - - event.remove({ id: 'minecraft:deepslate_brick_stairs' }) - event.remove({ id: 'minecraft:deepslate_brick_stairs_from_polished_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_brick_stairs_from_cobbled_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_brick_stairs_from_deepslate_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Сланцевые кирпичи плита - - event.remove({ id: 'minecraft:deepslate_brick_slab' }) - event.remove({ id: 'minecraft:deepslate_brick_slab_from_polished_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_brick_slab_from_cobbled_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_brick_slab_from_deepslate_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Сланцевые кирпичи стена - - event.remove({ id: 'minecraft:deepslate_brick_wall' }) - event.remove({ id: 'minecraft:deepslate_brick_wall_from_polished_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_brick_wall_from_cobbled_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:deepslate_brick_wall_from_deepslate_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Полированный сланец - - event.remove({ id: 'minecraft:polished_deepslate' }) - event.remove({ id: 'minecraft:polished_deepslate_from_cobbled_deepslate_stonecutting' }) - - //#endregion - - //#region Выход: Полированный сланец ступень - - event.remove({ id: 'minecraft:polished_deepslate_stairs' }) - event.remove({ id: 'minecraft:polished_deepslate_stairs_from_polished_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:polished_deepslate_stairs_from_cobbled_deepslate_stonecutting' }) - - //#endregion - - //#region Выход: Полированный сланец плита - - event.remove({ id: 'minecraft:polished_deepslate_slab' }) - event.remove({ id: 'minecraft:polished_deepslate_slab_from_polished_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:polished_deepslate_slab_from_cobbled_deepslate_stonecutting' }) - - //#endregion - - //#region Выход: Полированный сланец стена - - event.remove({ id: 'minecraft:polished_deepslate_wall' }) - event.remove({ id: 'minecraft:polished_deepslate_wall_from_polished_deepslate_stonecutting' }) - event.remove({ id: 'minecraft:polished_deepslate_wall_from_cobbled_deepslate_stonecutting' }) - - //#endregion - - //#region Выход: Потрескавшийся ячеистый сланец - - event.remove({ id: 'minecraft:cracked_deepslate_tiles' }) - - //#endregion - - //#region Выход: Резной сланец - - event.remove({ id: 'minecraft:chiseled_deepslate' }) - event.remove({ id: 'minecraft:chiseled_deepslate_from_cobbled_deepslate_stonecutting' }) - - //#endregion - - //#region Выход: Потрескавшиеся сланцевые кирпичи - - event.remove({ id: 'minecraft:cracked_deepslate_bricks' }) - - //#endregion - - //#region Выход: Базальт - - event.remove({ id: 'gtceu:rock_breaker/deepslate' }) - - //#endregion - - //#region Выход: Уголь - - event.remove({ id: 'minecraft:coal_from_smelting_coal_ore' }) - event.remove({ id: 'minecraft:coal_from_smelting_deepslate_coal_ore' }) - - event.remove({ id: 'minecraft:coal_from_blasting_coal_ore' }) - event.remove({ id: 'minecraft:coal_from_blasting_deepslate_coal_ore' }) - - //#endregion - - //#region Выход: Медь - - event.remove({ id: 'minecraft:copper_ingot_from_smelting_copper_ore' }) - event.remove({ id: 'minecraft:copper_ingot_from_smelting_deepslate_copper_ore' }) - - event.remove({ id: 'minecraft:copper_ingot_from_blasting_copper_ore' }) - event.remove({ id: 'minecraft:copper_ingot_from_blasting_deepslate_copper_ore' }) - - //#endregion - - //#region Выход: Железо - - event.remove({ id: 'minecraft:iron_ingot_from_smelting_iron_ore' }) - event.remove({ id: 'minecraft:iron_ingot_from_smelting_deepslate_iron_ore' }) - - event.remove({ id: 'minecraft:iron_ingot_from_blasting_iron_ore' }) - event.remove({ id: 'minecraft:iron_ingot_from_blasting_deepslate_iron_ore' }) - - //#endregion - - //#region Выход: Лазурит - - event.remove({ id: 'minecraft:lapis_lazuli_from_smelting_lapis_ore' }) - event.remove({ id: 'minecraft:lapis_lazuli_from_smelting_deepslate_lapis_ore' }) - - event.remove({ id: 'minecraft:lapis_lazuli_from_blasting_lapis_ore' }) - event.remove({ id: 'minecraft:lapis_lazuli_from_blasting_deepslate_lapis_ore' }) - - //#endregion - - //#region Выход: Золото - - event.remove({ id: 'minecraft:gold_ingot_from_smelting_gold_ore' }) - event.remove({ id: 'minecraft:gold_ingot_from_smelting_deepslate_gold_ore' }) - event.remove({ id: 'minecraft:gold_ingot_from_smelting_nether_gold_ore' }) - - event.remove({ id: 'minecraft:gold_ingot_from_blasting_gold_ore' }) - event.remove({ id: 'minecraft:gold_ingot_from_blasting_deepslate_gold_ore' }) - event.remove({ id: 'minecraft:gold_ingot_from_blasting_nether_gold_ore' }) - - //#endregion - - //#region Выход: Золотой самородок - - event.remove({ id: 'minecraft:gold_nugget_from_smelting' }) - - event.remove({ id: 'minecraft:gold_nugget_from_blasting' }) - - //#endregion - - //#region Выход: Редстоун - - event.remove({ id: 'minecraft:redstone_from_smelting_redstone_ore' }) - event.remove({ id: 'minecraft:redstone_from_smelting_deepslate_redstone_ore' }) - - event.remove({ id: 'minecraft:redstone_from_blasting_redstone_ore' }) - event.remove({ id: 'minecraft:redstone_from_blasting_deepslate_redstone_ore' }) - - //#endregion - - //#region Выход: Изумруды - - event.remove({ id: 'minecraft:emerald_from_smelting_emerald_ore' }) - event.remove({ id: 'minecraft:emerald_from_smelting_deepslate_emerald_ore' }) - - event.remove({ id: 'minecraft:emerald_from_blasting_emerald_ore' }) - event.remove({ id: 'minecraft:emerald_from_blasting_deepslate_emerald_ore' }) - - //#endregion - - //#region Выход: Алмазы - - event.remove({ id: 'minecraft:diamond_from_smelting_diamond_ore' }) - event.remove({ id: 'minecraft:diamond_from_smelting_deepslate_diamond_ore' }) - - event.remove({ id: 'minecraft:diamond_from_blasting_diamond_ore' }) - event.remove({ id: 'minecraft:diamond_from_blasting_deepslate_diamond_ore' }) - - //#endregion - - //#region Выход: Кварц - - event.remove({ id: 'minecraft:quartz' }) - event.remove({ id: 'minecraft:quartz_from_blasting' }) - - //#endregion - - //#region Выход: Незеритовый лом - - event.remove({ id: 'minecraft:netherite_scrap' }) - event.remove({ id: 'minecraft:netherite_scrap_from_blasting' }) - - //#endregion - - //#region Выход: Незеритовый слиток - - event.remove({ id: 'minecraft:netherite_ingot' }) - - //#endregion - - //#region Выход: Песок - - event.remove({ id: 'gtceu:centrifuge/red_sand_separation' }) - event.remove({ id: 'gtceu:centrifuge/mycelium_separation' }) - event.remove({ id: 'gtceu:centrifuge/grass_block_separation' }) - - // TODO: Из пыли лунного грунта - event.remove({ id: 'gtceu:centrifuge/endstone_separation' }) - /* - event.recipes.gtceu.centrifuge('endstone_separation') - .itemInputs('') - .chancedOutput('tfc:sand/yellow', 9000, 300) - .chancedOutput('gtceu:tungstate_small_dust', 1250, 450) - .chancedOutput('gtceu:tiny_platinum_dust', 630, 150) - .outputFluids(Fluid.of('gtceu:helium', 2000)) - .duration(250) - .EUt(30)*/ - - // Декрафт разных блоков в песок - event.remove({ id: 'gtceu:forge_hammer/gravel_to_sand' }) - event.remove({ id: 'gtceu:forge_hammer/sandstone_to_sand' }) - event.remove({ id: 'gtceu:forge_hammer/smooth_sandstone_to_sand' }) - event.remove({ id: 'gtceu:forge_hammer/chiseled_sandstone_to_sand' }) - - //#endregion - - //#region Выход: Песчанник - - event.remove({ id: 'gtceu:compressor/sandstone' }) - - //#endregion - - //#region Выход: Песчанник ступень - - event.remove({ id: 'minecraft:sandstone_stairs' }) - event.remove({ id: 'minecraft:sandstone_stairs_from_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Песчанник плита - - event.remove({ id: 'minecraft:sandstone_slab' }) - event.remove({ id: 'minecraft:sandstone_slab_from_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Песчанник стена - - event.remove({ id: 'minecraft:sandstone_wall' }) - event.remove({ id: 'minecraft:sandstone_wall_from_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Гладкий песчанник ступень - - event.remove({ id: 'minecraft:smooth_sandstone_stairs' }) - event.remove({ id: 'gtceu:shaped/smooth_sandstone_slab_saw' }) - event.remove({ id: 'minecraft:smooth_sandstone_stairs_from_smooth_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Гладкий песчанник плита - - event.remove({ id: 'minecraft:smooth_sandstone_slab' }) - event.remove({ id: 'minecraft:smooth_sandstone_slab_from_smooth_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Обрезанный песчанник - - event.remove({ id: 'minecraft:cut_sandstone' }) - event.remove({ id: 'minecraft:cut_sandstone_from_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Обрезанный песчанник плита - - event.remove({ id: 'minecraft:cut_sandstone_slab' }) - event.remove({ id: 'minecraft:cut_sandstone_slab_from_sandstone_stonecutting' }) - event.remove({ id: 'minecraft:cut_sandstone_slab_from_cut_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Резной песчанник - - event.remove({ id: 'minecraft:chiseled_sandstone' }) - event.remove({ id: 'minecraft:chiseled_sandstone_from_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Красный песок - - event.remove({ id: 'gtceu:forge_hammer/smooth_red_sandstone_to_red_sand' }) - event.remove({ id: 'gtceu:forge_hammer/red_sandstone_to_red_sand' }) - event.remove({ id: 'gtceu:forge_hammer/chiseled_red_sandstone_to_red_sand' }) - - //#endregion - - //#region Выход: Красный песчанник - - event.remove({ id: 'gtceu:compressor/red_sandstone' }) - - //#endregion - - //#region Выход: Красный песчанник ступень - - event.remove({ id: 'minecraft:red_sandstone_stairs' }) - event.remove({ id: 'minecraft:red_sandstone_stairs_from_red_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Красный песчанник плита - - event.remove({ id: 'minecraft:red_sandstone_slab' }) - event.remove({ id: 'minecraft:red_sandstone_slab_from_red_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Красный песчанник стена - - event.remove({ id: 'minecraft:red_sandstone_wall' }) - event.remove({ id: 'minecraft:red_sandstone_wall_from_red_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Красный гладкий песчанник ступень - - event.remove({ id: 'minecraft:smooth_red_sandstone_stairs' }) - event.remove({ id: 'minecraft:smooth_red_sandstone_stairs_from_smooth_red_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Красный гладкий песчанник плита - - event.remove({ id: 'minecraft:smooth_red_sandstone_slab' }) - event.remove({ id: 'gtceu:shaped/red_sandstone_slab_saw' }) - event.remove({ id: 'minecraft:smooth_red_sandstone_slab_from_smooth_red_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Красный обрезанный песчанник - - event.remove({ id: 'minecraft:cut_red_sandstone' }) - event.remove({ id: 'minecraft:cut_red_sandstone_from_red_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Красный обрезанный песчанник плита - - event.remove({ id: 'minecraft:cut_red_sandstone_slab' }) - event.remove({ id: 'minecraft:cut_red_sandstone_slab_from_red_sandstone_stonecutting' }) - event.remove({ id: 'minecraft:cut_red_sandstone_slab_from_cut_red_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Красный резной песчанник - - event.remove({ id: 'minecraft:chiseled_red_sandstone' }) - event.remove({ id: 'minecraft:chiseled_red_sandstone_from_red_sandstone_stonecutting' }) - - //#endregion - - //#region Выход: Dripstone - - event.remove({ id: 'minecraft:dripstone_block' }) - - //#endregion - - //#region Выход: Земля - - event.remove({ id: 'ae2:entropy/cool/grass_block_dirt' }) // TODO: Сделать с тфк землей - - event.recipes.gtceu.macerator('dirt_from_bio_chaff') - .itemInputs('gtceu:bio_chaff') - .itemOutputs('tfc:dirt/loam') - .duration(300) - .EUt(4) - - //#endregion - - //#region Выход: Высохшая земля - - event.remove({ id: 'gtceu:mixer/mud' }) - event.remove({ id: 'gtceu:mixer/coarse_dirt' }) - event.remove({ id: 'gtceu:create_mixer/mud' }) - event.remove({ id: 'gtceu:create_mixer/coarse_dirt' }) - - //#endregion - - //#region Выход: Гравий - - event.remove({ id: 'gtceu:forge_hammer/cobblestone_to_gravel' }) - - //#endregion - - //#region Выход: Дерево - - global.VANILLA_WOOD_TYPES.forEach(wood => { - event.remove({ id: `minecraft:${wood}_planks` }) - event.remove({ id: `gtceu:shaped/${wood}_planks_saw` }) - event.remove({ id: `minecraft:stripped_${wood}_log_via_vanilla_stripping` }) - event.remove({ id: `minecraft:stripped_${wood}_wood` }) - event.remove({ id: `minecraft:stripped_${wood}_wood_via_vanilla_stripping` }) - event.remove({ id: `minecraft:${wood}_wood` }) - event.remove({ id: `minecraft:${wood}_slab` }) - event.remove({ id: `minecraft:${wood}_fence` }) - event.remove({ id: `gtceu:assembler/${wood}_fence` }) - event.remove({ id: `minecraft:${wood}_stairs` }) - event.remove({ id: `gtceu:assembler/${wood}_stairs` }) - event.remove({ id: `minecraft:${wood}_button` }) - event.remove({ id: `minecraft:${wood}_pressure_plate` }) - event.remove({ id: `minecraft:${wood}_door` }) - event.remove({ id: `minecraft:${wood}_trapdoor` }) - event.remove({ id: `minecraft:${wood}_fence_gate` }) - event.remove({ id: `gtceu:assembler/${wood}_fence_gate` }) - event.remove({ id: `minecraft:${wood}_sign` }) - event.remove({ id: `minecraft:${wood}_hanging_sign` }) - event.remove({ id: `gtceu:assembler/${wood}_sign` }) - }); - - event.remove({ id: 'minecraft:stripped_warped_hyphae' }) - event.remove({ id: 'minecraft:warped_hyphae' }) - event.remove({ id: 'minecraft:stripped_crimson_hyphae' }) - event.remove({ id: 'minecraft:crimson_hyphae' }) - - //#endregion - - //#region Выход: Камнерез - - event.remove({ id: 'minecraft:stonecutter' }) - - //#endregion - - //#region Выход: Стекло - - event.recipes.gtceu.arc_furnace('glass_from_sand') - .itemInputs('#forge:sand') - .itemOutputs('2x minecraft:glass') - .duration(20) - .EUt(30) - - //#endregion - - //#region Выход: Плотная грязь - - event.remove({ id: 'minecraft:packed_mud' }) - - //#endregion - - //#region Выход: Грязные кирпичи - - event.remove({ id: 'minecraft:mud_bricks' }) - - //#endregion - - //#region Выход: Грязные кирпичи ступень - - event.remove({ id: 'minecraft:mud_brick_stairs' }) - event.remove({ id: 'minecraft:mud_brick_stairs_from_mud_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Грязные кирпичи плита - - event.remove({ id: 'minecraft:mud_brick_slab' }) - event.remove({ id: 'minecraft:mud_brick_slab_from_mud_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Грязные кирпичи стена - - event.remove({ id: 'minecraft:mud_brick_wall' }) - event.remove({ id: 'minecraft:mud_brick_wall_from_mud_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Медный блок (Подчищаем за разрабом грега) - - event.remove({ id: 'minecraft:copper_block' }) - - //#endregion - - //#region Выход: Незер кирпич - - event.remove({ id: 'minecraft:nether_bricks' }) - event.remove({ id: 'gtceu:compressor/nether_bricks' }) - - //#endregion - - //#region Выход: Потрескавшийся незер кирпич - - event.remove({ id: 'minecraft:cracked_nether_bricks' }) - - //#endregion - - //#region Выход: Незер ступень - - event.remove({ id: 'minecraft:nether_brick_stairs' }) - event.remove({ id: 'minecraft:nether_brick_stairs_from_nether_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Незер полублок - - event.remove({ id: 'gtceu:shaped/nether_brick_slab_saw' }) - event.remove({ id: 'minecraft:nether_brick_slab_from_nether_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Незер стена - - event.remove({ id: 'minecraft:nether_brick_wall' }) - event.remove({ id: 'minecraft:nether_brick_wall_from_nether_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Незер забор - - event.remove({ id: 'minecraft:nether_brick_fence' }) - event.remove({ id: 'gtceu:assembler/nether_brick_fence' }) - - //#endregion - - //#region Выход: Резной незер кирпич - - event.remove({ id: 'minecraft:chiseled_nether_bricks' }) - event.remove({ id: 'minecraft:chiseled_nether_bricks_from_nether_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Красный незер кирпич - - event.remove({ id: 'minecraft:red_nether_bricks' }) - event.remove({ id: 'gtceu:alloy_smelter/red_nether_bricks' }) - - //#endregion - - //#region Выход: Ступень из красного незер кирпича - - event.remove({ id: 'minecraft:red_nether_brick_stairs' }) - event.remove({ id: 'minecraft:red_nether_brick_stairs_from_red_nether_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Полублок из красного незер кирпича - - event.remove({ id: 'minecraft:red_nether_brick_slab' }) - event.remove({ id: 'minecraft:red_nether_brick_slab_from_red_nether_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Стена из красного незер кирпича - - event.remove({ id: 'minecraft:red_nether_brick_wall' }) - event.remove({ id: 'minecraft:red_nether_brick_wall_from_red_nether_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Базальт - - event.remove({ id: 'gtceu:rock_breaker/basalt' }) - - //#endregion - - //#region Выход: Гладкий базальт - - event.remove({ id: 'minecraft:smooth_basalt' }) - - //#endregion - - //#region Выход: Полированный базальт - - event.remove({ id: 'minecraft:polished_basalt' }) - event.remove({ id: 'minecraft:polished_basalt_from_basalt_stonecutting' }) - - //#endregion - - //#region Выход: Черный камень - - event.remove({ id: 'gtceu:rock_breaker/blackstone' }) - - //#endregion - - //#region Выход: Ступень из черного камня - - event.remove({ id: 'minecraft:blackstone_stairs' }) - event.remove({ id: 'minecraft:blackstone_stairs_from_blackstone_stonecutting' }) - - //#endregion - - //#region Выход: Полублок из черного камня - - event.remove({ id: 'minecraft:blackstone_slab' }) - event.remove({ id: 'minecraft:blackstone_slab_from_blackstone_stonecutting' }) - - //#endregion - - //#region Выход: Стена из черного камня - - event.remove({ id: 'minecraft:blackstone_wall' }) - event.remove({ id: 'minecraft:blackstone_wall_from_blackstone_stonecutting' }) - - //#endregion - - //#region Выход: Резной гладкий черный камень - - event.remove({ id: 'minecraft:chiseled_polished_blackstone' }) - event.remove({ id: 'minecraft:chiseled_polished_blackstone_from_blackstone_stonecutting' }) - event.remove({ id: 'minecraft:chiseled_polished_blackstone_from_polished_blackstone_stonecutting' }) - - //#endregion - - //#region Выход: Гладкий черный камень - - event.remove({ id: 'minecraft:polished_blackstone' }) - event.remove({ id: 'minecraft:polished_blackstone_from_blackstone_stonecutting' }) - - //#endregion - - //#region Выход: Ступени из гладкого черного камня - - event.remove({ id: 'minecraft:polished_blackstone_stairs' }) - event.remove({ id: 'minecraft:polished_blackstone_stairs_from_blackstone_stonecutting' }) - event.remove({ id: 'minecraft:polished_blackstone_stairs_from_polished_blackstone_stonecutting' }) - - //#endregion - - //#region Выход: Полублоки из гладкого черного камня - - event.remove({ id: 'minecraft:polished_blackstone_slab' }) - event.remove({ id: 'minecraft:polished_blackstone_slab_from_polished_blackstone_stonecutting' }) - event.remove({ id: 'minecraft:polished_blackstone_slab_from_blackstone_stonecutting' }) - - //#endregion - - //#region Выход: Стена из гладкого черного камня - - event.remove({ id: 'minecraft:polished_blackstone_wall' }) - event.remove({ id: 'minecraft:polished_blackstone_wall_from_polished_blackstone_stonecutting' }) - event.remove({ id: 'minecraft:polished_blackstone_wall_from_blackstone_stonecutting' }) - - //#endregion - - //#region Выход: Кирпичи из черного камня - - event.remove({ id: 'minecraft:polished_blackstone_bricks' }) - event.remove({ id: 'minecraft:polished_blackstone_bricks_from_blackstone_stonecutting' }) - event.remove({ id: 'minecraft:polished_blackstone_bricks_from_polished_blackstone_stonecutting' }) - - //#endregion - - //#region Выход: Потрескавшиеся кирпичи из черного камня - - event.remove({ id: 'minecraft:cracked_polished_blackstone_bricks' }) - - //#endregion - - //#region Выход: Ступени из кирпичей из черного камня - - event.remove({ id: 'minecraft:polished_blackstone_brick_stairs' }) - event.remove({ id: 'minecraft:polished_blackstone_brick_stairs_from_blackstone_stonecutting' }) - event.remove({ id: 'minecraft:polished_blackstone_brick_stairs_from_polished_blackstone_stonecutting' }) - event.remove({ id: 'minecraft:polished_blackstone_brick_stairs_from_polished_blackstone_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Полублоки из кирпичей из черного камня - - event.remove({ id: 'minecraft:polished_blackstone_brick_slab' }) - event.remove({ id: 'minecraft:polished_blackstone_brick_slab_from_blackstone_stonecutting' }) - event.remove({ id: 'minecraft:polished_blackstone_brick_slab_from_polished_blackstone_stonecutting' }) - event.remove({ id: 'minecraft:polished_blackstone_brick_slab_from_polished_blackstone_bricks_stonecutting' }) - - //#endregion - - //#region Выход: Стена из кирпичей из черного камня - - event.remove({ id: 'minecraft:polished_blackstone_brick_wall' }) - event.remove({ id: 'minecraft:polished_blackstone_brick_wall_from_polished_blackstone_stonecutting' }) - event.remove({ id: 'minecraft:polished_blackstone_brick_wall_from_polished_blackstone_bricks_stonecutting' }) - event.remove({ id: 'minecraft:polished_blackstone_brick_wall_from_blackstone_stonecutting' }) - - //#endregion - - //#region Выход: Нажимная плита из черного камня - - event.remove({ id: 'minecraft:polished_blackstone_pressure_plate' }) - - //#endregion - - //#region Выход: Кнопка из черного камня - - event.remove({ id: 'minecraft:polished_blackstone_button' }) - - //#endregion - - //#region Выход: Медные блоки - - //#region Удаление - - //#region Обычные - - event.remove({ id: 'minecraft:cut_copper' }) - event.remove({ id: 'minecraft:cut_copper_from_copper_block_stonecutting' }) - - event.remove({ id: 'minecraft:cut_copper_stairs' }) - event.remove({ id: 'minecraft:cut_copper_stairs_from_copper_block_stonecutting' }) - event.remove({ id: 'minecraft:cut_copper_stairs_from_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:cut_copper_slab' }) - event.remove({ id: 'minecraft:cut_copper_slab_from_copper_block_stonecutting' }) - event.remove({ id: 'minecraft:cut_copper_slab_from_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:exposed_cut_copper' }) - event.remove({ id: 'minecraft:exposed_cut_copper_from_exposed_copper_stonecutting' }) - - event.remove({ id: 'minecraft:exposed_cut_copper_stairs' }) - event.remove({ id: 'minecraft:exposed_cut_copper_stairs_from_exposed_copper_stonecutting' }) - event.remove({ id: 'minecraft:exposed_cut_copper_stairs_from_exposed_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:exposed_cut_copper_slab' }) - event.remove({ id: 'minecraft:exposed_cut_copper_slab_from_exposed_copper_stonecutting' }) - event.remove({ id: 'minecraft:exposed_cut_copper_slab_from_exposed_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:weathered_cut_copper' }) - event.remove({ id: 'minecraft:weathered_cut_copper_from_weathered_copper_stonecutting' }) - - event.remove({ id: 'minecraft:weathered_cut_copper_stairs' }) - event.remove({ id: 'minecraft:weathered_cut_copper_stairs_from_weathered_copper_stonecutting' }) - event.remove({ id: 'minecraft:weathered_cut_copper_stairs_from_weathered_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:weathered_cut_copper_slab' }) - event.remove({ id: 'minecraft:weathered_cut_copper_slab_from_weathered_copper_stonecutting' }) - event.remove({ id: 'minecraft:weathered_cut_copper_slab_from_weathered_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:oxidized_cut_copper' }) - event.remove({ id: 'minecraft:oxidized_cut_copper_from_oxidized_copper_stonecutting' }) - - event.remove({ id: 'minecraft:oxidized_cut_copper_stairs' }) - event.remove({ id: 'minecraft:oxidized_cut_copper_stairs_from_oxidized_copper_stonecutting' }) - event.remove({ id: 'minecraft:oxidized_cut_copper_stairs_from_oxidized_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:oxidized_cut_copper_slab' }) - event.remove({ id: 'minecraft:oxidized_cut_copper_slab_from_oxidized_copper_stonecutting' }) - event.remove({ id: 'minecraft:oxidized_cut_copper_slab_from_oxidized_cut_copper_stonecutting' }) - - //#endregion - - //#region В меде - - event.remove({ id: 'minecraft:waxed_copper_block_from_honeycomb' }) - - event.remove({ id: 'minecraft:waxed_cut_copper_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_cut_copper' }) - event.remove({ id: 'minecraft:waxed_cut_copper_from_waxed_copper_block_stonecutting' }) - - event.remove({ id: 'minecraft:waxed_cut_copper_stairs_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_cut_copper_stairs' }) - event.remove({ id: 'minecraft:waxed_cut_copper_stairs_from_waxed_copper_block_stonecutting' }) - event.remove({ id: 'minecraft:waxed_cut_copper_stairs_from_waxed_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:waxed_cut_copper_slab_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_cut_copper_slab' }) - event.remove({ id: 'minecraft:waxed_cut_copper_slab_from_waxed_copper_block_stonecutting' }) - event.remove({ id: 'minecraft:waxed_cut_copper_slab_from_waxed_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:waxed_exposed_copper_from_honeycomb' }) - - event.remove({ id: 'minecraft:waxed_exposed_cut_copper_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_exposed_cut_copper' }) - event.remove({ id: 'minecraft:waxed_exposed_cut_copper_from_waxed_exposed_copper_stonecutting' }) - - event.remove({ id: 'minecraft:waxed_exposed_cut_copper_stairs_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_exposed_cut_copper_stairs' }) - event.remove({ id: 'minecraft:waxed_exposed_cut_copper_stairs_from_waxed_exposed_copper_stonecutting' }) - event.remove({ id: 'minecraft:waxed_exposed_cut_copper_stairs_from_waxed_exposed_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:waxed_exposed_cut_copper_slab_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_exposed_cut_copper_slab' }) - event.remove({ id: 'minecraft:waxed_exposed_cut_copper_slab_from_waxed_exposed_copper_stonecutting' }) - event.remove({ id: 'minecraft:waxed_exposed_cut_copper_slab_from_waxed_exposed_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:waxed_weathered_copper_from_honeycomb' }) - - event.remove({ id: 'minecraft:waxed_weathered_cut_copper_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_weathered_cut_copper' }) - event.remove({ id: 'minecraft:waxed_weathered_cut_copper_from_waxed_weathered_copper_stonecutting' }) - - event.remove({ id: 'minecraft:waxed_weathered_cut_copper_stairs_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_weathered_cut_copper_stairs' }) - event.remove({ id: 'minecraft:waxed_weathered_cut_copper_stairs_from_waxed_weathered_copper_stonecutting' }) - event.remove({ id: 'minecraft:waxed_weathered_cut_copper_stairs_from_waxed_weathered_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:waxed_weathered_cut_copper_slab_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_weathered_cut_copper_slab' }) - event.remove({ id: 'minecraft:waxed_weathered_cut_copper_slab_from_waxed_weathered_copper_stonecutting' }) - event.remove({ id: 'minecraft:waxed_weathered_cut_copper_slab_from_waxed_weathered_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:waxed_oxidized_copper_from_honeycomb' }) - - event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_oxidized_cut_copper' }) - event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_from_waxed_oxidized_copper_stonecutting' }) - - event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_stairs_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_stairs' }) - event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_stairs_from_waxed_oxidized_copper_stonecutting' }) - event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_stairs_from_waxed_oxidized_cut_copper_stonecutting' }) - - event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_slab_from_honeycomb' }) - event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_slab' }) - event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_slab_from_waxed_oxidized_copper_stonecutting' }) - event.remove({ id: 'minecraft:waxed_oxidized_cut_copper_slab_from_waxed_oxidized_cut_copper_stonecutting' }) - - //#endregion - - //#endregion - - //#region Добавление - - for (let i = 0; i < global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS.length; i++) { - let element = global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS[i]; - - // Создание ржавчины - if (i < global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS.length / 2 - 1) { - - let element2 = global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS[i + 1] - - event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_block_${element.name}`) - .itemInputs(element.block) - .inputFluids(Fluid.of('minecraft:water', 150)) - .circuit(1) - .itemOutputs(element2.block) - .duration(1000) - .EUt(4) - - event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_cutted_${element.name}`) - .itemInputs(element.cutted) - .inputFluids(Fluid.of('minecraft:water', 150)) - .circuit(1) - .itemOutputs(element2.cutted) - .duration(1000) - .EUt(4) - - event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_stairs_${element.name}`) - .itemInputs(element.stairs) - .inputFluids(Fluid.of('minecraft:water', 150)) - .circuit(1) - .itemOutputs(element2.stairs) - .duration(1000) - .EUt(4) - - event.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_slabs_${element.name}`) - .itemInputs(element.slabs) - .inputFluids(Fluid.of('minecraft:water', 150)) - .circuit(1) - .itemOutputs(element2.slabs) - .duration(1000) - .EUt(4) - } else if (i > global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS.length / 2 - 1) { - let element2 = global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS[i - global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS.length / 2] - - event.recipes.gtceu.assembler(`tfg:minecraft/waxing_block_${element.name}`) - .itemInputs(element2.block, 'firmalife:beeswax') - .circuit(1) - .itemOutputs(element.block) - .duration(50) - .EUt(4) - - event.recipes.gtceu.assembler(`tfg:minecraft/waxing_cutted_${element.name}`) - .itemInputs(element2.cutted, 'firmalife:beeswax') - .circuit(1) - .itemOutputs(element.cutted) - .duration(50) - .EUt(4) - - event.recipes.gtceu.assembler(`tfg:minecraft/waxing_stairs_${element.name}`) - .itemInputs(element2.stairs, 'firmalife:beeswax') - .circuit(1) - .itemOutputs(element.stairs) - .duration(50) - .EUt(4) - - event.recipes.gtceu.assembler(`tfg:minecraft/waxing_slabs_${element.name}`) - .itemInputs(element2.slabs, 'firmalife:beeswax') - .circuit(1) - .itemOutputs(element.slabs) - .duration(50) - .EUt(4) + // Overworld + e.remove({ id: `minecraft:stripped_${woodName}_wood` }) + e.remove({ id: `create:cutting/${woodName}_wood` }) + // Nether + if (isNetherType) { + e.remove({ id: `minecraft:stripped_${woodName}_hyphae` }) + e.remove({ id: `create:cutting${woodName}_hyphae` }) } - // Обрезанный блок + //#endregion - event.stonecutting(element.cutted, element.block) - .id(`tfg:stonecutting/cutted_${element.name}`) + // Planks + e.remove({ id: `gtceu:shapeless/${woodName}_planks` }) + e.remove({ id: `gtceu:shaped/${woodName}_planks_saw` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_distilled_water` }) + e.remove({ id: `create:cutting/stripped_${woodName}_wood` }) + e.remove({ id: `create:cutting/stripped_${woodName}_log` }) - generateCutterRecipe(event, element.block, 4, element.cutted, 100, 8, `cutted_${element.name}`) + // Stairs + e.remove({ id: `minecraft:${woodName}_stairs` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_stairs_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:assembler/${woodName}_stairs` }) - // Not working, because JS is shit! - // event.recipes.tfc.chisel(element.cutted, element.block, 'smooth') - // .id(`tfg:chisel/cutted_${element.name}`) + // Slabs + e.remove({ id: `gtceu:shaped/${woodName}_slab_saw` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_slab_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_distilled_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_water` }) + + // Fence + e.remove({ id: `gtceu:shaped/${woodName}_fence` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence` }) + + // Fence Gate + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate` }) + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate_screws` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence_gate` }) + + // Door + e.remove({ id: `gtceu:shaped/${woodName}_door` }) + e.remove({ id: `gtceu:assembler/${woodName}_door` }) + + // Trapdoor + e.remove({ id: `minecraft:${woodName}_trapdoor` }) + e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_iron` }) + e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_trapdoor_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_trapdoor_iron` }) + + // Pressure Plate + e.remove({ id: `minecraft:${woodName}_pressure_plate` }) + e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) + e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) + + // Button + e.remove({ id: `gtceu:shaped/${woodName}_button` }) + e.remove({ id: `gtceu:cutter/${woodName}_button` }) + e.remove({ id: `gtceu:cutter/${woodName}_button_distilled_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_button_water` }) + + // Sign + e.remove({ id: `gtceu:shaped/${woodName}_sign_iron` }) + e.remove({ id: `gtceu:shaped/${woodName}_sign_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign_iron` }) + + // Hanging Sign + e.remove({ id: `gtceu:shaped/${woodName}_hanging_sign` }) + e.remove({ id: `gtceu:shaped/${woodName}_hanging_sign_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_hanging_sign` }) + + // Boat + e.remove({ id: `gtceu:shaped/${woodName}_boat` }) + e.remove({ id: `gtceu:assembler/${woodName}_boat` }) + + // Boat with chest + e.remove({ id: `gtceu:shaped/${woodName}_chest_boat` }) + e.remove({ id: `gtceu:assembler/${woodName}_chest_boat` }) + + // Sticks + e.remove({ id: `everycomp:c/minecraft/null_from_${woodName}_planks_stonecutting` }) + }) + + const processBambooRecipes = () => { + const woodName = 'bamboo' + + const logAny = `#minecraft:${woodName}_blocks` + + const log = Item.of(`minecraft:${woodName}_block`) + const logStripped = Item.of(`minecraft:stripped_${woodName}_block`) + + const lumber = Item.of(`minecraft:${woodName}`) + + const plankAny = `#tfg:${woodName}_planks` + + const plank = Item.of(`minecraft:${woodName}_planks`) + const plankMosaic = Item.of(`minecraft:${woodName}_mosaic`) + + const stairAny = `#tfg:${woodName}_stairs` + + const stair = Item.of(`minecraft:${woodName}_stairs`) + const stairMosaic = Item.of(`minecraft:${woodName}_mosaic_stairs`) - // Ступени + const slabAny = `#tfg:${woodName}_slabs` + + const slab = Item.of(`minecraft:${woodName}_slab`) + const slabMosaic = Item.of(`minecraft:${woodName}_mosaic_slab`) + + const fence = Item.of(`minecraft:${woodName}_fence`) + const fenceGate = Item.of(`minecraft:${woodName}_fence_gate`) + + const door = Item.of(`minecraft:${woodName}_door`) + const trapdoor = Item.of(`minecraft:${woodName}_trapdoor`) + + const pressurePlate = Item.of(`minecraft:${woodName}_pressure_plate`) + const button = Item.of(`minecraft:${woodName}_button`) + + const sign = Item.of(`minecraft:${woodName}_sign`) + const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) - event.stonecutting(element.stairs, element.cutted) - .id(`tfg:stonecutting/stairs_${element.name}`) + + //#region Бревно + e.remove({ id: `minecraft:${woodName}_block` }) + + e.shaped(log, [ + 'AAA', + 'AAA', + 'AAA' + ], { + A: lumber + }).id(`tfg:workbench/${woodName}_log`) + //#endregion + + //#region Обтесанное бревно + e.remove({ id: `create:cutting/${woodName}_block` }) + + e.recipes.create.cutting(logStripped, log) + .id(`tfg:create_cutting/stripped_${woodName}_log`) + + e.recipes.gtceu.cutter(`tfg:stripped_${woodName}_log`) + .itemInputs(log) + .circuit(1) + .itemOutputs(logStripped) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Пиломатериалы + + //#region Из бревен + e.shaped(lumber.copyWithCount(4), [ + 's', + 'A' + ], { + A: logAny, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_lumber_from_logs_saw`) + + e.recipes.create.cutting(lumber.copyWithCount(8), logAny) + .id(`tfg:create_cutting/${woodName}_lumber_from_logs`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_logs`) + .itemInputs(logAny) + .circuit(2) + .itemOutputs(lumber.copyWithCount(9)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из досок + e.shaped(lumber, [ + 's', + 'A' + ], { + A: plankAny, + s: '#forge:tools/saws' + }).id(`tfg:${woodName}_lumber_from_planks_saw`) + + e.recipes.create.cutting(lumber, plankAny) + .id(`tfg:create_cutting/${woodName}_lumber_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_planks`) + .itemInputs(plankAny) + .circuit(0) + .itemOutputs(lumber.copyWithCount(4)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из ступенек + e.shaped(lumber, [ + 'A', + 's' + ], { + A: stairAny, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_lumber_from_stairs_saw`) + + e.recipes.create.cutting(lumber, stairAny) + .id(`tfg:create_cutting/${woodName}_lumber_from_stairs`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_stairs`) + .itemInputs(stairAny) + .circuit(2) + .itemOutputs(lumber) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Из полублоков + e.shaped(lumber, [ + 'A', + 's' + ], { + A: slabAny, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_lumber_from_slab_saw`) + + e.recipes.create.cutting(lumber, slab) + .id(`tfg:create_cutting/${woodName}_lumber_from_slab`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_lumber_from_slab`) + .itemInputs(slab) + .circuit(2) + .itemOutputs(lumber) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#endregion + + //#region Обычные Доски + e.remove({ id: `gtceu:shapeless/${woodName}_planks` }) + e.remove({ id: `gtceu:shaped/${woodName}_planks_saw` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_distilled_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_planks_water` }) + e.remove({ id: `create:cutting/stripped_${woodName}_block` }) + + e.shaped(plank, [ + 'AA', + 'AA' + ], { + A: lumber + }).id(`tfg:workbench/${woodName}_planks`) + + e.recipes.create.cutting(plank, logAny) + .id(`tfg:create_cutting/${woodName}_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_planks`) + .itemInputs(logAny) + .circuit(3) + .itemOutputs(plank.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Мозаичные Доски + e.remove({ id: `minecraft:bamboo_mosaic` }) - generateCutterRecipe(event, element.cutted, 0, [element.stairs, 'gtceu:small_copper_dust'], 100, 8, `stairs_${element.name}`) - - // Not working, because JS is shit! - // event.recipes.tfc.chisel(element.stair, element.cutted, 'stair') - // .id(`tfg:chisel/stair_${element.name}`) - - // Полублоки - - event.stonecutting(element.slabs, element.cutted) - .id(`tfg:stonecutting/slabs_${element.name}`) - - generateCutterRecipe(event, element.cutted, 1, [element.slabs, '2x gtceu:small_copper_dust'], 100, 8, `slabs_${element.name}`) - - // Not working, because JS is shit! - // event.recipes.tfc.chisel(element.slab, element.cutted, 'slab') - // .id(`tfg:chisel/slab_${element.name}`) + e.shaped(plankMosaic, [ + 'A ', + ' s' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_mosaic_planks`) + + e.recipes.gtceu.laser_engraver(`tfg:${woodName}_mosaic_planks`) + .itemInputs(plank) + .notConsumable('#forge:lenses/white') + .itemOutputs(plankMosaic) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Обычные Ступени + e.remove({ id: `minecraft:${woodName}_stairs` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_stairs_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:assembler/${woodName}_stairs` }) + + e.shaped(stair, [ + 'As' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_stairs_saw`) + + e.recipes.create.cutting(stair, logAny) + .id(`tfg:create_cutting/${woodName}_stairs_from_logs`) + + e.recipes.create.cutting([stair, Item.of('1x gtceu:small_wood_dust')], plank) + .id(`tfg:create_cutting/${woodName}_stairs_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_logs`) + .itemInputs(logAny) + .circuit(4) + .itemOutputs(stair.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.cutter(`tfg:${woodName}_stairs_from_planks`) + .itemInputs(plank) + .circuit(1) + .itemOutputs(stair) + .itemOutputs('1x gtceu:small_wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Мозаичные Ступени + e.remove({ id: `minecraft:${woodName}_mosaic_stairs` }) + + //#region Через обычные + e.shaped(stairMosaic, [ + 'A ', + ' s' + ], { + A: stair, + s: 'forge:tools/saws' + }).id(`tfg:workbench/${woodName}_mosaic_stairs`) + + e.recipes.gtceu.laser_engraver(`tfg:${woodName}_mosaic_stairs`) + .itemInputs(stair) + .notConsumable('#forge:lenses/white') + .itemOutputs(stairMosaic) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Через мозаичные + e.shaped(stairMosaic, [ + 'As' + ], { + A: plankMosaic, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_mosaic_stairs_saw`) + + e.recipes.create.cutting([stairMosaic, Item.of('1x gtceu:small_wood_dust')], plankMosaic) + .id(`tfg:create_cutting/${woodName}_mosaic_stairs_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_mosaic_stairs_from_planks`) + .itemInputs(plankMosaic) + .circuit(1) + .itemOutputs(stairMosaic) + .itemOutputs('1x gtceu:small_wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#endregion + + //#region Обычные Полублоки + e.remove({ id: `gtceu:shaped/${woodName}_slab_saw` }) + e.remove({ id: `everycomp:c/minecraft/${woodName}_slab_from_${woodName}_planks_stonecutting` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab` }) + e.remove({ id: `gtceu:cutter/${woodName}_slab_distilled_water` }) + + e.shaped(slab.copyWithCount(2), [ + 'sA' + ], { + A: plank, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_slabs_saw`) + + e.recipes.create.cutting(slab.copyWithCount(3), logAny) + .id(`tfg:create_cutting/${woodName}_slabs_from_logs`) + + e.recipes.create.cutting(slab.copyWithCount(2), plank) + .id(`tfg:create_cutting/${woodName}_slabs_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_logs`) + .itemInputs(logAny) + .circuit(5) + .itemOutputs(slab.copyWithCount(4)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + + e.recipes.gtceu.cutter(`tfg:${woodName}_slabs_from_planks`) + .itemInputs(plank) + .circuit(2) + .itemOutputs(slab.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Мозаичные Полублоки + e.remove({ id: `gtceu:shaped/${woodName}_mosaic_slab_saw` }) + e.remove({ id: `gtceu:cutter/${woodName}_mosaic_slab_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_mosaic_slab_distilled_water` }) + e.remove({ id: `gtceu:cutter/${woodName}_mosaic_slab` }) + + //#region Через обычные + e.shaped(slabMosaic, [ + 'A ', + ' s' + ], { + A: slab, + s: 'forge:tools/saws' + }).id(`tfg:workbench/${woodName}_mosaic_slabs`) + + e.recipes.gtceu.laser_engraver(`tfg:${woodName}_mosaic_slabs`) + .itemInputs(slab) + .notConsumable('#forge:lenses/white') + .itemOutputs(slabMosaic) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Через мозаичные + e.shaped(slabMosaic.copyWithCount(2), [ + 'sA' + ], { + A: plankMosaic, + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_mosaic_slabs_saw`) + + e.recipes.create.cutting(slabMosaic.copyWithCount(2), plankMosaic) + .id(`tfg:create_cutting/${woodName}_mosaic_slabs_from_planks`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_mosaic_slabs_from_planks`) + .itemInputs(plankMosaic) + .circuit(2) + .itemOutputs(slabMosaic.copyWithCount(2)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#endregion + + //#region Забор + e.remove({ id: `gtceu:shaped/${woodName}_fence` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence` }) + + e.shaped(fence.copyWithCount(3), [ + 'h s', + 'ABA', + 'ACA' + ], { + A: plank, + B: '#forge:rods/wooden', + C: lumber, + h: '#forge:tools/hammers', + s: '#forge:tools/saws' + }).id(`tfg:workbench/${woodName}_fence`) + + e.recipes.create.cutting([fence, Item.of('1x gtceu:wood_dust')], plank) + .id(`tfg:create_cutting/${woodName}_fence`) + + e.recipes.gtceu.cutter(`tfg:${woodName}_fence`) + .itemInputs(plank) + .circuit(3) + .itemOutputs(fence.copyWithCount(2)) + .itemOutputs('1x gtceu:wood_dust') + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Калитка + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate` }) + e.remove({ id: `gtceu:shaped/${woodName}_fence_gate_screws` }) + e.remove({ id: `gtceu:assembler/${woodName}_fence_gate` }) + + e.shaped(fenceGate, [ + 'A A', + 'BCB', + 'DCD' + ], { + A: 'minecraft:flint', + B: '#forge:rods/wooden', + C: plank, + D: lumber + }).id(`tfg:workbench/${woodName}_fence_gate_flint`) + + e.shaped(fenceGate.copyWithCount(2), [ + 'AEA', + 'BCB', + 'DCD' + ], { + A: '#forge:screws', + B: '#forge:rods/wooden', + C: plank, + D: lumber, + E: '#forge:tools/screwdrivers' + }).id(`tfg:workbench/${woodName}_fence_gate_screws`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_fence_gate`) + .itemInputs(plank.copyWithCount(2)) + .itemInputs('2x #forge:rods/wooden') + .itemInputs('2x #forge:screws') + .circuit(0) + .itemOutputs(fenceGate) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Дверь + e.remove({ id: `gtceu:shaped/${woodName}_door` }) + e.remove({ id: `gtceu:assembler/${woodName}_door` }) + + e.shaped(door, [ + 'ABd', + 'ACD', + 'AAs' + ], { + A: lumber, + B: trapdoor, + C: '#forge:rings', + D: '#forge:screws', + d: '#forge:tools/screwdrivers', + s: '#forge:tools/saws', + }).id(`tfg:workbench/${woodName}_door`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_door`) + .itemInputs(lumber.copyWithCount(4)) + .itemInputs(trapdoor) + .itemInputs('4x #forge:screws') + .circuit(0) + .itemOutputs(door) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Люк + e.remove({ id: `minecraft:${woodName}_trapdoor` }) + e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_iron` }) + e.remove({ id: `gtceu:shaped/${woodName}_trapdoor_steel` }) + + e.shaped(trapdoor, [ + 'ABd', + 'ACs' + ], { + A: lumber, + B: '#forge:rings', + C: '#forge:bolts', + d: '#forge:tools/screwdrivers', + s: '#forge:tools/saws', + }).id(`tfg:workbench/${woodName}_trapdoor`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_trapdoor`) + .itemInputs(lumber.copyWithCount(2)) + .itemInputs('2x #forge:bolts') + .circuit(0) + .itemOutputs(trapdoor) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Нажимная пластина + e.remove({ id: `minecraft:${woodName}_pressure_plate` }) + e.remove({ id: `gtceu:shaped/${woodName}_pressure_plate` }) + e.remove({ id: `gtceu:assembler/${woodName}_pressure_plate` }) + + e.shaped(pressurePlate.copyWithCount(2), [ + 'AmA', + 'BCB', + 'AdA' + ], { + A: 'gtceu:wood_bolt', + B: slab, + C: '#forge:springs', + m: '#forge:tools/mallets', + d: '#forge:tools/screwdrivers' + }).id(`tfg:workbench/${woodName}_pressure_plate`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_pressure_plate`) + .itemInputs(slab.copyWithCount(2)) + .itemInputs('#forge:springs') + .circuit(0) + .itemOutputs(pressurePlate) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Кнопка + + // e.remove({ id: `gtceu:shaped/${woodName}_button` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button_water` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button` }) + // e.remove({ id: `gtceu:cutter/${woodName}_button_distilled_water` }) + + //#endregion + + //#region Табличка + e.remove({ id: `gtceu:shaped/${woodName}_sign_iron` }) + e.remove({ id: `gtceu:shaped/${woodName}_sign_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_sign_iron` }) + + e.shaped(sign.copyWithCount(3), [ + 'AAA', + 'AAA', + 'mB ' + ], { + A: lumber, + B: '#forge:rods/wooden', + m: '#forge:tools/mallets' + }).id(`tfg:workbench/${woodName}_sign`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_sign`) + .itemInputs(lumber.copyWithCount(6)) + .circuit(3) + .itemOutputs(sign.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Висящая табличка + e.remove({ id: `gtceu:shaped/${woodName}_hanging_sign` }) + e.remove({ id: `gtceu:shaped/${woodName}_hanging_sign_steel` }) + e.remove({ id: `gtceu:assembler/${woodName}_hanging_sign_iron` }) + e.remove({ id: `gtceu:assembler/${woodName}_hanging_sign_steel` }) + + e.shaped(hangingSign.copyWithCount(3), [ + 'AmA', + 'CBC', + 'BBB' + ], { + A: '#tfg:metal_chains', + B: lumber, + C: '#forge:screws', + m: '#forge:tools/mallets' + }).id(`tfg:workbench/${woodName}_hanging_sign`) + + e.recipes.gtceu.assembler(`tfg:${woodName}_hanging_sign`) + .itemInputs(lumber.copyWithCount(4)) + .itemInputs('2x #tfg:metal_chains') + .itemInputs('4x #forge:screws') + .circuit(4) + .itemOutputs(hangingSign.copyWithCount(3)) + .EUt(GTValues.VA[GTValues.ULV]).duration(200) + //#endregion + + //#region Лодка + e.remove({ id: `minecraft:${woodName}_chest_raft` }) + e.remove({ id: `gtceu:shaped/${woodName}_chest_raft` }) + e.remove({ id: `gtceu:assembler/${woodName}_chest_boat` }) + //#endregion + //#region Лодка с сундуком + e.remove({ id: `gtceu:shaped/${woodName}_raft` }) + e.remove({ id: `gtceu:assembler/${woodName}_boat` }) + //#endregion } + processBambooRecipes() + //#endregion + + //#region Камень + + //#region Блок + + e.remove({ id: 'minecraft:stone' }) + e.remove({ id: 'gtceu:compressor/stone_from_dust' }) + e.remove({ id: 'gtceu:rock_breaker/stone' }) + e.remove({ id: 'ae2:entropy/heat/cobblestone_stone' }) + + //#endregion + + //#region Ступень + + e.remove({ id: 'minecraft:stone_stairs' }) + e.remove({ id: 'minecraft:stone_stairs_from_stone_stonecutting' }) + + //#endregion + + //#region Полублок + + e.remove({ id: 'gtceu:shaped/stone_slab_saw' }) + e.remove({ id: 'minecraft:stone_slab_from_stone_stonecutting' }) + + //#endregion + + //#region Нажимная плита + + e.remove({ id: 'gtceu:shaped/stone_pressure_plate' }) + e.remove({ id: 'gtceu:assembler/stone_pressure_plate' }) + + //#endregion + + //#region Кнопка + + e.remove({ id: 'gtceu:shaped/stone_button' }) + e.remove({ id: 'gtceu:cutter/stone_button' }) + e.remove({ id: 'gtceu:cutter/stone_button_water' }) + e.remove({ id: 'gtceu:cutter/stone_button_distilled_water' }) + //#endregion //#endregion - //#region Выход: Кремний + //#region Булыжник - event.shapeless('minecraft:flint', [ + //#region Блок + e.remove({ id: 'gtceu:shaped/cobblestone_hammer' }) + e.remove({ id: 'gtceu:forge_hammer/stone_to_cobblestone' }) + e.remove({ id: 'gtceu:rock_breaker/cobblestone' }) + e.remove({ id: 'ae2:entropy/cool/stone_cobblestone' }) + + e.remove({ id: 'create:crushing/copper_ore' }) + e.remove({ id: 'create:crushing/zinc_ore' }) + e.remove({ id: 'create:crushing/diamond_ore' }) + e.remove({ id: 'create:crushing/coal_ore' }) + e.remove({ id: 'create:crushing/gold_ore' }) + e.remove({ id: 'create:crushing/lapis_ore' }) + e.remove({ id: 'create:crushing/redstone_ore' }) + e.remove({ id: 'create:crushing/emerald_ore' }) + e.remove({ id: 'create:crushing/iron_ore' }) + e.remove({ id: 'create:milling/andesite' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:cobblestone_stairs' }) + e.remove({ id: 'minecraft:cobblestone_stairs_from_cobblestone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/cobblestone_slab_saw' }) + e.remove({ id: 'minecraft:cobblestone_slab_from_cobblestone_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:cobblestone_wall' }) + e.remove({ id: 'minecraft:cobblestone_wall_from_cobblestone_stonecutting' }) + //#endregion + + //#endregion + + //#region Замшелый булыжник + + //#region Блок + e.remove({ id: 'gtceu:assembler/mossy_cobblestone_from_moss_block' }) + e.remove({ id: 'gtceu:assembler/mossy_cobblestone_from_vine' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:mossy_cobblestone_stairs' }) + e.remove({ id: 'minecraft:mossy_cobblestone_stairs_from_mossy_cobblestone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/mossy_cobblestone_slab_saw' }) + e.remove({ id: 'minecraft:mossy_cobblestone_slab_from_mossy_cobblestone_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:mossy_cobblestone_wall' }) + e.remove({ id: 'minecraft:mossy_cobblestone_wall_from_mossy_cobblestone_stonecutting' }) + //#endregion + + //#endregion + + //#region Гладкий камень + + //#region Блок + e.remove({ id: 'minecraft:smooth_stone' }) + //#endregion + + //#region Полублок + + e.remove({ id: 'morered:smooth_stone_slab_from_stone_plate' }) + e.remove({ id: 'gtceu:shaped/smooth_stone_slab_saw' }) + e.remove({ id: 'minecraft:smooth_stone_slab_from_smooth_stone_stonecutting' }) + + //#endregion + + //#endregion + + //#region Каменные кирпичи + + //#region Блок + e.remove({ id: 'minecraft:stone_bricks_from_stone_stonecutting' }) + //#endregion + + //#region Треснувший блок + e.remove({ id: 'gtceu:forge_hammer/cracked_stone_bricks' }) + e.remove({ id: 'ae2:entropy/cool/stone_bricks_cracked_stone_bricks' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:stone_brick_stairs' }) + e.remove({ id: 'minecraft:stone_brick_stairs_from_stone_stonecutting' }) + e.remove({ id: 'minecraft:stone_brick_stairs_from_stone_bricks_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/stone_brick_slab_saw' }) + e.remove({ id: 'minecraft:stone_brick_slab_from_stone_stonecutting' }) + e.remove({ id: 'minecraft:stone_brick_slab_from_stone_bricks_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:stone_brick_wall' }) + e.remove({ id: 'minecraft:stone_brick_walls_from_stone_stonecutting' }) + e.remove({ id: 'minecraft:stone_brick_wall_from_stone_bricks_stonecutting' }) + //#endregion + + //#region Резной блок + e.remove({ id: 'minecraft:chiseled_stone_bricks_stone_from_stonecutting' }) + e.remove({ id: 'minecraft:chiseled_stone_bricks_from_stone_bricks_stonecutting' }) + //#endregion + + //#endregion + + //#region Замшелые каменные кирпичи + + //#region Блок + e.remove({ id: 'minecraft:mossy_stone_bricks_from_moss_block' }) + e.remove({ id: 'minecraft:mossy_stone_bricks_from_vine' }) + e.remove({ id: 'gtceu:assembler/mossy_stone_bricks_from_moss_block' }) + e.remove({ id: 'gtceu:assembler/mossy_stone_bricks_from_vine' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:mossy_stone_brick_stairs' }) + e.remove({ id: 'minecraft:mossy_stone_brick_stairs_from_mossy_stone_brick_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/mossy_stone_brick_slab_saw' }) + e.remove({ id: 'minecraft:mossy_stone_brick_slab_from_mossy_stone_brick_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:mossy_stone_brick_wall' }) + e.remove({ id: 'minecraft:mossy_stone_brick_wall_from_mossy_stone_brick_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Гранит + + //#region Блок + e.remove({ id: 'minecraft:granite' }) + e.remove({ id: 'create:granite_from_stone_types_granite_stonecutting' }) + e.remove({ id: 'gtceu:rock_breaker/granite' }) + e.remove({ id: 'create:compacting/granite_from_flint' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:granite_stairs' }) + e.remove({ id: 'minecraft:granite_stairs_from_granite_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/granite_slab_saw' }) + e.remove({ id: 'minecraft:granite_slab_from_granite_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:granite_wall' }) + e.remove({ id: 'minecraft:granite_wall_from_granite_stonecutting' }) + //#endregion + + //#endregion + + //#region Гладкий Гранит + + //#region Блок + e.remove({ id: 'minecraft:polished_granite_from_granite_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:polished_granite_stairs' }) + e.remove({ id: 'minecraft:polished_granite_stairs_from_granite_stonecutting' }) + e.remove({ id: 'minecraft:polished_granite_stairs_from_polished_granite_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/polished_granite_slab_saw' }) + e.remove({ id: 'minecraft:polished_granite_slab_from_granite_stonecutting' }) + e.remove({ id: 'minecraft:polished_granite_slab_from_polished_granite_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Диорит + + //#region Блок + e.remove({ id: 'minecraft:diorite' }) + e.remove({ id: 'create:diorite_from_stone_types_diorite_stonecutting' }) + e.remove({ id: 'gtceu:rock_breaker/diorite' }) + e.remove({ id: 'create:compacting/diorite_from_flint' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:diorite_stairs' }) + e.remove({ id: 'minecraft:diorite_stairs_from_diorite_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/diorite_slab_saw' }) + e.remove({ id: 'minecraft:diorite_slab_from_diorite_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:diorite_wall' }) + e.remove({ id: 'minecraft:diorite_wall_from_diorite_stonecutting' }) + //#endregion + + //#endregion + + //#region Гладкий Диорит + + //#region Блок + e.remove({ id: 'minecraft:polished_diorite_from_diorite_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:polished_diorite_stairs' }) + e.remove({ id: 'minecraft:polished_diorite_stairs_from_diorite_stonecutting' }) + e.remove({ id: 'minecraft:polished_diorite_stairs_from_polished_diorite_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/polished_diorite_slab_saw' }) + e.remove({ id: 'minecraft:polished_diorite_slab_from_diorite_stonecutting' }) + e.remove({ id: 'minecraft:polished_diorite_slab_from_polished_diorite_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Андезит + + //#region Блок + e.remove({ id: 'minecraft:andesite' }) + e.remove({ id: 'create:andesite_from_stone_types_andesite_stonecutting' }) + e.remove({ id: 'gtceu:rock_breaker/andesite' }) + e.remove({ id: 'create:compacting/andesite_from_flint' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:andesite_stairs' }) + e.remove({ id: 'minecraft:andesite_stairs_from_andesite_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/andesite_slab_saw' }) + e.remove({ id: 'minecraft:andesite_slab_from_andesite_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:andesite_wall' }) + e.remove({ id: 'minecraft:andesite_wall_from_andesite_stonecutting' }) + //#endregion + + //#endregion + + //#region Гладкий Андезит + + //#region Блок + e.remove({ id: 'minecraft:polished_andesite_from_andesite_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:polished_andesite_stairs' }) + e.remove({ id: 'minecraft:polished_andesite_stairs_from_andesite_stonecutting' }) + e.remove({ id: 'minecraft:polished_andesite_stairs_from_polished_andesite_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/polished_andesite_slab_saw' }) + e.remove({ id: 'minecraft:polished_andesite_slab_from_andesite_stonecutting' }) + e.remove({ id: 'minecraft:polished_andesite_slab_from_polished_andesite_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Сланец + + //#region Блок + e.remove({ id: 'minecraft:deepslate' }) + e.remove({ id: 'create:deepslate_from_stone_types_deepslate_stonecutting' }) + e.remove({ id: 'gtceu:rock_breaker/deepslate' }) + //#endregion + + //#endregion + + //#region Булыжниковый Сланец + + //#region Блок + e.remove({ id: 'gtceu:shaped/cobbled_deepslate_hammer' }) + e.remove({ id: 'gtceu:forge_hammer/deepslate_to_cobbled_deepslate' }) + + e.remove({ id: 'create:crushing/deepslate_redstone_ore' }) + e.remove({ id: 'create:crushing/deepslate_copper_ore' }) + e.remove({ id: 'create:crushing/deepslate_zinc_ore' }) + e.remove({ id: 'create:crushing/deepslate_emerald_ore' }) + e.remove({ id: 'create:crushing/deepslate_gold_ore' }) + e.remove({ id: 'create:crushing/deepslate_coal_ore' }) + e.remove({ id: 'create:crushing/deepslate_diamond_ore' }) + e.remove({ id: 'create:crushing/deepslate_lapis_ore' }) + e.remove({ id: 'create:crushing/deepslate_iron_ore' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:cobbled_deepslate_stairs' }) + e.remove({ id: 'minecraft:cobbled_deepslate_stairs_from_cobbled_deepslate_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/cobbled_deepslate_slab_saw' }) + e.remove({ id: 'minecraft:cobbled_deepslate_slab_from_cobbled_deepslate_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:cobbled_deepslate_wall' }) + e.remove({ id: 'minecraft:cobbled_deepslate_wall_from_cobbled_deepslate_stonecutting' }) + //#endregion + + //#endregion + + //#region Резной Сланец + + //#region Блок + e.remove({ id: 'minecraft:chiseled_deepslate' }) + e.remove({ id: 'minecraft:chiseled_deepslate_from_cobbled_deepslate_stonecutting' }) + //#endregion + + //#endregion + + //#region Гладкий Сланец + + //#region Блок + e.remove({ id: 'minecraft:polished_deepslate' }) + e.remove({ id: 'minecraft:polished_deepslate_from_cobbled_deepslate_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:polished_deepslate_stairs' }) + e.remove({ id: 'minecraft:polished_deepslate_stairs_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:polished_deepslate_stairs_from_polished_deepslate_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/polished_deepslate_slab_saw' }) + e.remove({ id: 'minecraft:polished_deepslate_slab_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:polished_deepslate_slab_from_polished_deepslate_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:polished_deepslate_wall' }) + e.remove({ id: 'minecraft:polished_deepslate_wall_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:polished_deepslate_wall_from_polished_deepslate_stonecutting' }) + //#endregion + + //#endregion + + //#region Кирпичный Сланец + + //#region Блок + e.remove({ id: 'minecraft:deepslate_bricks' }) + e.remove({ id: 'gtceu:shaped/deepslate_brick_slab_saw' }) + e.remove({ id: 'minecraft:deepslate_bricks_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_bricks_from_polished_deepslate_stonecutting' }) + //#endregion + + //#region Потрескавшийся Блок + e.remove({ id: 'minecraft:cracked_deepslate_bricks' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:deepslate_brick_stairs' }) + e.remove({ id: 'minecraft:deepslate_brick_stairs_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_brick_stairs_from_polished_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_brick_stairs_from_deepslate_bricks_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'minecraft:deepslate_brick_slab_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_brick_slab_from_polished_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_brick_slab_from_deepslate_bricks_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:deepslate_brick_wall' }) + e.remove({ id: 'minecraft:deepslate_brick_wall_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_brick_wall_from_polished_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_brick_wall_from_deepslate_bricks_stonecutting' }) + //#endregion + + //#endregion + + //#region Плитковый Сланец + + //#region Блок + e.remove({ id: 'minecraft:deepslate_tiles' }) + e.remove({ id: 'minecraft:deepslate_tiles_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tiles_from_polished_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tiles_from_deepslate_bricks_stonecutting' }) + //#endregion + + //#region Треснутый Блок + e.remove({ id: 'minecraft:cracked_deepslate_tiles' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:deepslate_tile_stairs' }) + e.remove({ id: 'minecraft:deepslate_tile_stairs_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_stairs_from_polished_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_stairs_from_deepslate_bricks_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_stairs_from_deepslate_tiles_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/deepslate_tile_slab_saw' }) + e.remove({ id: 'minecraft:deepslate_tile_slab_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_slab_from_polished_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_slab_from_deepslate_bricks_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_slab_from_deepslate_tiles_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:deepslate_tile_wall' }) + e.remove({ id: 'minecraft:deepslate_tile_wall_from_cobbled_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_wall_from_polished_deepslate_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_wall_from_deepslate_bricks_stonecutting' }) + e.remove({ id: 'minecraft:deepslate_tile_wall_from_deepslate_tiles_stonecutting' }) + //#endregion + + //#endregion + + //#region Кирпич + + //#region Блок + e.remove({ id: 'gtceu:shaped/brick_from_water' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:brick_stairs' }) + e.remove({ id: 'minecraft:brick_stairs_from_bricks_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/brick_slab_saw' }) + e.remove({ id: 'minecraft:brick_slab_from_bricks_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:brick_wall' }) + e.remove({ id: 'minecraft:brick_wall_from_bricks_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырая Грязь + + //#region Блок + e.remove({ id: 'minecraft:packed_mud' }) + //#endregion + + //#endregion + + //#region Кирпичная Грязь + + //#region Блок + e.remove({ id: 'minecraft:mud_bricks' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:mud_brick_stairs' }) + e.remove({ id: 'minecraft:mud_brick_stairs_from_mud_bricks_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/mud_brick_slab_saw' }) + e.remove({ id: 'minecraft:mud_brick_slab_from_mud_bricks_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:mud_brick_wall' }) + e.remove({ id: 'minecraft:mud_brick_wall_from_mud_bricks_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Песчанник + + //#region Блок + e.remove({ id: 'gtceu:compressor/sandstone' }) + //#endregion + + //#region Резной Блок + e.remove({ id: 'minecraft:chiseled_sandstone_from_sandstone_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:sandstone_stairs' }) + e.remove({ id: 'minecraft:sandstone_stairs_from_sandstone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/sandstone_slab_saw' }) + e.remove({ id: 'minecraft:sandstone_slab_from_sandstone_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:sandstone_wall' }) + e.remove({ id: 'minecraft:sandstone_wall_from_sandstone_stonecutting' }) + e.remove({ id: '' }) + //#endregion + + //#endregion + + //#region Гладкий Песчанник + + //#region Блок + // Нет рецептов, че за херь... + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:smooth_sandstone_stairs' }) + e.remove({ id: 'minecraft:smooth_sandstone_stairs_from_smooth_sandstone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/smooth_sandstone_slab_saw' }) + e.remove({ id: 'minecraft:smooth_sandstone_slab_from_smooth_sandstone_stonecutting' }) + //#endregion + + //#endregion + + //#region Обрезанный Песчанник + + //#region Блок + e.remove({ id: 'minecraft:cut_sandstone' }) + e.remove({ id: 'minecraft:cut_sandstone_from_sandstone_stonecutting' }) + e.remove({ id: '' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/cut_sandstone_slab_saw' }) + e.remove({ id: 'minecraft:cut_sandstone_slab_from_sandstone_stonecutting' }) + e.remove({ id: 'minecraft:cut_sandstone_slab_from_cut_sandstone_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Красный Песчанник + + //#region Блок + e.remove({ id: 'gtceu:compressor/red_sandstone' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:red_sandstone_stairs' }) + e.remove({ id: 'minecraft:red_sandstone_stairs_from_red_sandstone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/red_sandstone_slab_saw' }) + e.remove({ id: 'minecraft:red_sandstone_slab_from_red_sandstone_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:red_sandstone_wall' }) + e.remove({ id: 'minecraft:red_sandstone_wall_from_red_sandstone_stonecutting' }) + //#endregion + + //#endregion + + //#region Гладкий Красный Песчанник + + //#region Блок + // Нет рецептов, че за херь... + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + //#endregion + + //#region Резной Блок + e.remove({ id: 'minecraft:chiseled_red_sandstone_from_red_sandstone_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:smooth_red_sandstone_stairs' }) + e.remove({ id: 'minecraft:smooth_red_sandstone_stairs_from_smooth_red_sandstone_stonecutting' }) + e.remove({ id: '' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/smooth_red_sandstone_slab_saw' }) + e.remove({ id: 'minecraft:smooth_red_sandstone_slab_from_smooth_red_sandstone_stonecutting' }) + e.remove({ id: 'gtceu:forge_hammer/smooth_red_sandstone_to_red_sand' }) + //#endregion + + //#endregion + + //#region Обрезанный Красный Песчанник + + //#region Блок + e.remove({ id: 'minecraft:cut_red_sandstone' }) + e.remove({ id: 'minecraft:cut_red_sandstone_from_red_sandstone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/cut_red_sandstone_slab_saw' }) + e.remove({ id: 'minecraft:cut_red_sandstone_slab_from_red_sandstone_stonecutting' }) + e.remove({ id: 'minecraft:cut_red_sandstone_slab_from_cut_red_sandstone_stonecutting' }) + //#endregion + + //#endregion + + //#region Морской Фонарь + e.remove({ id: 'gtceu:assembler/sea_lantern' }) + //#endregion + + //#region Сырой Призмарин + + //#region Блок + e.remove({ id: 'gtceu:packer/prismarine' }) + + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:prismarine_stairs' }) + e.remove({ id: 'minecraft:prismarine_stairs_from_prismarine_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/prismarine_slab_saw' }) + e.remove({ id: 'minecraft:prismarine_slab_from_prismarine_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:prismarine_wall' }) + e.remove({ id: 'minecraft:prismarine_wall_from_prismarine_stonecutting' }) + //#endregion + + //#endregion + + //#region Кирпичный Призмарин + + //#region Блок + e.remove({ id: 'gtceu:packer/prismarine_bricks' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:prismarine_brick_stairs' }) + e.remove({ id: 'minecraft:prismarine_brick_stairs_from_prismarine_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/prismarine_brick_slab_saw' }) + e.remove({ id: 'minecraft:prismarine_brick_slab_from_prismarine_stonecutting' }) + //#endregion + + //#endregion + + //#region Темный Призмарин + + //#region Блок + e.remove({ id: 'gtceu:chemical_bath/dark_prismarine' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:dark_prismarine_stairs' }) + e.remove({ id: 'minecraft:dark_prismarine_stairs_from_dark_prismarine_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/dark_prismarine_slab_saw' }) + e.remove({ id: 'minecraft:dark_prismarine_slab_from_dark_prismarine_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Незеррак + e.remove({ id: 'create:crushing/nether_gold_ore' }) + e.remove({ id: 'create:crushing/nether_quartz_ore' }) + //#endregion + + //#region Кирпичи Неззерак + + //#region Блок + // Нечего удалять, уипии + // e.remove({ id: '' }) + //#endregion + + //#region Треснутый Блок + e.remove({ id: 'minecraft:cracked_nether_bricks' }) + //#endregion + + //#region Резной Блок + e.remove({ id: 'minecraft:chiseled_nether_bricks' }) + e.remove({ id: 'minecraft:chiseled_nether_bricks_from_nether_bricks_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:nether_brick_stairs' }) + e.remove({ id: 'minecraft:nether_brick_stairs_from_nether_bricks_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/nether_brick_slab_saw' }) + e.remove({ id: 'minecraft:nether_brick_slab_from_nether_bricks_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:nether_brick_wall' }) + e.remove({ id: 'minecraft:nether_brick_wall_from_nether_bricks_stonecutting' }) + //#endregion + + //#region Забор + e.remove({ id: 'minecraft:nether_brick_fence' }) + e.remove({ id: 'gtceu:assembler/nether_brick_fence' }) + //#endregion + + //#endregion + + //#region Кирпичи Красный Неззерак + + //#region Блок + e.remove({ id: 'gtceu:alloy_smelter/red_nether_bricks' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:red_nether_brick_stairs' }) + e.remove({ id: 'minecraft:red_nether_brick_stairs_from_red_nether_bricks_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/red_nether_brick_slab_saw' }) + e.remove({ id: 'minecraft:red_nether_brick_slab_from_red_nether_bricks_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:red_nether_brick_wall' }) + e.remove({ id: 'minecraft:red_nether_brick_wall_from_red_nether_bricks_stonecutting' }) + //#endregion + + //#endregion + + //#region Базальт + + //#region Сырой Блок + e.remove({ id: 'gtceu:rock_breaker/basalt' }) + //#endregion + + //#region Гладкий Блок + e.remove({ id: 'minecraft:smooth_basalt' }) + //#endregion + + //#region Полированный Блок + e.remove({ id: 'minecraft:polished_basalt' }) + e.remove({ id: 'minecraft:polished_basalt_from_basalt_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Черный Камень + + //#region Блок + e.remove({ id: 'gtceu:rock_breaker/blackstone' }) + e.remove({ id: 'create:crushing/gilded_blackstone' }) + e.remove({ id: 'beneath:crafting/blackstone' }) + //#endregion + + //#region Пощолоченный Блок + // Нет рецептов, имба! + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:blackstone_stairs' }) + e.remove({ id: 'minecraft:blackstone_stairs_from_blackstone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/blackstone_slab_saw' }) + e.remove({ id: 'minecraft:blackstone_slab_from_blackstone_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:blackstone_wall' }) + e.remove({ id: 'minecraft:blackstone_wall_from_blackstone_stonecutting' }) + //#endregion + + //#endregion + + //#region Полированный Черный Камень + + //#region Блок + e.remove({ id: 'minecraft:polished_blackstone' }) + e.remove({ id: 'minecraft:polished_blackstone_from_blackstone_stonecutting' }) + //#endregion + + //#region Резной Блок + e.remove({ id: 'minecraft:chiseled_polished_blackstone' }) + e.remove({ id: 'minecraft:chiseled_polished_blackstone_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:chiseled_polished_blackstone_from_polished_blackstone_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:polished_blackstone_stairs' }) + e.remove({ id: 'minecraft:polished_blackstone_stairs_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_stairs_from_polished_blackstone_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/polished_blackstone_slab_saw' }) + e.remove({ id: 'minecraft:polished_blackstone_slab_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_slab_from_polished_blackstone_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:polished_blackstone_wall' }) + e.remove({ id: 'minecraft:polished_blackstone_wall_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_wall_from_polished_blackstone_stonecutting' }) + //#endregion + + //#region Нажимная плита + e.remove({ id: 'minecraft:polished_blackstone_pressure_plate' }) + e.remove({ id: 'beneath:crafting/blackstone_plate' }) + //#endregion + + //#region Кнопка + e.remove({ id: 'minecraft:polished_blackstone_button' }) + e.remove({ id: 'beneath:crafting/blackstone_button' }) + //#endregion + + //#endregion + + //#region Кирпичный Черный Камень + + //#region Блок + e.remove({ id: 'minecraft:polished_blackstone_bricks' }) + e.remove({ id: 'minecraft:polished_blackstone_bricks_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_bricks_from_polished_blackstone_stonecutting' }) + e.remove({ id: 'beneath:crafting/blackstone_bricks' }) + //#endregion + + //#region Треснувший Блок + e.remove({ id: 'minecraft:cracked_polished_blackstone_bricks' }) + e.remove({ id: 'beneath:crafting/cracked_blackstone_bricks' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:polished_blackstone_brick_stairs' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_stairs_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_stairs_from_polished_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_stairs_from_polished_blackstone_bricks_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/polished_blackstone_brick_slab_saw' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_slab_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_slab_from_polished_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_slab_from_polished_blackstone_bricks_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:polished_blackstone_brick_wall' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_wall_from_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_wall_from_polished_blackstone_stonecutting' }) + e.remove({ id: 'minecraft:polished_blackstone_brick_wall_from_polished_blackstone_bricks_stonecutting' }) + //#endregion + + //#endregion + + //#region Сырой Эндерняк + + //#region Блок + // Нет рецептов, аааа... + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + //#endregion + + //#endregion + + //#region Кирпичный Эндерняк + + //#region Блок + e.remove({ id: 'minecraft:end_stone_bricks_from_end_stone_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:end_stone_brick_stairs' }) + e.remove({ id: 'minecraft:end_stone_brick_stairs_from_end_stone_stonecutting' }) + e.remove({ id: 'minecraft:end_stone_brick_stairs_from_end_stone_brick_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/end_stone_brick_slab_saw' }) + e.remove({ id: 'minecraft:end_stone_brick_slab_from_end_stone_stonecutting' }) + e.remove({ id: 'minecraft:end_stone_brick_slab_from_end_stone_brick_stonecutting' }) + //#endregion + + //#region Стена + e.remove({ id: 'minecraft:end_stone_brick_wall' }) + e.remove({ id: 'minecraft:end_stone_brick_wall_from_end_stone_stonecutting' }) + e.remove({ id: 'minecraft:end_stone_brick_wall_from_end_stone_brick_stonecutting' }) + //#endregion + + //#endregion + + //#region Пурпур + + //#region Блок + e.remove({ id: 'gtceu:compressor/purpur_block' }) + //#endregion + + //#region Колонна + e.remove({ id: 'minecraft:purpur_pillar_from_purpur_block_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:purpur_stairs' }) + e.remove({ id: 'minecraft:purpur_stairs_from_purpur_block_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/purpur_slab_saw' }) + e.remove({ id: 'minecraft:purpur_slab_from_purpur_block_stonecutting' }) + //#endregion + + //#endregion + + //#region Металлические прутья + e.remove({ id: 'gtceu:shaped/iron_bars' }) + e.remove({ id: 'gtceu:assembler/iron_nars' }) + //#endregion + + //#region Железная дверь + e.remove({ id: 'gtceu:shaped/iron_door' }) + e.remove({ id: 'gtceu:assembler/iron_door' }) + + e.recipes.gtceu.assembler('tfg:iron_door') + .itemInputs('#tfg:all_iron_plates') + .circuit(8) + .itemOutputs('minecraft:iron_door') + .EUt(GTValues.VA[GTValues.ULV]).duration(400) + + //#endregion + + //#region Железный люк + e.remove({ id: 'gtceu:shaped/iron_trapdoor' }) + e.remove({ id: 'gtceu:assembler/iron_trapdoor' }) + //#endregion + + //#region Железная нажимная плита + e.remove({ id: 'tfc:crafting/vanilla/redstone/heavy_weighted_pressure_plate' }) + e.remove({ id: 'gtceu:shaped/light_weighted_pressure_plate' }) + e.remove({ id: 'gtceu:assembler/heavy_weighted_pressure_plate' }) + + e.shaped('minecraft:heavy_weighted_pressure_plate', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: '#tfg:all_iron_screws', + B: '#tfc:hammers', + C: '#tfg:all_iron_plates', + D: '#tfg:all_iron_springs', + E: '#forge:tools/screwdrivers' + }).id('tfg:workbench/heavy_weighted_pressure_plate') + + e.recipes.gtceu.assembler('heavy_weighted_pressure_plate') + .itemInputs('#tfg:all_iron_plates', '#tfg:all_iron_springs') + .circuit(0) + .itemOutputs('minecraft:heavy_weighted_pressure_plate') + .EUt(GTValues.VA[GTValues.LV]).duration(200) + + //#endregion + + //#region Цепь + e.remove({ id: 'gtceu:shaped/chain' }) + e.remove({ id: 'gtceu:assembler/chain' }) + //#endregion + + //#region Золотая нажимная плита + e.remove({ id: 'gtceu:shaped/heavy_weighted_pressure_plate' }) + e.remove({ id: 'gtceu:assembler/light_weighted_pressure_plate' }) + + e.shaped('minecraft:light_weighted_pressure_plate', [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: '#tfg:all_iron_screws', + B: '#tfc:hammers', + C: '#forge:plates/gold', + D: '#tfg:all_iron_springs', + E: '#forge:tools/screwdrivers' + }).id('tfg:workbench/light_weighted_pressure_plate') + + e.recipes.gtceu.assembler('tfg:light_weighted_pressure_plate') + .itemInputs('#forge:plates/gold', '#tfg:all_iron_springs') + .circuit(0) + .itemOutputs('4x minecraft:light_weighted_pressure_plate') + .EUt(GTValues.VA[GTValues.LV]).duration(200) + + //#endregion + + //#region Блок лазурита + e.remove({ id: 'tfc:crafting/vanilla/lapis_block' }) + //#endregion + + //#region Сырой Кварц + + //#region Блок + // Нечего удалять :) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + // e.remove({ id: '' }) + //#endregion + + //#region Опора + e.remove({ id: 'minecraft:quartz_pillar_from_quartz_block_stonecutting' }) + //#endregion + + //#region Резной + e.remove({ id: 'minecraft:chiseled_quartz_block_from_quartz_block_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:quartz_stairs' }) + e.remove({ id: 'minecraft:quartz_stairs_from_quartz_block_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/quartz_slab_saw' }) + e.remove({ id: 'minecraft:quartz_slab_from_stonecutting' }) + //#endregion + + //#endregion + + //#region Кирпичи Кварц + + //#region Блок + e.remove({ id: 'minecraft:quartz_bricks' }) + e.remove({ id: 'minecraft:quartz_bricks_from_quartz_block_stonecutting' }) + //#endregion + + //#endregion + + //#region Гладкий Кварц + + //#region Блок + e.remove({ id: 'minecraft:smooth_quartz' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:smooth_quartz_stairs' }) + e.remove({ id: 'minecraft:smooth_quartz_stairs_from_smooth_quartz_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/smooth_quartz_slab_saw' }) + e.remove({ id: 'minecraft:smooth_quartz_slab_from_smooth_quartz_stonecutting' }) + //#endregion + + //#endregion + + //#region Медь Блоки + + //#region Ржавчина 0 + + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion + + //#region Блок + e.remove({ id: 'minecraft:cut_copper' }) + e.remove({ id: 'minecraft:cut_copper_from_copper_block_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:cut_copper_stairs' }) + e.remove({ id: 'minecraft:cut_copper_stairs_from_copper_block_stonecutting' }) + e.remove({ id: 'minecraft:cut_copper_stairs_from_cut_copper_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:cut_copper_slab_from_copper_block_stonecutting' }) + e.remove({ id: 'minecraft:cut_copper_slab_from_cut_copper_stonecutting' }) + //#endregion + + //#endregion + + //#region Ржавчина 1 + + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion + + //#region Блок + e.remove({ id: 'minecraft:exposed_cut_copper' }) + e.remove({ id: 'minecraft:exposed_cut_copper_from_exposed_copper_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:exposed_cut_copper_stairs' }) + e.remove({ id: 'minecraft:exposed_cut_copper_stairs_from_exposed_copper_stonecutting' }) + e.remove({ id: 'minecraft:exposed_cut_copper_stairs_from_exposed_cut_copper_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/exposed_cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:exposed_cut_copper_slab_from_exposed_copper_stonecutting' }) + e.remove({ id: 'minecraft:exposed_cut_copper_slab_from_exposed_cut_copper_stonecutting' }) + //#endregion + + //#endregion + + //#region Ржавчина 2 + + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion + + //#region Блок + e.remove({ id: 'minecraft:weathered_cut_copper' }) + e.remove({ id: 'minecraft:weathered_cut_copper_from_weathered_copper_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:weathered_cut_copper_stairs' }) + e.remove({ id: 'minecraft:weathered_cut_copper_stairs_from_weathered_copper_stonecutting' }) + e.remove({ id: 'minecraft:weathered_cut_copper_stairs_from_weathered_cut_copper_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/weathered_cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:weathered_cut_copper_slab_from_weathered_copper_stonecutting' }) + e.remove({ id: 'minecraft:weathered_cut_copper_slab_from_weathered_cut_copper_stonecutting' }) + //#endregion + + //#endregion + + //#region Ржавчина 3 + + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion + + //#region Блок + e.remove({ id: 'minecraft:oxidized_cut_copper' }) + e.remove({ id: 'minecraft:oxidized_cut_copper_from_oxidized_copper_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:oxidized_cut_copper_stairs' }) + e.remove({ id: 'minecraft:oxidized_cut_copper_stairs_from_oxidized_copper_stonecutting' }) + e.remove({ id: 'minecraft:oxidized_cut_copper_stairs_from_oxidized_cut_copper_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/oxidized_cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:oxidized_cut_copper_slab_from_oxidized_copper_stonecutting' }) + e.remove({ id: 'minecraft:oxidized_cut_copper_slab_from_oxidized_cut_copper_stonecutting' }) + //#endregion + + //#endregion + + //#region Ржавчина 0 (Медовые) + + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion + + //#region Блок + e.remove({ id: 'minecraft:waxed_cut_copper' }) + e.remove({ id: 'minecraft:waxed_cut_copper_from_waxed_copper_block_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:waxed_cut_copper_stairs' }) + e.remove({ id: 'minecraft:waxed_cut_copper_stairs_from_waxed_copper_block_stonecutting' }) + e.remove({ id: 'minecraft:waxed_cut_copper_stairs_from_waxed_cut_copper_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/waxed_cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:waxed_cut_copper_slab_from_waxed_copper_block_stonecutting' }) + e.remove({ id: 'minecraft:waxed_cut_copper_slab_from_waxed_cut_copper_stonecutting' }) + //#endregion + + //#endregion + + //#region Ржавчина 1 (Медовые) + + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion + + //#region Блок + e.remove({ id: 'minecraft:waxed_exposed_cut_copper' }) + e.remove({ id: 'minecraft:waxed_exposed_cut_copper_from_waxed_exposed_copper_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:waxed_exposed_cut_copper_stairs' }) + e.remove({ id: 'minecraft:waxed_exposed_cut_copper_stairs_from_waxed_exposed_copper_stonecutting' }) + e.remove({ id: 'minecraft:waxed_exposed_cut_copper_stairs_from_waxed_exposed_cut_copper_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/waxed_exposed_cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:waxed_exposed_cut_copper_slab_from_waxed_exposed_copper_stonecutting' }) + e.remove({ id: 'minecraft:waxed_exposed_cut_copper_slab_from_waxed_exposed_cut_copper_stonecutting' }) + //#endregion + + //#endregion + + //#region Ржавчина 2 (Медовые) + + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion + + //#region Блок + e.remove({ id: 'minecraft:waxed_weathered_cut_copperr' }) + e.remove({ id: 'minecraft:waxed_weathered_cut_copper_from_waxed_weathered_copper_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:waxed_weathered_cut_copper_stairs' }) + e.remove({ id: 'minecraft:waxed_weathered_cut_copper_stairs_from_waxed_weathered_copper_stonecutting' }) + e.remove({ id: 'minecraft:waxed_weathered_cut_copper_stairs_from_waxed_weathered_cut_copper_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/waxed_weathered_cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:waxed_weathered_cut_copper_slab_from_waxed_weathered_copper_stonecutting' }) + e.remove({ id: 'minecraft:waxed_weathered_cut_copper_slab_from_waxed_weathered_cut_copper_stonecutting' }) + //#endregion + + //#endregion + + //#region Ржавчина 3 (Медовые) + + //#region Гладкий блок + // Нечего удалять, по кайфу + // e.remove({ id: '' }) + //#endregion + + //#region Блок + e.remove({ id: 'minecraft:waxed_oxidized_cut_copper' }) + e.remove({ id: 'minecraft:waxed_oxidized_cut_copper_from_waxed_oxidized_copper_stonecutting' }) + //#endregion + + //#region Ступень + e.remove({ id: 'minecraft:waxed_oxidized_cut_copper_stairs' }) + e.remove({ id: 'minecraft:waxed_oxidized_cut_copper_stairs_from_waxed_oxidized_copper_stonecutting' }) + e.remove({ id: 'minecraft:waxed_oxidized_cut_copper_stairs_from_waxed_oxidized_cut_copper_stonecutting' }) + //#endregion + + //#region Полублок + e.remove({ id: 'gtceu:shaped/waxed_oxidized_cut_copper_slab_saw' }) + e.remove({ id: 'minecraft:waxed_oxidized_cut_copper_slab_from_waxed_oxidized_copper_stonecutting' }) + e.remove({ id: 'minecraft:waxed_oxidized_cut_copper_slab_from_waxed_oxidized_cut_copper_stonecutting' }) + //#endregion + + //#endregion + + // for (let i = 0; i < global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS.length; i++) { + // let element = global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS[i]; + + // // Создание ржавчины + // if (i < global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS.length / 2 - 1) { + + // let element2 = global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS[i + 1] + + // e.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_block_${element.name}`) + // .itemInputs(element.block) + // .inputFluids(Fluid.of('minecraft:water', 150)) + // .circuit(1) + // .itemOutputs(element2.block) + // .duration(1000) + // .EUt(4) + + // e.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_cutted_${element.name}`) + // .itemInputs(element.cutted) + // .inputFluids(Fluid.of('minecraft:water', 150)) + // .circuit(1) + // .itemOutputs(element2.cutted) + // .duration(1000) + // .EUt(4) + + // e.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_stairs_${element.name}`) + // .itemInputs(element.stairs) + // .inputFluids(Fluid.of('minecraft:water', 150)) + // .circuit(1) + // .itemOutputs(element2.stairs) + // .duration(1000) + // .EUt(4) + + // e.recipes.gtceu.chemical_reactor(`tfg:minecraft/oxidizing_slabs_${element.name}`) + // .itemInputs(element.slabs) + // .inputFluids(Fluid.of('minecraft:water', 150)) + // .circuit(1) + // .itemOutputs(element2.slabs) + // .duration(1000) + // .EUt(4) + // } else if (i > global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS.length / 2 - 1) { + // let element2 = global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS[i - global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS.length / 2] + + // e.recipes.gtceu.assembler(`tfg:minecraft/waxing_block_${element.name}`) + // .itemInputs(element2.block, 'firmalife:beeswax') + // .circuit(1) + // .itemOutputs(element.block) + // .duration(50) + // .EUt(4) + + // e.recipes.gtceu.assembler(`tfg:minecraft/waxing_cutted_${element.name}`) + // .itemInputs(element2.cutted, 'firmalife:beeswax') + // .circuit(1) + // .itemOutputs(element.cutted) + // .duration(50) + // .EUt(4) + + // e.recipes.gtceu.assembler(`tfg:minecraft/waxing_stairs_${element.name}`) + // .itemInputs(element2.stairs, 'firmalife:beeswax') + // .circuit(1) + // .itemOutputs(element.stairs) + // .duration(50) + // .EUt(4) + + // e.recipes.gtceu.assembler(`tfg:minecraft/waxing_slabs_${element.name}`) + // .itemInputs(element2.slabs, 'firmalife:beeswax') + // .circuit(1) + // .itemOutputs(element.slabs) + // .duration(50) + // .EUt(4) + + // } + + // // Обрезанный блок + + // e.stonecutting(element.cutted, element.block) + // .id(`tfg:stonecutting/cutted_${element.name}`) + + // generateCutterRecipe(e, element.block, 4, element.cutted, 100, 8, `cutted_${element.name}`) + + // // Not working, because JS is shit! + // // e.recipes.tfc.chisel(element.cutted, element.block, 'smooth') + // // .id(`tfg:chisel/cutted_${element.name}`) + + // // Ступени + + // e.stonecutting(element.stairs, element.cutted) + // .id(`tfg:stonecutting/stairs_${element.name}`) + + // generateCutterRecipe(e, element.cutted, 0, [element.stairs, 'gtceu:small_copper_dust'], 100, 8, `stairs_${element.name}`) + + // // Not working, because JS is shit! + // // e.recipes.tfc.chisel(element.stair, element.cutted, 'stair') + // // .id(`tfg:chisel/stair_${element.name}`) + + // // Полублоки + + // e.stonecutting(element.slabs, element.cutted) + // .id(`tfg:stonecutting/slabs_${element.name}`) + + // generateCutterRecipe(e, element.cutted, 1, [element.slabs, '2x gtceu:small_copper_dust'], 100, 8, `slabs_${element.name}`) + + // // Not working, because JS is shit! + // // e.recipes.tfc.chisel(element.slab, element.cutted, 'slab') + // // .id(`tfg:chisel/slab_${element.name}`) + + // } + + //#endregion + + //#region Шерсть + + //#region Белая + e.remove({ id: 'gtceu:assembler/wool_from_string' }) + + e.recipes.gtceu.assembler('tfg:wool_from_string') + .itemInputs('4x #forge:string') + .circuit(4) + .itemOutputs('minecraft:white_wool') + .EUt(4).duration(100) + + //#endregion + + //#endregion + + //#region Ковры + global.MINECRAFT_DYE_NAMES.forEach(dye => { + + e.shapeless(`2x minecraft:${dye}_carpet`, [ + '#tfc:saws', + `minecraft:${dye}_wool` + ]).id(`tfg:workbench/${dye}_carpet`) + + }) + //#endregion + + //#region Стекло + + //#region Бесцветное + e.remove({ id: 'create:smelting/glass_from_tiled_glass' }) + e.remove({ id: 'create:smelting/glass_from_framed_glass' }) + e.remove({ id: 'create:smelting/glass_from_horizontal_framed_glass' }) + e.remove({ id: 'create:smelting/glass_from_vertical_framed_glass' }) + + e.remove({ id: 'gtceu:arc_furnace/glass_from_sand' }) + e.recipes.gtceu.arc_furnace('tfg:glass_from_sand') + .itemInputs('#forge:sand') + .itemOutputs('2x minecraft:glass') + .EUt(30).duration(20) + + //#endregion + + //#endregion + + //#region Шалкеры + // TODO: Вернуть рецепты, когда добавим, что-то магическое, из чего можно будет сделать панцири + + e.remove({ id: 'minecraft:shulker_box' }) + e.remove({ id: 'gtceu:assembler/purple_shulker_box' }) + + global.MINECRAFT_DYE_NAMES.forEach(dye => { + e.remove({ id: `tfc:barrel/dye/${dye}_shulker` }) + }) + //#endregion + + //#region Кровати + global.MINECRAFT_DYE_NAMES.forEach(dye => { + e.remove({ id: `gtceu:shaped/${dye}_bed` }) + e.remove({ id: `tfc:crafting/vanilla/color/${dye}_bed` }) + }) + + e.shaped(`minecraft:white_bed`, [ + 'AAA', + 'BBB', + 'CDC' + ], { + A: '#tfc:sewing_light_cloth', + B: '#minecraft:planks', + C: '#minecraft:wooden_fences', + D: '#forge:tools/mallets' + }).id(`tfg:workbench/white_bed`) + + e.recipes.gtceu.assembler('tfg:white_bed') + .itemInputs('3x minecraft:white_wool', '4x #minecraft:planks') + .circuit(1) + .itemOutputs('minecraft:white_bed') + .EUt(16).duration(250) + //#endregion + + //#region Свечи + e.remove({ id: `gtceu:shaped/candle` }) + e.remove({ id: `gtceu:chemical_bath/decolor_candle` }) + e.remove({ id: `gtceu:fluid_solidifier/candle` }) + + global.MINECRAFT_DYE_NAMES.forEach(dye => { + e.remove({ id: `minecraft:${dye}_candle` }) + e.remove({ id: `gtceu:chemical_bath/${dye}_candle_to_white` }) + e.remove({ id: `gtceu:chemical_bath/dye_candle_to_${dye}` }) + }) + //#endregion + + //#region Баннеры + global.MINECRAFT_DYE_NAMES.forEach(dye => { + e.remove({ id: `gtceu:assembler/${dye}_banner` }) + + e.recipes.gtceu.extractor(`tfg:${dye}_banner`) + .itemInputs('minecraft:white_wool', '#forge:rods/wooden') + .circuit(6) + .itemOutputs(`minecraft:${dye}_banner`) + .EUt(7).duration(20) + }) + + + //#endregion + + //#region Земля + e.remove({ id: 'gtceu:macerator/dirt_from_bio_chaff' }) + e.remove({ id: 'create:filling/grass_block' }) + //#endregion + + //#region Тропинка + e.remove({ id: 'create:pressing/path' }) + //#endregion + + //#region Дерн + e.remove({ id: 'gtceu:macerator/dirt_from_bio_chaff' }) + e.remove({ id: 'ae2:entropy/cool/grass_block_dirt' }) + //#endregion + + //#region Подсушенный дерн + e.remove({ id: 'gtceu:mixer/coarse_dirt' }) + e.remove({ id: 'gtceu:create_mixer/coarse_dirt' }) + //#endregion + + //#region Грязь + e.remove({ id: 'gtceu:centrifuge/muddy_mangrove_roots' }) + e.remove({ id: 'gtceu:mixer/mud' }) + e.remove({ id: 'gtceu:create_mixer/mud' }) + //#endregion + + //#region Мангровые корни в грязи + e.remove({ id: 'minecraft:muddy_mangrove_roots' }) + + //#endregion + + //#region Глина + e.remove({ id: 'gtceu:compressor/mud_to_clay' }) + //#endregion + + //#region Гравий + e.remove({ id: 'gtceu:forge_hammer/cobblestone_to_gravel' }) + e.remove({ id: 'create:milling/cobblestone' }) + //#endregion + + //#region Песок + e.remove({ id: 'gtceu:centrifuge/oilsands_ore_separation' }) + e.remove({ id: 'gtceu:centrifuge/dirt_separation' }) + e.remove({ id: 'gtceu:centrifuge/soul_sand_separation' }) + e.remove({ id: 'gtceu:centrifuge/grass_block_separation' }) + e.remove({ id: 'gtceu:centrifuge/red_sand_separation' }) + e.remove({ id: 'gtceu:centrifuge/oilsands_dust_separation' }) + e.remove({ id: 'gtceu:centrifuge/endstone_separation' }) + e.remove({ id: 'gtceu:centrifuge/mycelium_separation' }) + + e.remove({ id: 'gtceu:forge_hammer/sandstone_to_sand' }) + e.remove({ id: 'gtceu:forge_hammer/gravel_to_sand' }) + e.remove({ id: 'gtceu:forge_hammer/chiseled_sandstone_to_sand' }) + e.remove({ id: 'gtceu:forge_hammer/smooth_sandstone_to_sand' }) + + e.remove({ id: 'create:crushing/gravel' }) + e.remove({ id: 'create:milling/sandstone' }) + //#endregion + + //#region Красный песок + e.remove({ id: 'gtceu:forge_hammer/red_sandstone_to_red_sand' }) + e.remove({ id: 'gtceu:forge_hammer/chiseled_red_sandstone_to_red_sand' }) + + e.remove({ id: 'create:milling/granite' }) + e.remove({ id: 'create:milling/terracotta' }) + //#endregion + + //#region Плотный лед + e.remove({ id: 'minecraft:packed_ice' }) + //#endregion + + //#region Синий лед + e.remove({ id: 'minecraft:blue_ice' }) + //#endregion + + //#region Снег + e.remove({ id: 'minecraft:snow' }) + //#endregion + + //#region Ковер из мха + e.remove({ id: 'minecraft:moss_carpet' }) + //#endregion + + //#region Кальцит + e.remove({ id: 'create:calcite_from_stone_types_calcite_stonecutting' }) + //#endregion + + //#region Туф + e.remove({ id: 'create:tuff_from_stone_types_tuff_stonecutting' }) + //#endregion + + //#region Капельник + e.remove({ id: 'minecraft:dripstone_block' }) + e.remove({ id: 'create:dripstone_block_from_stone_types_dripstone_stonecutting' }) + e.remove({ id: 'gtceu:compressor/dripstone_block_from_pointed_dripstone' }) + //#endregion + + //#region Капающий капельник + e.remove({ id: 'gtceu:forge_hammer/pointed_dripstone_from_dripstone_block' }) + //#endregion + + //#region Сырые блоки руды + + //#region Железо + e.remove({ id: 'minecraft:raw_iron_block' }) + //#endregion + + //#region Медь + e.remove({ id: 'minecraft:raw_copper_block' }) + //#endregion + + //#region Золото + e.remove({ id: 'minecraft:raw_gold_block' }) + //#endregion + + //#endregion + + //#region Коричневый гриб + e.remove({ id: 'gtceu:centrifuge/mycelium_separation' }) + e.remove({ id: '' }) + //#endregion + + //#region Адский гриб (Красный) + e.remove({ id: 'create:haunting/crimson_fungus' }) + //#endregion + + //#region Адский гриб (Синий) + e.remove({ id: 'create:haunting/warped_fungus' }) + //#endregion + + //#region Сухой кустик + e.remove({ id: 'create:splashing/red_sand' }) + //#endregion + + //#region Семяна пшеницы + e.remove({ id: 'create:milling/large_fern' }) + e.remove({ id: 'create:milling/fern' }) + e.remove({ id: 'create:milling/tall_grass' }) + e.remove({ id: 'create:milling/wheat' }) + e.remove({ id: 'create:milling/grass' }) + //#endregion + + //#region Семяна тыквы + e.remove({ id: 'minecraft:pumpkin_seeds' }) + e.remove({ id: 'gtceu:macerator/macerate_pumpkin' }) + //#endregion + + //#region Семяна арбуза + e.remove({ id: 'gtceu:macerator/macerate_melon_slice' }) + e.remove({ id: 'gtceu:macerator/macerate_melon_block' }) + //#endregion + + //#region Семяна свеклы + e.remove({ id: 'create:milling/beetroot' }) + e.remove({ id: 'create:milling/beetroot' }) + //#endregion + + //#region Святящиеся ягоды + e.remove({ id: 'create:haunting/glow_berries' }) + //#endregion + + //#region Высушенный блок водорослей + e.remove({ id: 'minecraft:dried_kelp_block' }) + //#endregion + + //#region Сухая губка + e.recipes.tfc.heating('minecraft:wet_sponge', 790) + .resultItem('minecraft:sponge') + .id('tfg:heating/sponge') + //#endregion + + //#region Арбуз + e.remove({ id: 'gtceu:packer/melon' }) + //#endregion + + //#region Светящаяся тыква + e.remove({ id: 'gtceu:shaped/lit_pumpkin' }) + e.remove({ id: 'gtceu:canner/jack_o_lantern' }) + + e.shaped('minecraft:jack_o_lantern', [ + 'AC', + 'B ' + ], { + A: 'tfc:pumpkin', + B: 'minecraft:glowstone', + C: '#forge:tools/knives' + }).id('tfg:workbench/jack_o_lantern') + + e.recipes.gtceu.canner('tfg:jack_o_lantern') + .itemInputs('tfc:pumpkin', 'minecraft:glowstone') + .itemOutputs('minecraft:jack_o_lantern') + .EUt(4).duration(100) + //#endregion + + //#region Блок сена + e.remove({ id: 'gtceu:packer/hay_block' }) + + e.recipes.gtceu.packer('tfg:hay_block') + .itemInputs('9x tfc:straw') + .itemOutputs('minecraft:hay_block') + .EUt(2).duration(200) + + //#endregion + + //#region Факел + + //#region В Верстаке + + //#region Из креозота + + // TODO: Починить рецепт + e.remove({ id: 'gtceu:shaped/torch_creosote' }) + + //#endregion + + //#region Из серы + e.remove({ id: 'gtceu:shaped/torch_sulfur' }) + + e.shaped('2x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:sulfur_dust', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_sulfur') + + //#endregion + + //#region Из фосфора + e.remove({ id: 'gtceu:shaped/torch_phosphorus' }) + + e.shaped('6x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:phosphorus_dust', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_phosphorus') + + //#endregion + + //#region Из коксовой пыли + e.remove({ id: 'gtceu:shaped/torch_coke_dust' }) + + e.shaped('8x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:coke_dust', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_coke_dust') + //#endregion + + //#region Из коксового гема + e.remove({ id: 'gtceu:shaped/torch_coke' }) + + e.shaped('8x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:coke_gem', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_coke') + //#endregion + + //#region Из угольной пыли + e.remove({ id: 'gtceu:shaped/torch_coal_dust' }) + + e.shaped('4x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:coal_dust', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_coal_dust') + //#endregion + + //#region Из угольного гема + e.shaped('4x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'minecraft:coal', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_coal') + //#endregion + + //#region Из древесно-угольной пыли + e.remove({ id: 'gtceu:shaped/torch_charcoal_dust' }) + + e.shaped('4x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:charcoal_dust', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_charcoal_dust') + //#endregion + + //#region Из древесно-угольного гема + e.shaped('4x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'minecraft:charcoal', + B: '#tfc:can_be_lit_on_torch' + }).id('tfg:workbench/torch_charcoal') + //#endregion + + //#region Из сырой резины + e.remove({ id: 'gtceu:shaped/sticky_resin_torch' }) + + e.shaped('3x tfc:dead_torch', [ + 'A', + 'B' + ], { + A: 'gtceu:sticky_resin', + B: '#tfc:can_be_lit_on_torch' + }).id('gtceu:shaped/sticky_resin_torch') + //#endregion + + //#endregion + + //#region В сборщике + e.remove({ id: 'gtceu:assembler/torch_phosphorus' }) + e.remove({ id: 'gtceu:assembler/torch_sulfur' }) + e.remove({ id: 'gtceu:assembler/torch_coke_dust' }) + e.remove({ id: 'gtceu:assembler/torch_coal_dust' }) + e.remove({ id: 'gtceu:assembler/torch_charcoal_dust' }) + e.remove({ id: 'gtceu:assembler/torch_coal' }) + e.remove({ id: 'gtceu:assembler/torch_coke_gem' }) + //#endregion + + //#region Мертвый факел в обычный + e.smelting('tfc:torch', 'tfc:dead_torch') + .id('tfg:smelting/dead_torch_to_torch') + //#endregion + + //#endregion + + //#region Красный факел + e.remove({ id: 'gtceu:shaped/redstone_torch' }) + + e.shaped('minecraft:redstone_torch', [ + 'A', + 'B' + ], { + A: 'tfc:torch', + B: 'minecraft:redstone' + }).id('tfg:workbench/redstone_torch') + //#endregion + + //#region Факел душ + e.remove({ id: 'gtceu:shaped/soul_torch' }) + e.remove({ id: 'gtceu:assembler/soul_torch' }) + e.remove({ id: 'create:haunting/soul_torch' }) + + e.shaped('minecraft:soul_torch', [ + 'BA' + ], { + A: 'tfc:torch', + B: '#minecraft:soul_fire_base_blocks' + }).id('tfg:workbench/soul_torch') + + e.recipes.create.haunting('minecraft:soul_torch', 'tfc:torch') + .id('tfg:haunting/soul_torch') + //#endregion + + //#region Фонарь + e.remove({ id: 'gtceu:shaped/lantern' }) + e.remove({ id: 'gtceu:assembler/lantern' }) + //#endregion + + //#region Фонарь душ + e.remove({ id: 'gtceu:shaped/soul_lantern' }) + e.remove({ id: 'gtceu:assembler/soul_lantern' }) + e.remove({ id: 'create:haunting/soul_lantern' }) + + e.recipes.create.haunting('minecraft:soul_lantern', '#tfc:lamps') + .id('tfg:haunting/soul_lantern') + //#endregion + + //#region Стержень энда + e.remove({ id: 'minecraft:end_rod' }) + e.remove({ id: 'gtceu:assembler/end_rod' }) + //#endregion + + //#region Верстак + e.remove({ id: 'gtceu:shaped/crafting_table' }) + e.remove({ id: 'tfc:crafting/vanilla/crafting_table' }) + e.remove({ id: 'gtceu:assembler/crafting_table' }) + //#endregion + + //#region Камнерез + e.remove({ id: 'gtceu:shaped/stonecutter' }) + e.remove({ id: 'gtceu:assembler/stonecutter' }) + //#endregion + + //#region Стол картографа + e.remove({ id: 'gtceu:shaped/cartography_table' }) + e.remove({ id: 'gtceu:assembler/cartography_table' }) + //#endregion + + //#region Стол лучника + e.remove({ id: 'gtceu:shaped/fletching_table' }) + e.remove({ id: 'gtceu:assembler/fletching_table' }) + //#endregion + + //#region Стол кузнеца + e.remove({ id: 'tfc:crafting/vanilla/smithing_table' }) + //#endregion + + //#region Точильный камень + e.remove({ id: 'gtceu:shaped/grindstone' }) + e.remove({ id: 'gtceu:assembler/grindstone' }) + + e.shaped('minecraft:grindstone', [ + 'h s', + 'ABA', + 'CfC' + ], { + A: '#tfg:all_iron_bolts', + B: '#tfg:rock_slabs', + C: 'gtceu:long_wood_rod', + h: '#forge:tools/hammers', + s: '#forge:tools/screwdrivers', + f: '#forge:tools/files', + }).id('tfg:workbench/grindstone') + + e.recipes.gtceu.assembler('tfg:grindstone') + .itemInputs('2x #tfg:all_iron_bolts', '#tfg:rock_slabs', '2x gtceu:long_wood_rod') + .itemOutputs('minecraft:grindstone') + .EUt(4).duration(100) + //#endregion + + //#region Вышивальня + e.remove({ id: 'tfc:crafting/vanilla/loom' }) + e.remove({ id: 'gtceu:shaped/loom' }) + e.remove({ id: 'gtceu:assembler/loom' }) + + e.shaped('minecraft:loom', [ + 'AAA', + 'BsB', + 'CDC' + ], { + A: '#forge:string', + B: 'gtceu:wood_plate', + C: 'gtceu:wood_screw', + D: '#minecraft:planks', + s: '#forge:tools/screwdrivers' + }).id('tfg:workbench/loom') + + e.recipes.gtceu.assembler('tfg:loom') + .itemInputs('3x #forge:string', '2x gtceu:wood_plate', '#minecraft:planks') + .itemOutputs('minecraft:loom') + .EUt(6).duration(100) + //#endregion + + //#region Печь + e.remove({ id: 'gtceu:shaped/furnace' }) + e.remove({ id: 'gtceu:assembler/furnace' }) + //#endregion + + //#region Коптильня + e.remove({ id: 'gtceu:shaped/smoker' }) + e.remove({ id: 'gtceu:assembler/smoker' }) + //#endregion + + //#region Доменка + e.remove({ id: 'gtceu:shaped/blast_furnace' }) + e.remove({ id: 'gtceu:assembler/blast_furnace' }) + //#endregion + + //#region Костер душ + e.remove({ id: 'create:haunting/soul_campfire' }) + //#endregion + + //#region Наковальня + e.remove({ id: 'gtceu:shaped/anvil' }) + e.remove({ id: 'gtceu:alloy_smelter/anvil' }) + e.remove({ id: 'gtceu:fluid_solidifier/solidify_anvil' }) + //#endregion + + //#region Компостница + e.remove({ id: 'gtceu:shaped/composter' }) + e.remove({ id: 'gtceu:assembler/composter' }) + //#endregion + + //#region Нотный блок + e.remove({ id: 'gtceu:shaped/note_block' }) + e.remove({ id: 'gtceu:assembler/note_block' }) + + e.shaped('minecraft:note_block', [ + 'AAA', + 'BCB', + 'BDB' + ], { + A: 'gtceu:wood_plank', + B: '#tfg:metal_bars', + C: '#forge:gears/wood', + D: '#forge:rods/red_alloy', + }).id('tfg:workbench/note_block') + //#endregion + + //#region Варочная стойка + e.remove({ id: 'gtceu:shaped/brewing_stand' }) + //#endregion + + //#region Тигель + e.remove({ id: 'tfc:crafting/vanilla/cauldron' }) + e.remove({ id: 'gtceu:shaped/cauldron' }) + e.remove({ id: 'gtceu:assembler/cauldron' }) + + e.shaped('minecraft:cauldron', [ + 'A A', + 'ABA', + 'AAA' + ], { + A: '#tfg:all_iron_plates', + B: '#tfc:hammers' + }).id('tfg:workbench/cauldron') + + e.recipes.gtceu.assembler('tfg:cauldron') + .itemInputs('7x #tfg:all_iron_plates') + .circuit(7) + .itemOutputs('minecraft:cauldron') + .EUt(4).duration(700) + //#endregion + + //#region Золотой колокол + e.remove({ id: 'gtceu:assembler/bell' }) + + e.recipes.gtceu.assembler('tfg:bell') + .itemInputs('#forge:rods/wooden', '2x #forge:rods/stone', '#forge:plates/gold', '2x #tfg:all_iron_bolts') + .circuit(7) + .itemOutputs('minecraft:bell') + .EUt(7).duration(1400) + //#endregion + + //#region Кондуит + e.remove({ id: 'gtceu:assembler/conduit' }) + //#endregion + + //#region Магнитный камень + e.remove({ id: 'minecraft:lodestone' }) + //#endregion + + //#region Лестница + e.remove({ id: 'tfc:crafting/vanilla/ladder' }) + //#endregion + + //#region Леса + e.remove({ id: 'tfc:crafting/vanilla/scaffolding' }) + e.remove({ id: 'gtceu:shaped/scaffolding' }) + e.remove({ id: 'gtceu:assembler/scaffolding' }) + + e.shaped('3x minecraft:scaffolding', [ + 'ABA', + 'ACA', + 'AmA', + ], { + A: 'minecraft:bamboo', + B: '#forge:string', + C: 'gtceu:wood_screw', + m: '#forge:tools/mallets' + }).id('tfg:workbench/scaffolding') + + e.recipes.gtceu.assembler('tfg:scaffolding') + .itemInputs('6x minecraft:bamboo', '#forge:string') + .itemOutputs('4x minecraft:scaffolding') + .EUt(4).duration(100) + //#endregion + + //#region Улей + e.remove({ id: 'gtceu:shaped/beehive' }) + e.remove({ id: 'gtceu:assembler/beehive' }) + //#endregion + + //#region Громоотвод + e.remove({ id: 'tfc:crafting/vanilla/lightning_rod' }) + //#endregion + + //#region Декоративная ваза + e.remove({ id: 'minecraft:decorated_pot_simple' }) + + e.shaped('minecraft:decorated_pot', [ + ' A ', + 'AfA', + ' A ', + ], { + A: 'minecraft:brick', + f: '#forge:tools/files' + }).id('tfg:workbench/decorated_pot') + + e.recipes.gtceu.assembler('tfg:decorated_pot') + .itemInputs('4x minecraft:brick') + .circuit(12) + .itemOutputs('minecraft:cauldron') + .EUt(3).duration(120) + //#endregion + + //#region Стойка для брони + e.remove({ id: 'tfc:crafting/vanilla/armor_stand' }) + e.remove({ id: 'tfc:crafting/vanilla/armor_stand_bulk' }) + e.remove({ id: 'gtceu:shaped/armor_stand' }) + e.remove({ id: 'gtceu:assembler/armor_stand' }) + + e.shaped('minecraft:armor_stand', [ + 'ABA', + 'hBs', + 'CDC' + ], { + A: 'gtceu:wood_bolt', + B: '#forge:rods/wooden', + C: '#tfg:all_iron_plates', + D: '#forge:smooth_stone_slab', + h: '#forge:tools/hammers', + s: '#forge:tools/saws' + }).id('tfg:workbench/armor_stand') + + e.recipes.gtceu.assembler('tfg:armor_stand') + .itemInputs('#forge:smooth_stone_slab', '2x #forge:rods/wooden', '2x #tfg:all_iron_plates') + .circuit(7) + .itemOutputs('minecraft:armor_stand') + .EUt(7).duration(100) + //#endregion + + //#region Рамка + e.remove({ id: 'gtceu:shaped/item_frame' }) + e.remove({ id: 'tfc:crafting/vanilla/item_frame' }) + e.remove({ id: 'gtceu:assembler/item_frame' }) + + e.shaped('minecraft:item_frame', [ + 'ABA', + 'CDC', + 'CCC', + ], { + A: '#forge:string', + B: '#tfg:all_iron_rings', + C: '#forge:rods/wooden', + D: '#forge:leather', + }).id('tfg:workbench/item_frame') + + e.recipes.gtceu.assembler('tfg:item_frame') + .itemInputs('8x #forge:rods/wooden', '#forge:leather') + .itemOutputs('minecraft:item_frame') + .EUt(4).duration(100) + //#endregion + + //#region Свето-рамка + e.remove({ id: 'minecraft:glow_item_frame' }) + + e.shapeless('minecraft:glow_item_frame', [ + 'minecraft:item_frame', + '#forge:dusts/glowstone' + ]).id('tfg:workbench/glow_item_frame') + + e.recipes.gtceu.assembler('tfg:glow_item_frame') + .itemInputs('2x minecraft:item_frame', '#forge:dusts/glowstone') + .itemOutputs('2x minecraft:glow_item_frame') + .EUt(4).duration(100) + //#endregion + + //#region Картина + e.remove({ id: 'gtceu:shaped/painting' }) + e.remove({ id: 'tfc:crafting/vanilla/painting' }) + + e.shaped('minecraft:painting', [ + 'ABA', + 'CDC', + 'CCC', + ], { + A: '#forge:string', + B: '#tfg:all_iron_rings', + C: '#forge:rods/wooden', + D: '#tfc:high_quality_cloth', + }).id('tfg:workbench/painting') + //#endregion + + //#region Книжные полки + e.remove({ id: 'gtceu:assembler/bookshelf' }) + //#endregion + + //#region Резные книжные полки + e.remove({ id: 'gtceu:assembler/chiseled_bookshelf' }) + //#endregion + + //#region Трибуна + e.remove({ id: 'gtceu:shaped/lectern' }) + e.remove({ id: 'tfc:crafting/vanilla/lectern' }) + e.remove({ id: 'gtceu:assembler/lectern' }) + //#endregion + + //#region Сундук + e.remove({ id: 'gtceu:shaped/chest' }) + e.remove({ id: 'gtceu:assembler/chest' }) + //#endregion + + //#region Бочка + e.remove({ id: 'gtceu:shaped/barrel' }) + e.remove({ id: 'gtceu:assembler/barrel' }) + //#endregion + + //#region Выход: Якорь возрождения + e.remove({ id: 'minecraft:respawn_anchor' }) + //#endregion + + //#region Голова игрока + e.remove({ id: 'computercraft:skull_dan200' }) + e.remove({ id: 'computercraft:skull_cloudy' }) + //#endregion + + //#region Инфецированные камни + e.remove({ id: 'create:haunting/infested_stone' }) + e.remove({ id: 'create:haunting/infested_cobblestone' }) + e.remove({ id: 'create:haunting/infested_stone_bricks' }) + e.remove({ id: 'create:haunting/infested_mossy_stone_bricks' }) + e.remove({ id: 'create:haunting/infested_cracked_stone_bricks' }) + e.remove({ id: 'create:haunting/infested_chiseled_stone_bricks' }) + e.remove({ id: 'create:haunting/infested_deepslate' }) + //#endregion + + //#region Редстоун + e.remove({ id: 'minecraft:redstone_from_smelting_redstone_ore' }) + e.remove({ id: 'minecraft:redstone_from_smelting_deepslate_redstone_ore' }) + + e.remove({ id: 'minecraft:redstone_from_blasting_redstone_ore' }) + e.remove({ id: 'minecraft:redstone_from_blasting_deepslate_redstone_ore' }) + //#endregion + + //#region Повторитель + e.remove({ id: 'gtceu:shaped/repeater' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/repeater' }) + + e.shaped('minecraft:repeater', [ + 'A A', + 'BsB', + 'CDC', + ], { + A: '#tfg:all_iron_screws', + B: 'minecraft:redstone_torch', + C: '#minecraft:stone_pressure_plates', + D: '#tfc:high_quality_cloth', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/repeater') + //#endregion + + //#region Компаратор + e.remove({ id: 'tfc:crafting/vanilla/redstone/comparator' }) + e.remove({ id: 'gtceu:shaped/comparator' }) + e.remove({ id: 'gtceu:shaped/comparator_certus' }) + e.remove({ id: 'gtceu:shaped/comparator_quartzite' }) + + e.shaped('minecraft:comparator', [ + 'DAD', + 'ABA', + 'CsC' + ], { + A: 'minecraft:redstone_torch', + B: '#forge:plates/certus_quartz', + C: '#minecraft:stone_pressure_plates', + D: '#tfg:all_iron_screws', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/comparator_certus') + + e.shaped('minecraft:comparator', [ + 'DAD', + 'ABA', + 'CsC' + ], { + A: 'minecraft:redstone_torch', + B: '#forge:plates/quartzite', + C: '#minecraft:stone_pressure_plates', + D: '#tfg:all_iron_screws', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/comparator_quartzite') + + e.shaped('minecraft:comparator', [ + 'DAD', + 'ABA', + 'CsC' + ], { + A: 'minecraft:redstone_torch', + B: '#forge:plates/nether_quartz', + C: '#minecraft:stone_pressure_plates', + D: '#tfg:all_iron_screws', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/comparator_nether_quartz') + + //#endregion + + //#region Рычаг + e.remove({ id: 'gtceu:shaped/lever' }) + + e.shaped('minecraft:lever', [ + 'A', + 'B' + ], { + A: '#forge:rods/wooden', + B: '#minecraft:buttons', + }).id('tfg:workbench/lever') + //#endregion + + //#region Калиброванный скалк сенсер + e.remove({ id: 'minecraft:calibrated_sculk_sensor' }) + e.remove({ id: 'gtceu:assembler/calibrated_sculk_sensor' }) + //#endregion + + //#region Крюк + e.remove({ id: 'tfc:crafting/vanilla/redstone/tripwire_hook' }) + e.remove({ id: 'gtceu:shaped/tripwire_hook' }) + e.remove({ id: 'gtceu:assembler/tripwire_hook_wrought_iron' }) + e.remove({ id: 'gtceu:assembler/tripwire_hook_iron' }) + + e.shaped('minecraft:tripwire_hook', [ + 'ABA', + 'CBC', + ' C ' + ], { + A: '#tfg:all_iron_rings', + B: '#forge:rods/wooden', + C: '#forge:string', + }).id('tfg:workbench/tripwire_hook') + + e.recipes.gtceu.assembler('tfg:tripwire_hook') + .itemInputs('2x #tfg:all_iron_rings', '2x #forge:rods/wooden') + .itemOutputs('minecraft:tripwire_hook') + .EUt(4).duration(100) + + //#endregion + + //#region Нить + e.remove({ id: 'create:crushing/diamond_horse_armor' }) + e.remove({ id: 'create:crushing/golden_horse_armor' }) + e.remove({ id: 'create:crushing/iron_horse_armor' }) + e.remove({ id: 'create:crushing/wool' }) + //#endregion + + //#region Детектор света + e.remove({ id: 'tfc:crafting/vanilla/redstone/daylight_detector' }) + //#endregion + + //#region Поршень + e.remove({ id: 'tfc:crafting/vanilla/redstone/piston' }) + e.remove({ id: 'gtceu:shaped/piston_iron' }) + e.remove({ id: 'gtceu:assembler/piston_iron' }) + e.remove({ id: 'gtceu:assembler/piston_stainless_steel' }) + e.remove({ id: 'gtceu:assembler/piston_steel' }) + e.remove({ id: 'gtceu:assembler/piston_aluminium' }) + e.remove({ id: 'gtceu:assembler/piston_titanium' }) + + e.shaped('minecraft:piston', [ + 'AAA', + 'BCB', + 'DED' + ], { + A: '#minecraft:planks', + B: '#tfg:all_iron_small_gears', + C: '#minecraft:wooden_fences', + D: '#forge:cobblestone', + E: 'gtceu:red_alloy_plate', + }).id('tfg:workbench/piston') + + e.recipes.gtceu.assembler('tfg:piston_iron') + .itemInputs('#tfg:all_iron_rods', '#tfg:all_iron_small_gears', '#minecraft:wooden_slabs', '#forge:cobblestone') + .inputFluids(Fluid.of('gtceu:red_alloy', 144)) + .itemOutputs('minecraft:piston') + .EUt(7).duration(140) + + e.recipes.gtceu.assembler('tfg:piston_steel') + .itemInputs('gtceu:steel_rod', 'gtceu:small_steel_gear', '2x #minecraft:wooden_slabs', '2x #forge:cobblestone') + .inputFluids(Fluid.of('gtceu:red_alloy', 288)) + .itemOutputs('2x minecraft:piston') + .EUt(12).duration(140) + + e.recipes.gtceu.assembler('tfg:piston_aluminium') + .itemInputs('gtceu:aluminium_rod', 'gtceu:small_aluminium_gear', '4x #minecraft:wooden_slabs', '4x #forge:cobblestone') + .inputFluids(Fluid.of('gtceu:red_alloy', 432)) + .itemOutputs('4x minecraft:piston') + .EUt(30).duration(140) + + e.recipes.gtceu.assembler('tfg:piston_stainless_steel') + .itemInputs('gtceu:stainless_steel_rod', 'gtceu:small_stainless_steel_gear', '8x #minecraft:wooden_slabs', '8x #forge:cobblestone') + .inputFluids(Fluid.of('gtceu:red_alloy', 576)) + .itemOutputs('8x minecraft:piston') + .EUt(30).duration(600) + + e.recipes.gtceu.assembler('tfg:piston_titanium') + .itemInputs('gtceu:titanium_rod', 'gtceu:small_titanium_gear', '16x #minecraft:wooden_slabs', '16x #forge:cobblestone') + .inputFluids(Fluid.of('gtceu:red_alloy', 1152)) + .itemOutputs('16x minecraft:piston') + .EUt(30).duration(800) + //#endregion + + //#region Липкий поршень + e.remove({ id: 'tfc:crafting/vanilla/redstone/sticky_piston' }) + + e.shaped('minecraft:sticky_piston', [ + 'A', + 'B', + 'C' + ], { + A: '#forge:tools/hammers', + B: 'gtceu:sticky_resin', + C: 'minecraft:piston' + }).id('tfg:workbench/sticky_piston_from_sticky_resin') + + e.shaped('minecraft:sticky_piston', [ + 'A', + 'B', + 'C' + ], { + A: '#forge:tools/hammers', + B: 'tfc:glue', + C: 'minecraft:piston' + }).id('tfg:workbench/sticky_piston_from_tfc_glue') + + e.recipes.gtceu.assembler('tfg:sticky_piston_from_tfc_glue') + .itemInputs('tfc:glue', 'minecraft:piston') + .itemOutputs('minecraft:sticky_piston') + .EUt(4).duration(100) + //#endregion + + //#region Раздатчик + e.remove({ id: 'gtceu:shaped/dispenser' }) + e.remove({ id: 'gtceu:assembler/dispenser' }) + + e.shaped('minecraft:dispenser', [ + 'ABA', + 'CDC', + 'EFE' + ], { + A: '#forge:cobblestone', + B: '#tfg:all_iron_rings', + C: '#tfg:all_iron_springs', + D: '#forge:string', + E: '#tfg:all_iron_gears', + F: 'gtceu:red_alloy_rod' + }).id('tfg:workbench/dispenser') + //#endregion + + //#region Выбрасыватель + e.remove({ id: 'gtceu:shaped/dropper' }) + + e.shaped('minecraft:dropper', [ + 'ABA', + 'CDC', + 'EFE' + ], { + A: '#forge:cobblestone', + B: '#tfg:all_iron_rings', + C: '#tfg:all_iron_small_springs', + D: '#forge:string', + E: '#tfg:all_iron_gears', + F: 'gtceu:red_alloy_rod' + }).id('tfg:workbench/dropper') + + //#endregion + + //#region Воронка + e.remove({ id: 'tfc:crafting/vanilla/redstone/hopper' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_hopper' }) + e.remove({ id: 'gtceu:shaped/hopper' }) + e.remove({ id: 'gtceu:assembler/hopper_iron' }) + e.remove({ id: 'gtceu:assembler/hopper_wrought_iron' }) + + e.shaped('minecraft:hopper', [ + 'ABA', + 'ACA', + 'DAE' + ], { + A: '#forge:plates/wrought_iron', + B: '#forge:chests/wooden', + C: '#forge:gears/wrought_iron', + D: '#forge:tools/wrenches', + E: '#forge:tools/hammers', + }).id('tfg:workbench/hopper') + + e.recipes.gtceu.assembler('tfg:hopper') + .itemInputs('#forge:chests/wooden', '5x #tfg:all_iron_plates') + .itemOutputs('minecraft:hopper') + .EUt(2).duration(800) + //#endregion + + //#region Сундук-Ловушка + e.remove({ id: 'gtceu:shaped/trapped_chest' }) + //#endregion + + //#region Наблюдатель + e.remove({ id: 'tfc:crafting/vanilla/redstone/observer' }) + e.remove({ id: 'gtceu:shaped/observer' }) + e.remove({ id: 'gtceu:shaped/observer_certus' }) + e.remove({ id: 'gtceu:shaped/observer_quartzite' }) + + e.recipes.gtceu.assembler('tfg:observer_certus_quartz') + .itemInputs('6x #forge:cobblestone', '2x minecraft:redstone', '#forge:plates/certus_quartz') + .itemOutputs('minecraft:observer') + .duration(100) + .EUt(30) + + e.recipes.gtceu.assembler('tfg:observer_nether_quartz') + .itemInputs('6x #forge:cobblestone', '2x minecraft:redstone', '#forge:plates/nether_quartz') + .itemOutputs('minecraft:observer') + .duration(100) + .EUt(30) + + e.recipes.gtceu.assembler('tfg:observer_quartzite') + .itemInputs('6x #forge:cobblestone', '2x minecraft:redstone', '#forge:plates/quartzite') + .itemOutputs('minecraft:observer') + .duration(100) + .EUt(30) + + e.shaped('minecraft:observer', [ + 'ABA', + 'BCB', + 'DED' + ], { + A: '#tfg:all_iron_rings', + B: '#forge:cobblestone', + C: '#forge:plates/certus_quartz', + D: '#tfg:all_iron_gears', + E: 'gtceu:red_alloy_rod', + }).id('tfg:workbench/observer_certus_quartz') + + e.shaped('minecraft:observer', [ + 'ABA', + 'BCB', + 'DED' + ], { + A: '#tfg:all_iron_rings', + B: '#forge:cobblestone', + C: '#forge:plates/nether_quartz', + D: '#tfg:all_iron_gears', + E: 'gtceu:red_alloy_rod', + }).id('tfg:workbench/observer_nether_quartz') + + e.shaped('minecraft:observer', [ + 'ABA', + 'BCB', + 'DED' + ], { + A: '#tfg:all_iron_rings', + B: '#forge:cobblestone', + C: '#forge:plates/quartzite', + D: '#tfg:all_iron_gears', + E: 'gtceu:red_alloy_rod', + }).id('tfg:workbench/observer_quartzite') + + //#endregion + + //#region Рельсы + e.remove({ id: 'tfc:crafting/vanilla/redstone/rail' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_rail' }) + e.remove({ id: 'gtceu:shaped/rail' }) + e.remove({ id: 'gtceu:assembler/rail' }) + + e.shaped('8x minecraft:rail', [ + 'AhA', + 'BCB', + 'BsB' + ], { + A: '#tfg:all_iron_screws', + B: '#tfg:all_iron_rods', + C: '#forge:rods/wooden', + s: '#forge:tools/screwdrivers', + h: '#forge:tools/hammers', + }).id('tfg:workbench/rail') + + e.recipes.gtceu.assembler('tfg:rail') + .itemInputs('12x #tfg:all_iron_rods', '#forge:rods/wooden') + .circuit(1) + .itemOutputs('32x minecraft:rail') + .EUt(30).duration(100) + //#endregion + + //#region Заряженные рельсы + e.remove({ id: 'tfc:crafting/vanilla/redstone/powered_rail' }) + e.remove({ id: 'gtceu:shaped/powered_rail' }) + + e.shaped('6x minecraft:powered_rail', [ + 'ABA', + 'CDC', + 'EsE' + ], { + A: 'gtceu:steel_screw', + B: 'gtceu:red_alloy_plate', + C: '#tfg:all_iron_rods', + D: '#forge:rods/wooden', + E: 'gtceu:gold_rod', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/powered_rail') + //#endregion + + //#region Нажимные рельсы + e.remove({ id: 'tfc:crafting/vanilla/redstone/detector_rail' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_detector_rail' }) + e.remove({ id: 'gtceu:shaped/detector_rail' }) + e.remove({ id: 'gtceu:assembler/detector_rail' }) + + e.shaped('6x minecraft:detector_rail', [ + 'ADA', + 'BCB', + 'BsB' + ], { + A: '#tfg:all_iron_screws', + B: '#tfg:all_iron_rods', + C: '#forge:rods/wooden', + D: 'minecraft:heavy_weighted_pressure_plate', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/detector_rail') + + e.recipes.gtceu.assembler('tfg:detector_rail') + .itemInputs('12x #tfg:all_iron_rods', '#forge:rods/wooden', '#forge:dusts/redstone') + .circuit(5) + .itemOutputs('12x minecraft:detector_rail') + .EUt(30).duration(100) + //#endregion + + //#region Активаторные рельсы + e.remove({ id: 'tfc:crafting/vanilla/redstone/activator_rail' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_activator_rail' }) + e.remove({ id: 'gtceu:shaped/activator_rail' }) + e.remove({ id: 'gtceu:assembler/activator_rail' }) + + e.shaped('6x minecraft:activator_rail', [ + 'ADA', + 'BCB', + 'BsB' + ], { + A: '#tfg:all_iron_screws', + B: '#tfg:all_iron_rods', + C: '#forge:rods/wooden', + D: 'minecraft:redstone_torch', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/activator_rail') + + e.recipes.gtceu.assembler('tfg:activator_rail') + .itemInputs('12x #tfg:all_iron_rods', '2x #forge:rods/wooden', 'minecraft:redstone_torch') + .circuit(5) + .itemOutputs('12x minecraft:activator_rail') + .EUt(30).duration(100) + //#endregion + + //#region Вагонетка + e.remove({ id: 'tfc:crafting/vanilla/redstone/minecart' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/steel_minecart' }) + e.remove({ id: 'tfc:crafting/vanilla/redstone/minecart' }) + e.remove({ id: 'gtceu:shaped/minecart_iron' }) + e.remove({ id: 'gtceu:assembler/minecart' }) + + e.shaped('minecraft:minecart', [ + ' h ', + 'AwA', + 'BAB' + ], { + A: 'gtceu:wrought_iron_plate', + B: 'gtceu:iron_minecart_wheels', + h: '#forge:tools/hammers', + w: '#forge:tools/wrenches', + }).id('tfg:workbench/minecart_iron') + + e.recipes.gtceu.assembler('tfg:minecart') + .itemInputs('3x #tfg:all_iron_plates', '4x #tfg:all_iron_rings') + .itemOutputs('minecraft:minecart') + .EUt(4).duration(100) + //#endregion + + //#region Выход: Вагонетка с сундуком + e.remove({ id: 'gtceu:assembler/chest_minecart' }) + e.remove({ id: 'gtceu:shaped/chest_minecart' }) + //#endregion + + //#region Выход: Вагонетка с печью + e.remove({ id: 'create:crafting/kinetics/furnace_minecart_from_contraption_cart' }) + e.remove({ id: 'gtceu:shaped/furnace_minecart' }) + e.remove({ id: 'gtceu:assembler/furnace_minecart' }) + //#endregion + + //#region Железные инструменты + e.remove({ id: 'gtceu:shaped/iron_sword' }) + e.remove({ id: 'gtceu:shaped/iron_pickaxe' }) + e.remove({ id: 'gtceu:shaped/iron_axe' }) + e.remove({ id: 'gtceu:shaped/iron_shovel' }) + e.remove({ id: 'gtceu:shaped/iron_hoe' }) + //#endregion + + //#region Золотые инструменты + e.remove({ id: 'gtceu:shaped/golden_sword' }) + e.remove({ id: 'gtceu:shaped/golden_pickaxe' }) + e.remove({ id: 'gtceu:shaped/golden_axe' }) + e.remove({ id: 'gtceu:shaped/golden_shovel' }) + e.remove({ id: 'gtceu:shaped/golden_hoe' }) + //#endregion + + //#region Алмазные инструменты + e.remove({ id: 'gtceu:shaped/diamond_sword' }) + e.remove({ id: 'gtceu:shaped/diamond_pickaxe' }) + e.remove({ id: 'gtceu:shaped/diamond_axe' }) + e.remove({ id: 'gtceu:shaped/diamond_shovel' }) + e.remove({ id: 'gtceu:shaped/diamond_hoe' }) + //#endregion + + //#region Незеритовые инструменты + e.remove({ id: 'minecraft:netherite_sword_smithing' }) + e.remove({ id: 'minecraft:netherite_pickaxe_smithing' }) + e.remove({ id: 'minecraft:netherite_axe_smithing' }) + e.remove({ id: 'minecraft:netherite_shovel_smithing' }) + e.remove({ id: 'minecraft:netherite_hoe_smithing' }) + //#endregion + + //#region Ведро + e.remove({ id: 'gtceu:shaped/iron_bucket' }) + e.remove({ id: 'gtceu:bender/bucket' }) + + e.recipes.tfc.welding('minecraft:bucket', 'tfc:metal/bucket/red_steel', 'tfc:metal/bucket/blue_steel', 6) + .id('tfg:anvil/bucket') + + e.recipes.gtceu.assembler('tfg:bucket') + .itemInputs('#forge:plates/red_steel', '#forge:plates/blue_steel') + .circuit(21) + .itemOutputs('minecraft:bucket') + .EUt(4).duration(100) + //#endregion + + //#region Удочка + e.remove({ id: 'gtceu:shaped/fishing_rod' }) + //#endregion + + //#region Огниво + e.remove({ id: 'tfc:crafting/vanilla/flint_and_steel' }) + //#endregion + + //#region Костная мука + e.remove({ id: 'create:milling/calcite' }) + //#endregion + + //#region Ножницы + e.remove({ id: 'gtceu:shaped/shears' }) + //#endregion + + //#region Кисточка + e.remove({ id: 'gtceu:shaped/brush' }) + e.remove({ id: 'gtceu:assembler/brush' }) + //#endregion + + //#region Поводок + e.remove({ id: 'gtceu:shaped/lead' }) + e.remove({ id: 'gtceu:assembler/lead' }) + + e.recipes.gtceu.assembler('tfg:lead_slimeball') + .itemInputs('2x #forge:string', 'minecraft:slime_ball') + .circuit(0) + .itemOutputs('2x minecraft:lead') + .EUt(2).duration(100) + + e.recipes.gtceu.assembler('tfg:lead_glue') + .itemInputs('2x #forge:string', 'tfc:glue') + .circuit(0) + .itemOutputs('2x minecraft:lead') + .EUt(2).duration(100) + + e.recipes.gtceu.assembler('tfg:lead_sticky_resin') + .itemInputs('2x #forge:string', 'gtceu:sticky_resin') + .circuit(0) + .itemOutputs('2x minecraft:lead') + .EUt(2).duration(100) + //#endregion + + //#region Компас + e.remove({ id: 'tfc:crafting/vanilla/compass' }) + e.remove({ id: 'gtceu:shaped/compass' }) + e.remove({ id: 'gtceu:assembler/compass' }) + + e.shaped('minecraft:compass', [ + 'ABC', + 'DED', + 'FsA' + ], { + A: '#tfg:all_iron_screws', + B: '#forge:glass_panes/colorless', + C: 'gtceu:tiny_magnetite_dust', + D: 'gtceu:zinc_ring', + E: '#tfg:all_iron_plates', + F: 'gtceu:red_alloy_bolt', + s: '#forge:tools/screwdrivers', + }).id('tfg:workbench/compass') + + e.recipes.gtceu.assembler('tfg:compass') + .itemInputs('2x #tfg:all_iron_screws', '#forge:glass_panes/colorless', 'gtceu:magnetic_iron_bolt', '2x gtceu:zinc_ring', '#tfg:all_iron_plates', 'gtceu:red_alloy_bolt') + .itemOutputs('minecraft:compass') + .EUt(16).duration(100) + //#endregion + + //#region Часы + e.remove({ id: 'tfc:crafting/vanilla/clock' }) + //#endregion + + //#region Подзорная труба + e.remove({ id: 'tfc:crafting/vanilla/spyglass' }) + e.remove({ id: 'gtceu:shaped/spyglass' }) + e.remove({ id: 'gtceu:assembler/spyglass' }) + + e.shaped('minecraft:spyglass', [ + 'hAs', + 'BCD', + 'fE ' + ], { + A: '#tfg:all_glass_lenses', + B: '#forge:leather', + C: '#forge:rings/gold', + D: '#tfg:all_iron_screws', + E: '#forge:plates/copper', + h: '#forge:tools/hammers', + s: '#forge:tools/screwdrivers', + f: '#forge:tools/files', + }).id('tfg:workbench/spyglass') + + e.recipes.gtceu.assembler('tfg:spyglass') + .itemInputs('#tfg:all_glass_lenses', '#forge:rings/gold', '#forge:plates/copper', '#forge:leather') + .itemOutputs('minecraft:spyglass') + .EUt(4).duration(100) + //#endregion + + //#region Элитра + e.recipes.gtceu.assembler('tfg:elytra') + .itemInputs('6x #forge:plates/polyvinyl_butyral', '2x #forge:rings/titanium', '2x #forge:rods/titanium', '4x #forge:single_cables/aluminium') + .circuit(32) + .itemOutputs(Item.of('minecraft:elytra', "{Damage:0,display:{Name:'{\"text\":\"Wings of Gods\",\"italic\":true}'}}")) + .duration(1600) + .EUt(666) + + e.recipes.gtceu.assembler('tfg:elytra_repairing') + .itemInputs('6x #forge:plates/polyvinyl_butyral', Item.of('minecraft:elytra', '{Damage:431}').strongNBT()) + .circuit(32) + .itemOutputs(Item.of('minecraft:elytra', "{Damage:0,display:{Name:'{\"text\":\"Wings of Gods\",\"italic\":true}'}}")) + .duration(1600) + .EUt(120) + //#endregion + + //#region Седло + e.remove({ id: 'gtceu:shaped/saddle' }) + + e.shaped('minecraft:saddle', [ + 'AAA', + 'ABA', + 'CDC' + ], { + A: '#forge:leather', + B: '#minecraft:wool_carpets', + C: '#tfg:all_iron_rings', + D: '#forge:string' + }).id('tfg:workbench/saddle') + //#endregion + + //#region Удочка с морковкой + e.remove({ id: 'minecraft:carrot_on_a_stick' }) + //#endregion + + //#region Удочка с грибом + e.remove({ id: 'minecraft:warped_fungus_on_a_stick' }) + //#endregion + + //#region Щит + e.remove({ id: 'gtceu:shaped/shield' }) + //#endregion + + //#region Кольчужная броня + e.remove({ id: 'gtceu:shaped/chainmail_boots'}) + e.remove({ id: 'gtceu:shaped/chainmail_leggings'}) + e.remove({ id: 'gtceu:shaped/chainmail_chestplate'}) + e.remove({ id: 'gtceu:shaped/chainmail_helmet'}) + //#endregion + + //#region Железная броня + e.remove({ id: 'gtceu:shaped/iron_helmet' }) + e.remove({ id: 'gtceu:shaped/iron_chestplate' }) + e.remove({ id: 'gtceu:shaped/iron_leggings' }) + e.remove({ id: 'gtceu:shaped/iron_boots' }) + + e.remove({ id: 'gtceu:shaped/iron_horse_armor' }) + //#endregion + + //#region Золотая броня + e.remove({ id: 'gtceu:shaped/golden_helmet' }) + e.remove({ id: 'gtceu:shaped/golden_chestplate' }) + e.remove({ id: 'gtceu:shaped/golden_leggings' }) + e.remove({ id: 'gtceu:shaped/golden_boots' }) + + e.remove({ id: 'gtceu:shaped/golden_horse_armor' }) + //#endregion + + //#region Алмазная броня + e.remove({ id: 'gtceu:shaped/diamond_helmet' }) + e.remove({ id: 'gtceu:shaped/diamond_chestplate' }) + e.remove({ id: 'gtceu:shaped/diamond_leggings' }) + e.remove({ id: 'gtceu:shaped/diamond_boots' }) + + e.remove({ id: 'gtceu:shaped/diamond_horse_armor' }) + //#endregion + + //#region Незеритовая броня + e.remove({ id: 'minecraft:netherite_helmet_smithing' }) + e.remove({ id: 'minecraft:netherite_chestplate_smithing' }) + e.remove({ id: 'minecraft:netherite_leggings_smithing' }) + e.remove({ id: 'minecraft:netherite_boots_smithing' }) + //#endregion + + //#region Лук + e.remove({ id: 'gtceu:shaped/bow' }) + e.remove({ id: 'gtceu:assembler/bow' }) + + e.recipes.gtceu.assembler('tfg:bow') + .itemInputs('3x #forge:string', '3x #forge:rods/wooden') + .itemOutputs('minecraft:bow') + .EUt(4).duration(100) + //#endregion + + //#region Арбалет + e.remove({ id: 'minecraft:crossbow' }) + e.remove({ id: 'tfc:crafting/vanilla/crossbow' }) + + e.shaped('6x minecraft:activator_rail', [ + 'ABA', + 'CAC', + 'sAf' + ], { + A: '#forge:rods/long/wood', + B: '#tfg:all_iron_rings', + C: '#forge:string', + s: '#forge:tools/screwdrivers', + f: '#forge:tools/files', + }).id('tfg:workbench/crossbow') + + //#endregion + + //#region Золотое яблоко + e.remove({ id: 'gtceu:chemical_reactor/golden_apple' }) + + e.recipes.gtceu.chemical_reactor('tfg:golden_apple') + .itemInputs('#tfg:all_apples', '8x #forge:ingots/gold') + .itemOutputs('minecraft:golden_apple') + .EUt(30).duration(50) + //#endregion + + //#region Зачарованное золотое яблоко + e.remove({ id: 'gtceu:chemical_reactor/notch_apple' }) + + e.recipes.gtceu.chemical_reactor('tfg:notch_apple') + .itemInputs('#tfg:all_apples', '8x minecraft:gold_block') + .itemOutputs('minecraft:enchanted_golden_apple') + .EUt(30).duration(50) + //#endregion + + //#region Золотая морковь + e.remove({ id: 'gtceu:chemical_reactor/golden_carrot' }) + + e.recipes.gtceu.chemical_reactor('tfg:golden_carrot') + .itemInputs('tfc:food/carrot', '#forge:nuggets/gold') + .itemOutputs('minecraft:golden_carrot') + .EUt(30).duration(50) + //#endregion + + //#region Жаренная картошка + e.remove({ id: 'minecraft:baked_potato' }) + e.remove({ id: 'minecraft:baked_potato_from_smoking' }) + //#endregion + + //#region Гнилая картошка + e.remove({ id: 'create:haunting/poisonous_potato' }) + //#endregion + + //#region Высушенные водросли + e.remove({ id: 'minecraft:dried_kelp' }) + e.remove({ id: 'minecraft:dried_kelp_from_smelting' }) + e.remove({ id: 'minecraft:dried_kelp_from_smoking' }) + //#endregion + + //#region Жаренная коровятина + e.remove({ id: 'minecraft:cooked_beef' }) + e.remove({ id: 'minecraft:cooked_beef_from_smoking' }) + //#endregion + + //#region Жаренная свинина + e.remove({ id: 'minecraft:cooked_porkchop' }) + e.remove({ id: 'minecraft:cooked_porkchop_from_smoking' }) + //#endregion + + //#region Жаренная курятина + e.remove({ id: 'minecraft:cooked_chicken' }) + e.remove({ id: 'minecraft:cooked_chicken_from_smoking' }) + //#endregion + + //#region Жаренная козлятина + e.remove({ id: 'minecraft:cooked_mutton' }) + e.remove({ id: 'minecraft:cooked_mutton_from_smoking' }) + //#endregion + + //#region Жаренный зайчатина + e.remove({ id: 'minecraft:cooked_rabbit' }) + e.remove({ id: 'minecraft:cooked_rabbit_from_smoking' }) + //#endregion + + //#region Жаренный Cod + e.remove({ id: 'minecraft:cooked_cod' }) + e.remove({ id: 'minecraft:cooked_cod_from_smoking' }) + //#endregion + + //#region Жаренный Salmon + e.remove({ id: 'minecraft:cooked_salmon' }) + e.remove({ id: 'minecraft:cooked_salmon_from_smoking' }) + //#endregion + + //#region Хлеб + e.remove({ id: 'minecraft:bread' }) + e.remove({ id: 'create:smelting/bread' }) + //#endregion + + //#region Печеньки + e.remove({ id: 'minecraft:cookie' }) + //#endregion + + //#region Торт + e.remove({ id: 'minecraft:cake' }) + e.remove({ id: 'create:crafting/curiosities/cake' }) + //#endregion + + //#region Грибной суп + e.remove({ id: 'createlowheated:mixing/minecraft/mushroom_stew' }) + //#endregion + + //#region Свекольный суп + e.remove({ id: 'createlowheated:mixing/minecraft/beetroot_soup' }) + //#endregion + + //#region Кроличий суп + e.remove({ id: 'createlowheated:mixing/minecraft/rabbit_stew' }) + //#endregion + + //#region Уголь + e.remove({ id: 'minecraft:coal_from_smelting_coal_ore' }) + e.remove({ id: 'minecraft:coal_from_smelting_deepslate_coal_ore' }) + + e.remove({ id: 'minecraft:coal_from_blasting_coal_ore' }) + e.remove({ id: 'minecraft:coal_from_blasting_deepslate_coal_ore' }) + //#endregion + + //#region Сырая железная руда + e.remove({ id: 'minecraft:raw_iron' }) + //#endregion + + //#region Сырая медная руда + e.remove({ id: 'minecraft:raw_copper' }) + //#endregion + + //#region Сырая золотая руда + e.remove({ id: 'minecraft:raw_gold' }) + //#endregion + + //#region Изумруды + e.remove({ id: 'minecraft:emerald_from_smelting_emerald_ore' }) + e.remove({ id: 'minecraft:emerald_from_smelting_deepslate_emerald_ore' }) + + e.remove({ id: 'minecraft:emerald_from_blasting_emerald_ore' }) + e.remove({ id: 'minecraft:emerald_from_blasting_deepslate_emerald_ore' }) + //#endregion + + //#region Лазурит + e.remove({ id: 'minecraft:lapis_lazuli_from_smelting_lapis_ore' }) + e.remove({ id: 'minecraft:lapis_lazuli_from_smelting_deepslate_lapis_ore' }) + + e.remove({ id: 'minecraft:lapis_lazuli_from_blasting_lapis_ore' }) + e.remove({ id: 'minecraft:lapis_lazuli_from_blasting_deepslate_lapis_ore' }) + //#endregion + + //#region Алмазы + e.remove({ id: 'minecraft:diamond_from_smelting_diamond_ore' }) + e.remove({ id: 'minecraft:diamond_from_smelting_deepslate_diamond_ore' }) + + e.remove({ id: 'minecraft:diamond_from_blasting_diamond_ore' }) + e.remove({ id: 'minecraft:diamond_from_blasting_deepslate_diamond_ore' }) + //#endregion + + //#region Кварц + e.remove({ id: 'minecraft:quartz' }) + e.remove({ id: 'minecraft:quartz_from_blasting' }) + e.remove({ id: 'create:crushing/diorite' }) + //#endregion + + //#region Железный самородок + e.remove({ id: 'minecraft:iron_nugget_from_smelting' }) + e.remove({ id: 'minecraft:iron_nugget_from_blasting' }) + e.remove({ id: 'create:crushing/crimsite' }) + e.remove({ id: 'create:crushing/tuff_recycling' }) + e.remove({ id: 'create:crushing/crimsite_recycling' }) + e.remove({ id: 'create:crushing/tuff' }) + e.remove({ id: 'create:splashing/crushed_raw_iron' }) + e.remove({ id: 'create:splashing/gravel' }) + //#endregion + + //#region Золотой самородок + e.remove({ id: 'minecraft:gold_nugget_from_smelting' }) + e.remove({ id: 'minecraft:gold_nugget_from_blasting' }) + e.remove({ id: 'create:crushing/ochrum_recycling' }) + e.remove({ id: 'create:crushing/tuff_recycling' }) + e.remove({ id: 'create:crushing/tuff' }) + e.remove({ id: 'create:crushing/ochrum' }) + e.remove({ id: 'create:splashing/crushed_raw_gold' }) + //#endregion + + //#region Железо + e.remove({ id: 'minecraft:iron_ingot_from_smelting_iron_ore' }) + e.remove({ id: 'minecraft:iron_ingot_from_smelting_deepslate_iron_ore' }) + + e.remove({ id: 'minecraft:iron_ingot_from_blasting_iron_ore' }) + e.remove({ id: 'minecraft:iron_ingot_from_blasting_deepslate_iron_ore' }) + //#endregion + + //#region Медь + e.remove({ id: 'minecraft:copper_ingot_from_smelting_copper_ore' }) + e.remove({ id: 'minecraft:copper_ingot_from_smelting_deepslate_copper_ore' }) + + e.remove({ id: 'minecraft:copper_ingot_from_blasting_copper_ore' }) + e.remove({ id: 'minecraft:copper_ingot_from_blasting_deepslate_copper_ore' }) + //#endregion + + //#region Золото + e.remove({ id: 'minecraft:gold_ingot_from_smelting_gold_ore' }) + e.remove({ id: 'minecraft:gold_ingot_from_smelting_deepslate_gold_ore' }) + e.remove({ id: 'minecraft:gold_ingot_from_smelting_nether_gold_ore' }) + + e.remove({ id: 'minecraft:gold_ingot_from_blasting_gold_ore' }) + e.remove({ id: 'minecraft:gold_ingot_from_blasting_deepslate_gold_ore' }) + e.remove({ id: 'minecraft:gold_ingot_from_blasting_nether_gold_ore' }) + //#endregion + + //#region Незеритовый лом + e.remove({ id: 'minecraft:netherite_scrap' }) + e.remove({ id: 'minecraft:netherite_scrap_from_blasting' }) + //#endregion + + //#region Незеритовый слиток + e.remove({ id: 'minecraft:netherite_ingot' }) + //#endregion + + //#region Палки + e.remove({ id: 'gtceu:shaped/stick_normal' }) + e.remove({ id: 'minecraft:stick_from_bamboo_item' }) + //#endregion + + //#region Кремний + e.remove({ id: 'gtceu:shapeless/gravel_to_flint' }) + e.remove({ id: 'gtceu:sifter/gravel_sifting' }) + + e.shapeless('minecraft:flint', [ '#tfc:rock/gravel', '#forge:tools/mortars' - ]).id('gtceu:shapeless/gravel_to_flint') + ]).id('tfg:workbench/gravel_to_flint') - event.recipes.gtceu.sifter('gravel_sifting') + e.recipes.gtceu.sifter('tfg:gravel_sifting') .itemInputs('#tfc:rock/gravel') .itemOutputs('minecraft:flint') .chancedOutput('minecraft:flint', 9000, 0) @@ -1470,1792 +3872,459 @@ const registerMinecraftRecipes = (event) => { //#endregion - //#region Выход: Блок глины + //#region Кожа + e.remove({ id: 'minecraft:leather' }) + e.remove({ id: 'create:crushing/leather_horse_armor' }) + e.remove({ id: 'create:milling/saddle' }) - event.remove({ id: 'gtceu:fluid_heater/mud_to_clay' }) + // Сырая маленькая шкура -> Кожа + e.recipes.gtceu.chemical_bath(`tfg:minecraft/leather_1`) + .itemInputs('tfc:small_raw_hide') + .inputFluids(Fluid.of('tfc:tannin', 300)) + .itemOutputs('minecraft:leather') + .EUt(4).duration(600) + // Сырая средняя шкура -> Кожа + e.recipes.gtceu.chemical_bath(`tfg:minecraft/leather_2`) + .itemInputs('tfc:medium_raw_hide') + .inputFluids(Fluid.of('tfc:tannin', 400)) + .itemOutputs('2x minecraft:leather') + .EUt(4).duration(700) + + // Сырая большая шкура -> Кожа + e.recipes.gtceu.chemical_bath(`tfg:minecraft/leather_3`) + .itemInputs('tfc:large_raw_hide') + .inputFluids(Fluid.of('tfc:tannin', 500)) + .itemOutputs('3x minecraft:leather') + .EUt(4).duration(800) + + //#endregion + + //#region Светящийся мешок с чернилами + e.recipes.gtceu.assembler('tfg:glow_ink_sac') + .itemInputs('minecraft:ink_sac') + .inputFluids(Fluid.of('gtceu:glowstone', 144)) + .itemOutputs('minecraft:glow_ink_sac') + .EUt(16).duration(100) + //#endregion + + //#region Слаймболл + e.remove({ id: 'create:crafting/appliances/slime_ball' }) + //#endregion + + //#region Глина + e.remove({ id: 'create:milling/dripstone_block' }) + e.remove({ id: 'create:splashing/sand' }) + e.remove({ id: 'create:splashing/crushed_raw_copper' }) + //#endregion + + //#region Призмарин + e.remove({ id: 'create:haunting/lapis_recycling' }) + //#endregion + + //#region Прожаренный фрукт хоруса + e.remove({ id: 'minecraft:popped_chorus_fruit' }) //#endregion - //#region Выход: Мангровые корни в грязи - - event.remove({ id: 'minecraft:muddy_mangrove_roots' }) - - //#endregion - - //#region Выход: Ковер из мха - - event.remove({ id: 'minecraft:moss_carpet' }) - - //#endregion - - //#region Выход: Бамбуковые доски - - event.shapeless('2x minecraft:bamboo_planks', [ - '#minecraft:bamboo_blocks', - '#tfc:saws' - ]).id('minecraft:bamboo_planks') - - //#endregion - - //#region Выход: Плот с сундуком из бамбука - - event.remove({ id: 'minecraft:bamboo_chest_raft' }) - - //#endregion - - //#region Выход: Таблички из бамбука - - event.remove({ id: 'minecraft:bamboo_sign' }) - event.remove({ id: 'minecraft:bamboo_hanging_sign' }) - - //#endregion - - //#region Бамбуковая кнопка - - event.shaped('minecraft:bamboo_pressure_plate', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: '#forge:screws/wood', - B: '#tfc:hammers', - C: '#tfg:bamboo_slabs', - D: '#forge:springs', - E: '#forge:tools/screwdrivers' - }).id(`minecraft:bamboo_pressure_plate`) - - event.recipes.gtceu.assembler(`tfg:minecraft/bamboo_pressure_plate`) - .itemInputs('#forge:springs', '#tfg:bamboo_slabs') - .circuit(0) - .itemOutputs('2x minecraft:bamboo_pressure_plate') - .duration(50) - .EUt(2) - - //#endregion - - //#region Бамбуковая нажимная плита - - event.remove({ id: `minecraft:bamboo_button` }) - - generateCutterRecipe(event, 'minecraft:bamboo_pressure_plate', null, '6x minecraft:bamboo_button', 50, 2, `bamboo_button`) - - //#endregion - //#region Красители - // White - event.remove({id: 'minecraft:white_dye_from_lily_of_the_valley'}) - event.remove({id: 'gtceu:extractor/lily_of_the_valley_dye'}) + //#region Белый + e.remove({ id: 'minecraft:white_dye_from_lily_of_the_valley' }) + + e.remove({ id: 'gtceu:extractor/lily_of_the_valley_dye' }) + + e.remove({ id: 'create:milling/lily_of_the_valley' }) + e.remove({ id: 'create:milling/azure_bluet' }) + e.remove({ id: 'create:milling/compat/botania/white_petal' }) + e.remove({ id: 'create:milling/white_tulip' }) + e.remove({ id: 'create:milling/oxeye_daisy' }) - event.recipes.gtceu.extractor('white_dye') - .itemInputs('1x #tfc:makes_white_dye') + e.recipes.gtceu.extractor('tfg:white_dye') + .itemInputs('#tfc:makes_white_dye') .itemOutputs('2x minecraft:white_dye') - .duration(200) - .EUt(2) - - event.recipes.createMilling('2x minecraft:white_dye', '1x #tfc:makes_white_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:white_dye', '#tfc:makes_white_dye') .id('tfg:milling/white_dye') - - // Red - event.remove({id: 'minecraft:red_dye_from_tulip'}) - event.remove({id: 'minecraft:red_dye_from_rose_bush'}) - event.remove({id: 'minecraft:red_dye_from_poppy'}) - event.remove({id: 'minecraft:red_dye_from_beetroot'}) - event.remove({id: 'gtceu:extractor/rose_bush_dye'}) - event.remove({id: 'gtceu:extractor/red_tulip_dye'}) - event.remove({id: 'gtceu:extractor/poppy_dye'}) - event.remove({id: 'gtceu:extractor/beetroot_dye'}) + //#endregion - event.recipes.gtceu.extractor('red_dye') + //#region Светло-серый + e.remove({ id: 'minecraft:light_gray_dye_from_azure_bluet' }) + e.remove({ id: 'minecraft:light_gray_dye_from_white_tulip' }) + e.remove({ id: 'minecraft:light_gray_dye_from_oxeye_daisy' }) + + e.remove({ id: 'tfc:crafting/vanilla/light_gray_dye_from_native_silver' }) + + e.remove({ id: 'gtceu:extractor/white_tulip_dye' }) + e.remove({ id: 'gtceu:extractor/azure_bluet_dye' }) + e.remove({ id: 'gtceu:extractor/oxeye_daisy_dye' }) + + e.remove({ id: 'create:milling/blue_orchid' }) + e.remove({ id: 'create:milling/azure_bluet' }) + e.remove({ id: 'create:milling/compat/botania/light_gray_petal' }) + e.remove({ id: 'create:milling/oxeye_daisy' }) + + e.recipes.gtceu.extractor('tfg:light_gray_dye') + .itemInputs('#tfc:makes_light_gray_dye') + .itemOutputs('2x minecraft:light_gray_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:light_gray_dye', '#tfc:makes_light_gray_dye') + .id('tfg:milling/light_gray_dye') + //#endregion + + //#region Серый + e.remove({ id: 'tfc:crafting/vanilla/gray_dye_from_cassiterite' }) + e.remove({ id: 'tfc:crafting/vanilla/gray_dye_from_magnetite' }) + e.remove({ id: 'tfc:crafting/vanilla/gray_dye_from_sphalerite' }) + e.remove({ id: 'tfc:crafting/vanilla/gray_dye_from_tetrahedrite' }) + e.remove({ id: 'create:milling/compat/botania/gray_petal' }) + //#endregion + + //#region Черный + e.remove({ id: 'minecraft:black_dye_from_wither_rose' }) + e.remove({ id: 'gtceu:extractor/wither_rose_dye' }) + e.remove({ id: 'tfc:crafting/vanilla/black_dye_from_charcoal' }) + e.remove({ id: 'tfc:crafting/vanilla/black_dye_from_coke' }) + e.remove({ id: 'create:milling/compat/botania/black_petal' }) + e.remove({ id: 'create:milling/wither_rose' }) + //#endregion + + //#region Коричневый + e.remove({ id: 'minecraft:brown_dye' }) + e.remove({ id: 'tfc:crafting/vanilla/brown_dye_from_garnierite' }) + e.remove({ id: 'create:milling/compat/botania/brown_petal' }) + e.remove({ id: 'create:milling/cocoa_beans' }) + + e.recipes.gtceu.extractor('tfg:brown_dye') + .itemInputs('#tfc:makes_brown_dye') + .itemOutputs('2x minecraft:brown_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:brown_dye', '#tfc:makes_brown_dye') + .id('tfg:milling/brown_dye') + //#endregion + + //#region Красный + e.remove({ id: 'minecraft:red_dye_from_poppy' }) + e.remove({ id: 'minecraft:red_dye_from_tulip' }) + e.remove({ id: 'minecraft:red_dye_from_rose_bush' }) + e.remove({ id: 'minecraft:red_dye_from_beetroot' }) + + e.remove({ id: 'tfc:crafting/vanilla/red_dye_from_hematite' }) + + e.remove({ id: 'gtceu:extractor/rose_bush_dye' }) + e.remove({ id: 'gtceu:extractor/red_tulip_dye' }) + e.remove({ id: 'gtceu:extractor/poppy_dye' }) + e.remove({ id: 'gtceu:extractor/beetroot_dye' }) + + e.remove({ id: 'coralstfc:milling/coral_block_red' }) + e.remove({ id: 'create:milling/red_tulip' }) + e.remove({ id: 'create:milling/rose_bush' }) + e.remove({ id: 'coralstfc:milling/coral_red' }) + e.remove({ id: 'create:milling/poppy' }) + e.remove({ id: 'create:milling/compat/botania/red_petal' }) + + e.recipes.gtceu.extractor('tfg:red_dye') .itemInputs('1x #tfc:makes_red_dye') .itemOutputs('2x minecraft:red_dye') - .duration(200) - .EUt(2) - - event.recipes.createMilling('2x minecraft:red_dye', '1x #tfc:makes_red_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:red_dye', '#tfc:makes_red_dye') .id('tfg:milling/red_dye') + //#endregion - // Lime - event.remove({id: 'minecraft:lime_dye_from_smelting'}) - - event.recipes.gtceu.extractor('lime_dye') - .itemInputs('1x tfc:plant/moss') - .itemOutputs('2x minecraft:lime_dye') - .duration(200) - .EUt(2) + //#region Оранжевый + e.remove({ id: 'minecraft:orange_dye_from_orange_tulip' }) + e.remove({ id: 'minecraft:orange_dye_from_torchflower' }) - event.recipes.createMilling('2x minecraft:lime_dye', '1x #tfc:makes_lime_dye') - .id('tfg:milling/lime_dye') + e.remove({ id: 'tfc:crafting/vanilla/orange_dye_from_sylvite' }) + e.remove({ id: 'tfc:crafting/vanilla/orange_dye_from_native_copper' }) - // Light Blue - event.remove({id: 'minecraft:light_blue_dye_from_blue_orchid'}) - event.remove({id: 'gtceu:extractor/blue_orchid_dye'}) - - event.recipes.gtceu.extractor('light_blue_dye') - .itemInputs('1x #tfc:makes_light_blue_dye') - .itemOutputs('2x minecraft:light_blue_dye') - .duration(200) - .EUt(2) + e.remove({ id: 'gtceu:extractor/orange_tulip_dye' }) + e.remove({ id: 'gtceu:extractor/torchflower_dye' }) - event.recipes.createMilling('2x minecraft:light_blue_dye', '1x #tfc:makes_light_blue_dye') - .id('tfg:milling/light_blue_dye') + e.remove({ id: 'create:milling/orange_tulip' }) + e.remove({ id: 'create:milling/compat/botania/orange_petal' }) + e.remove({ id: 'create:milling/sunflower' }) - // Green - event.remove({id: 'minecraft:green_dye'}) - - event.recipes.gtceu.extractor('green_dye') - .itemInputs('1x #tfc:makes_green_dye') - .itemOutputs('2x minecraft:green_dye') - .duration(200) - .EUt(2) - - event.recipes.createMilling('2x minecraft:green_dye', '1x #tfc:makes_green_dye') - .id('tfg:milling/green_dye') - - // Magenta - event.remove({id: 'minecraft:magenta_dye_from_lilac'}) - event.remove({id: 'minecraft:magenta_dye_from_allium'}) - event.remove({id: 'gtceu:extractor/lilac_dye'}) - event.remove({id: 'gtceu:extractor/allium_dye'}) - - event.recipes.gtceu.extractor('magenta_dye') - .itemInputs('1x #tfc:makes_magenta_dye') - .itemOutputs('2x minecraft:magenta_dye') - .duration(200) - .EUt(2) - - event.recipes.createMilling('2x minecraft:magenta_dye', '1x #tfc:makes_magenta_dye') - .id('tfg:milling/magenta_dye') - - // Orange - event.remove({id: 'tfc:crafting/vanilla/orange_dye_from_sylvite'}) - event.remove({id: 'minecraft:orange_dye_from_torchflower'}) - event.remove({id: 'minecraft:orange_dye_from_orange_tulip'}) - event.remove({id: 'gtceu:extractor/orange_tulip_dye'}) - - event.recipes.gtceu.extractor('orange_dye') - .itemInputs('1x #tfc:makes_orange_dye') + e.recipes.gtceu.extractor('tfg:orange_dye') + .itemInputs('#tfc:makes_orange_dye') .itemOutputs('2x minecraft:orange_dye') .duration(200) .EUt(2) - event.recipes.createMilling('2x minecraft:orange_dye', '1x #tfc:makes_orange_dye') + e.recipes.createMilling('2x minecraft:orange_dye', '#tfc:makes_orange_dye') .id('tfg:milling/orange_dye') + //#endregion - // Purple - event.recipes.gtceu.extractor('purple_dye') - .itemInputs('1x #tfc:makes_purple_dye') - .itemOutputs('2x minecraft:purple_dye') - .duration(200) - .EUt(2) + //#region Желтый + e.remove({ id: 'minecraft:yellow_dye_from_sunflower' }) + e.remove({ id: 'minecraft:yellow_dye_from_dandelion' }) - event.recipes.createMilling('2x minecraft:purple_dye', '1x #tfc:makes_purple_dye') - .id('tfg:milling/purple_dye') + e.remove({ id: 'tfc:crafting/vanilla/yellow_dye_from_limonite' }) - // Brown - event.remove({id: 'minecraft:brown_dye' }) + e.remove({ id: 'gtceu:extractor/sunflower_dye' }) + e.remove({ id: 'gtceu:extractor/dandelion_dye' }) - event.recipes.gtceu.extractor('brown_dye') - .itemInputs('1x #tfc:makes_brown_dye') - .itemOutputs('2x minecraft:brown_dye') - .duration(200) - .EUt(2) + e.remove({ id: 'coralstfc:milling/coral_block_yellow' }) + e.remove({ id: 'create:milling/compat/botania/yellow_petal' }) + e.remove({ id: 'coralstfc:milling/coral_yellow' }) + e.remove({ id: 'create:milling/sunflower' }) + e.remove({ id: 'create:milling/dandelion' }) + e.remove({ id: 'create:milling/oxeye_daisy' }) - event.recipes.createMilling('2x minecraft:brown_dye', '1x #tfc:makes_brown_dye') - .id('tfg:milling/brown_dye') - - // Light Gray - event.remove({id: 'minecraft:light_gray_dye_from_white_tulip'}) - event.remove({id: 'minecraft:light_gray_dye_from_azure_bluet'}) - event.remove({id: 'minecraft:light_gray_dye_from_oxeye_daisy'}) - event.remove({id: 'gtceu:extractor/white_tulip_dye'}) - event.remove({id: 'gtceu:extractor/azure_bluet_dye'}) - event.remove({id: 'gtceu:extractor/oxeye_daisy_dye'}) - - event.recipes.gtceu.extractor('light_gray_dye') - .itemInputs('1x tfc:plant/yucca') - .itemOutputs('2x minecraft:light_gray_dye') - .duration(200) - .EUt(2) - - event.recipes.createMilling('2x minecraft:light_gray_dye', '1x #tfc:makes_light_gray_dye') - .id('tfg:milling/light_gray_dye') - - // Yellow - event.remove({id: 'minecraft:yellow_dye_from_sunflower'}) - event.remove({id: 'minecraft:yellow_dye_from_dandelion'}) - event.remove({id: 'gtceu:extractor/sunflower_dye'}) - event.remove({id: 'gtceu:extractor/dandelion_dye'}) - - event.recipes.gtceu.extractor('yellow_dye') - .itemInputs('1x #tfc:makes_yellow_dye') + e.recipes.gtceu.extractor('tfg:yellow_dye') + .itemInputs('#tfc:makes_yellow_dye') .itemOutputs('2x minecraft:yellow_dye') - .duration(200) - .EUt(2) - - event.recipes.createMilling('2x minecraft:yellow_dye', '1x #tfc:makes_yellow_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:yellow_dye', '#tfc:makes_yellow_dye') .id('tfg:milling/yellow_dye') - // Blue - event.remove({id: 'minecraft:blue_dye_from_cornflower'}) - event.remove({id: 'gtceu:extractor/cornflower_dye'}) + + //#endregion + + //#region Лаймовый + e.remove({ id: 'minecraft:lime_dye_from_smelting' }) + + e.remove({ id: 'gtceu:extractor/sea_pickle_dye' }) + + e.remove({ id: 'create:milling/pink_tulip' }) + e.remove({ id: 'create:milling/compat/botania/lime_petal' }) + e.remove({ id: 'create:milling/red_tulip' }) + e.remove({ id: 'create:milling/lily_of_the_valley' }) + e.remove({ id: 'create:milling/orange_tulip' }) + e.remove({ id: 'create:milling/white_tulip' }) + e.remove({ id: 'create:milling/sea_pickle' }) - event.recipes.gtceu.extractor('blue_dye') - .itemInputs('1x #tfc:makes_blue_dye') + e.recipes.gtceu.extractor('tfg:lime_dye') + .itemInputs('#tfc:makes_lime_dye') + .itemOutputs('2x minecraft:lime_dye') + .duration(200) + .EUt(2) + + e.recipes.createMilling('2x minecraft:lime_dye', '#tfc:makes_lime_dye') + .id('tfg:milling/lime_dye') + //#endregion + + //#region Зеленый + e.remove({ id: 'tfc:crafting/vanilla/green_dye_from_bismuthinite' }) + e.remove({ id: 'tfc:crafting/vanilla/green_dye_from_malachite' }) + + e.remove({ id: 'minecraft:green_dye' }) + + e.remove({ id: 'create:milling/rose_bush' }) + e.remove({ id: 'create:milling/compat/botania/green_petal' }) + e.remove({ id: 'create:milling/cactus' }) + e.remove({ id: 'create:milling/poppy' }) + e.remove({ id: 'create:milling/sea_pickle' }) + + e.recipes.gtceu.extractor('tfg:green_dye') + .itemInputs('#tfc:makes_green_dye') + .itemOutputs('2x minecraft:green_dye') + .duration(200) + .EUt(2) + + e.recipes.createMilling('2x minecraft:green_dye', '#tfc:makes_green_dye') + .id('tfg:milling/green_dye') + //#endregion + + //#region Бирюзовый + e.remove({ id: 'minecraft:cyan_dye_from_pitcher_plant' }) + e.remove({ id: 'gtceu:extractor/pitcher_dye' }) + e.remove({ id: 'create:milling/compat/botania/cyan_petal' }) + //#endregion + + //#region Светло-синий + e.remove({ id: 'minecraft:light_blue_dye_from_blue_orchid' }) + e.remove({ id: 'gtceu:extractor/blue_orchid_dye' }) + e.remove({ id: 'create:milling/blue_orchid' }) + e.remove({ id: 'create:milling/compat/botania/light_blue_petal' }) + e.remove({ id: 'gtceu:extractor/blue_orchid_dye' }) + + e.recipes.gtceu.extractor('tfg:light_blue_dye') + .itemInputs('#tfc:makes_light_blue_dye') + .itemOutputs('2x minecraft:light_blue_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:light_blue_dye', '#tfc:makes_light_blue_dye') + .id('tfg:milling/light_blue_dye') + //#endregion + + //#region Синий + e.remove({ id: 'minecraft:blue_dye_from_cornflower' }) + e.remove({ id: 'minecraft:blue_dye' }) + e.remove({ id: 'tfc:crafting/vanilla/blue_dye_from_lapis_lazuli' }) + e.remove({ id: 'tfc:crafting/vanilla/blue_dye_from_graphite' }) + e.remove({ id: 'gtceu:extractor/cornflower_dye' }) + + e.remove({ id: 'create:milling/cornflower' }) + e.remove({ id: 'create:milling/compat/botania/blue_petal' }) + e.remove({ id: 'create:milling/lapis_lazuli' }) + e.remove({ id: 'coralstfc:milling/coral_blue' }) + e.remove({ id: 'coralstfc:milling/coral_block_blue' }) + + e.recipes.gtceu.extractor('tfg:blue_dye') + .itemInputs('#tfc:makes_blue_dye') .itemOutputs('2x minecraft:blue_dye') - .duration(200) - .EUt(2) - - event.recipes.createMilling('2x minecraft:blue_dye', '1x #tfc:makes_blue_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:blue_dye', '#tfc:makes_blue_dye') .id('tfg:milling/blue_dye') + //#endregion - // Pink - event.remove({id: 'minecraft:pink_dye_from_pink_petals'}) - event.remove({id: 'minecraft:pink_dye_from_pink_tulip'}) - event.remove({id: 'minecraft:pink_dye_from_peony'}) - event.remove({id: 'gtceu:extractor/pink_tulip_dye'}) - event.remove({id: 'gtceu:extractor/peony_dye'}) + //#region Фиолетовый + e.remove({ id: 'create:milling/allium' }) + e.remove({ id: 'create:milling/lilac' }) + e.remove({ id: 'create:milling/compat/botania/purple_petal' }) + e.remove({ id: 'coralstfc:milling/coral_purple' }) + e.remove({ id: 'coralstfc:milling/coral_block_purple' }) - event.recipes.gtceu.extractor('pink_dye') - .itemInputs('1x #tfc:makes_pink_dye') - .itemOutputs('2x minecraft:pink_dye') - .duration(200) - .EUt(2) + e.recipes.gtceu.extractor('tfg:purple_dye') + .itemInputs('#tfc:makes_purple_dye') + .itemOutputs('2x minecraft:purple_dye') + .EUt(2).duration(200) - event.recipes.createMilling('2x minecraft:pink_dye', '1x #tfc:makes_pink_dye') + e.recipes.createMilling('2x minecraft:purple_dye', '#tfc:makes_purple_dye') + .id('tfg:milling/purple_dye') + //#endregion + + //#region Пурпурный + e.remove({ id: 'minecraft:magenta_dye_from_allium' }) + e.remove({ id: 'minecraft:magenta_dye_from_lilac' }) + + e.remove({ id: 'gtceu:extractor/lilac_dye' }) + e.remove({ id: 'gtceu:extractor/allium_dye' }) + + e.remove({ id: 'create:milling/compat/botania/magenta_petal' }) + e.remove({ id: 'create:milling/peony' }) + e.remove({ id: 'create:milling/allium' }) + e.remove({ id: 'create:milling/lilac' }) + + e.recipes.gtceu.extractor('tfg:magenta_dye') + .itemInputs('#tfc:makes_magenta_dye') + .itemOutputs('2x minecraft:magenta_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:magenta_dye', '#tfc:makes_magenta_dye') + .id('tfg:milling/magenta_dye') + //#endregion + + //#region Розовый + e.remove({ id: 'minecraft:pink_dye_from_pink_tulip' }) + e.remove({ id: 'minecraft:pink_dye_from_pink_petals' }) + e.remove({ id: 'minecraft:pink_dye_from_peony' }) + + e.remove({ id: 'tfc:crafting/vanilla/pink_dye_from_kaolinite' }) + + e.remove({ id: 'gtceu:extractor/pink_petals_dye' }) + e.remove({ id: 'gtceu:extractor/peony_dye' }) + e.remove({ id: 'gtceu:extractor/pink_tulip_dye' }) + + e.remove({ id: 'create:milling/pink_tulip' }) + e.remove({ id: 'create:milling/peony' }) + e.remove({ id: 'create:milling/compat/botania/pink_petal' }) + e.remove({ id: 'create:milling/allium' }) + + e.remove({ id: 'coralstfc:milling/coral_pink' }) + e.remove({ id: 'coralstfc:milling/coral_block_pink' }) + + e.recipes.gtceu.extractor('tfg:pink_dye') + .itemInputs('#tfc:makes_pink_dye') + .itemOutputs('2x minecraft:pink_dye') + .EUt(2).duration(200) + + e.recipes.createMilling('2x minecraft:pink_dye', '#tfc:makes_pink_dye') .id('tfg:milling/pink_dye') - // Cyan - event.remove({id: 'minecraft:cyan_dye_from_pitcher_plant'}) - - // Black - event.remove({id: 'minecraft:black_dye_from_wither_rose'}) - event.remove({id: 'gtceu:extractor/wither_rose_dye'}) + //#endregion //#endregion - //#region Выход: Шаблон баннера - - event.shapeless('minecraft:flower_banner_pattern', [ - 'minecraft:paper', - '#forge:dyes/white' - ]).id('minecraft:flower_banner_pattern') + //#region Бумага + e.remove({ id: 'gtceu:shaped/paper' }) + e.remove({ id: 'create:pressing/sugar_cane' }) - //#endregion + e.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane' }) + e.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane_distilled' }) - //#region Выход: Высушенные водросли - - event.remove({ id: 'minecraft:dried_kelp' }) - event.remove({ id: 'minecraft:dried_kelp_from_smelting' }) - event.remove({ id: 'minecraft:dried_kelp_from_smoking' }) - - //#endregion - - //#region Древесный уголь - - event.remove({ id: 'minecraft:charcoal' }) - - //#endregion - - //#region Выход: Высушенные водросли блок - - event.remove({ id: 'minecraft:dried_kelp_block' }) - - //#endregion - - //#region Выход: Бумага - - event.remove({ id: 'gtceu:shaped/paper' }) - - event.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane' }) - event.remove({ id: 'gtceu:chemical_bath/paper_from_sugar_cane_distilled' }) - - event.recipes.gtceu.chemical_bath('paper_from_papyrus_distilled') - .itemInputs('tfc:papyrus') - .inputFluids(Fluid.of('gtceu:distilled_water', 100)) - .itemOutputs('minecraft:paper') - .duration(100) - .EUt(7) - - event.recipes.gtceu.chemical_bath('paper_from_papyrus') + e.recipes.gtceu.chemical_bath('tfg:minecraft/paper_from_papyrus') .itemInputs('tfc:papyrus') .inputFluids(Fluid.of('minecraft:water', 100)) .itemOutputs('minecraft:paper') - .duration(100) - .EUt(7) + .EUt(7).duration(100) + + e.recipes.gtceu.chemical_bath('tfg:minecraft/paper_from_papyrus_distilled') + .itemInputs('tfc:papyrus') + .inputFluids(Fluid.of('gtceu:distilled_water', 100)) + .itemOutputs('minecraft:paper') + .EUt(7).duration(100) + + // Unrefined Paper -> Paper + e.recipes.gtceu.assembler('tfg:minecraft/paper_from_unrefined_paper') + .itemInputs('tfc:unrefined_paper') + .circuit(7) + .itemOutputs('minecraft:paper') + .EUt(16).duration(50) //#endregion - //#region Выход: Сахар + //#region Сахар + e.remove({ id: 'gtceu:shaped/sugar' }) + e.remove({ id: 'minecraft:sugar_from_honey_bottle' }) + e.remove({ id: 'gtceu:macerator/macerate_sugar_cane' }) - event.remove({ id: 'gtceu:shaped/sugar' }) - event.remove({ id: 'minecraft:sugar_from_honey_bottle' }) - event.remove({ id: 'gtceu:macerator/macerate_sugar_cane' }) - - event.recipes.gtceu.centrifuge('sugar') + e.recipes.gtceu.centrifuge('tfg:sugar_from_sugarcane') .itemInputs('tfc:food/sugarcane') .inputFluids(Fluid.of('minecraft:water', 600)) .itemOutputs('minecraft:sugar') - .duration(800) - .EUt(6) + .EUt(6).duration(800) + + e.recipes.gtceu.centrifuge('tfg:sugar_from_beet') + .itemInputs('tfc:food/beet') + .inputFluids(Fluid.of('minecraft:water', 600)) + .itemOutputs('2x minecraft:sugar') + .EUt(8).duration(800) + //#endregion + + //#region Ферментированный паучий глаз + + e.remove({ id: 'gtceu:mixer/fermented_spider_eye_red' }) + e.remove({ id: 'gtceu:mixer/fermented_spider_eye_brown' }) + e.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_red' }) + e.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_brown' }) + + e.recipes.gtceu.centrifuge('tfg:fermented_spider_eye') + .itemInputs('#beneath:mushrooms', 'minecraft:sugar', 'minecraft:spider_eye') + .inputFluids(Fluid.of('minecraft:water', 600)) + .itemOutputs('minecraft:fermented_spider_eye') + .EUt(7).duration(100) //#endregion - //#region Выход: Ферментированный паучий глаз + //#region Светящийся арбуз + e.remove({ id: 'gtceu:chemical_reactor/glistening_melon_slice' }) - event.remove({ id: 'minecraft:fermented_spider_eye' }) - event.remove({ id: 'gtceu:mixer/fermented_spider_eye_red' }) - event.remove({ id: 'gtceu:mixer/fermented_spider_eye_brown' }) - event.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_red' }) - event.remove({ id: 'gtceu:create_mixer/fermented_spider_eye_brown' }) - - //#endregion - - //#region Выход: Семена тыквы - - event.remove({ id: 'minecraft:pumpkin_seeds' }) - event.remove({ id: 'gtceu:macerator/macerate_pumpkin' }) - - //#endregion - - //#region Выход: Семена арбуза - - event.remove({ id: 'gtceu:macerator/macerate_melon_slice' }) - event.remove({ id: 'gtceu:macerator/macerate_melon_block' }) - - //#endregion - - //#region Выход: Шалкеры - - event.remove({ id: 'minecraft:shulker_box' }) - event.remove({ id: 'tfc:barrel/dye/bleach_shulkers' }) - event.remove({ id: 'gtceu:assembler/purple_shulker_box' }) - - global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.remove({ id: `tfc:barrel/dye/${dye}_shulker` }) - }) - - //#endregion - - //#region Выход: Кондуит - - event.remove({ id: 'minecraft:conduit' }) - - //#endregion - - //#region Выход: Калиброванный сенсор Скалка - - event.remove({ id: 'minecraft:calibrated_sculk_sensor' }) - - //#endregion - - //#region Выход: Вагонетка с сундуком - - event.remove({ id: 'gtceu:assembler/chest_minecart' }) - - //#endregion - - //#region Выход: Верстак - - event.remove({ id: 'tfc:crafting/vanilla/crafting_table' }) - event.remove({ id: 'gtceu:assembler/crafting_table' }) - - //#endregion - - //#region Выход: Хлеб - - event.remove({ id: 'minecraft:bread' }) - - //#endregion - - //#region Выход: Жаренная свинина - - event.remove({ id: 'minecraft:cooked_porkchop' }) - event.remove({ id: 'minecraft:cooked_porkchop_from_smoking' }) - - //#endregion - - //#region Выход: Жаренная курятина - - event.remove({ id: 'minecraft:cooked_chicken' }) - event.remove({ id: 'minecraft:cooked_chicken_from_smoking' }) - - //#endregion - - //#region Выход: Жаренная козлятина - - event.remove({ id: 'minecraft:cooked_mutton' }) - event.remove({ id: 'minecraft:cooked_mutton_from_smoking' }) - - //#endregion - - //#region Выход: Жаренная зайчатина - - event.remove({ id: 'minecraft:cooked_rabbit' }) - event.remove({ id: 'minecraft:cooked_rabbit_from_smoking' }) - - //#endregion - - //#region Выход: Жаренная коровятина - - event.remove({ id: 'minecraft:cooked_beef' }) - event.remove({ id: 'minecraft:cooked_beef_from_smoking' }) - - //#endregion - - //#region Выход: Блок сена - - event.recipes.gtceu.packer('hay_block') - .itemInputs('9x tfc:straw') - .itemOutputs('minecraft:hay_block') - .duration(200) - .EUt(2) - - //#endregion - - //#region Выход: Торт - - event.remove({ id: 'minecraft:cake' }) - - //#endregion - - //#region Выход: Печеньки (Нееет) - - event.remove({ id: 'minecraft:cookie' }) - - //#endregion - - //#region Выход: Сундук - - event.remove({ id: 'gtceu:assembler/chest' }) - - //#endregion - - //#region Выход: Удочки - - event.remove({ id: 'minecraft:warped_fungus_on_a_stick' }) - event.remove({ id: 'minecraft:carrot_on_a_stick' }) - - //#endregion - - //#region Выход: Светильник Джека - - event.recipes.gtceu.canner('jack_o_lantern') - .itemInputs('tfc:pumpkin') - .itemOutputs('minecraft:jack_o_lantern') - .duration(100) - .EUt(4) - - //#endregion - - //#region Выход: Спасательный компас - - event.remove({ id: 'minecraft:recovery_compass' }) - - //#endregion - - //#region Выход: Компасс - - event.remove({ id: 'tfc:crafting/vanilla/compass' }) - event.remove({ id: 'gtceu:assembler/compass' }) - - //#endregion - - //#region Выход: Незеритовый слиток - - event.remove({ id: 'minecraft:netherite_ingot_from_netherite_block' }) - - //#endregion - - //#region Выход: Незеритовый блок - - event.remove({ id: 'minecraft:netherite_block' }) - - //#endregion - - //#region Выход: Lodestone - - event.remove({ id: 'minecraft:lodestone' }) - - //#endregion - - //#region Выход: Точильный камень - - event.shaped('minecraft:grindstone', [ - 'ABA', - 'C C' - ], { - A: '#minecraft:planks', - B: '#forge:rods/wooden', - C: '#tfg:rock_slabs' - }).id('minecraft:grindstone') - - //#endregion - - //#region Выход: Железный люк - - event.remove({ id: 'gtceu:assembler/iron_trapdoor' }) - - //#endregion - - //#region Выхож: Железная дверь - - event.recipes.gtceu.assembler('iron_door') - .itemInputs('#forge:plates/wrought_iron') - .circuit(6) - .itemOutputs('minecraft:iron_door') - .duration(100) - .EUt(16) - - - //#endregion - - //#region Выход: Железная нажимная плита - - event.remove({ id: 'tfc:crafting/vanilla/redstone/heavy_weighted_pressure_plate' }) - - event.shaped('2x minecraft:heavy_weighted_pressure_plate', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: '#forge:screws/wrought_iron', - B: '#tfc:hammers', - C: 'gtceu:wrought_iron_block', - D: '#forge:springs', - E: '#forge:tools/screwdrivers' - }).id('minecraft:heavy_weighted_pressure_plate') - - event.recipes.gtceu.assembler('heavy_weighted_pressure_plate') - .itemInputs('#forge:springs', 'gtceu:wrought_iron_block') - .circuit(0) - .itemOutputs('4x minecraft:heavy_weighted_pressure_plate') - .duration(50) - .EUt(4) - - //#endregion - - //#region Выход: Золотая нажимная плита - - event.shaped('2x minecraft:light_weighted_pressure_plate', [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: '#forge:screws/wrought_iron', - B: '#tfc:hammers', - C: 'minecraft:gold_block', - D: '#forge:springs', - E: '#forge:tools/screwdrivers' - }).id('minecraft:light_weighted_pressure_plate') - - event.recipes.gtceu.assembler('light_weighted_pressure_plate') - .itemInputs('#forge:springs', 'minecraft:gold_block') - .circuit(0) - .itemOutputs('4x minecraft:light_weighted_pressure_plate') - .duration(50) - .EUt(4) - - //#endregion - - //#region Выход: Жаренный Cod - - event.remove({ id: 'minecraft:cooked_cod' }) - event.remove({ id: 'minecraft:cooked_cod_from_smoking' }) - - //#endregion - - //#region Выход: Жаренный Salmon - - event.remove({ id: 'minecraft:cooked_salmon' }) - event.remove({ id: 'minecraft:cooked_salmon_from_smoking' }) - - //#endregion - - //#region Выход: Светящийся арбуз - - event.shaped('minecraft:glistering_melon_slice', [ - 'AAA', - 'ABA', - 'AAA' - ], { - A: '#forge:nuggets/gold', - B: 'tfc:food/melon_slice' - }).id('minecraft:glistering_melon_slice') - - event.recipes.gtceu.chemical_reactor('glistening_melon_slice') + e.recipes.gtceu.chemical_reactor('tfg:glistening_melon_slice') .itemInputs('tfc:food/melon_slice', '6x #forge:nuggets/gold') .itemOutputs('minecraft:glistering_melon_slice') - .duration(50) - .EUt(30) - - event.recipes.gtceu.large_chemical_reactor('glistening_melon_slice') - .itemInputs('tfc:food/melon_slice', '6x #forge:nuggets/gold') - .itemOutputs('minecraft:glistering_melon_slice') - .duration(50) - .EUt(30) - - //#endregion - - //#region Выход: Улей - - event.remove({ id: 'minecraft:beehive' }) - - //#endregion - - //#region Выход: Блок сот - - event.remove({ id: 'minecraft:honeycomb_block' }) - - //#endregion - - //#region Выход: Пузырек с медом - - event.remove({ id: 'minecraft:honey_bottle' }) - - //#endregion - - //#region Выход: Блок меда - - event.remove({ id: 'minecraft:honey_block' }) - - //#endregion - - //#region Выход: Сухая губка - - event.recipes.tfc.heating('minecraft:wet_sponge', 790) - .resultItem('minecraft:sponge') - .id('tfg:minecraft/heating/sponge') - - //#endregion - - //#region Выход: Прожаренный фрукт хоруса - - event.remove({ id: 'minecraft:popped_chorus_fruit' }) - - //#endregion - - //#region Выход: Фиолетовый блок - - event.remove({ id: 'gtceu:compressor/purpur_block' }) - - //#endregion - - //#region Выход: Фиолетовый блок ступень - - event.remove({ id: 'minecraft:purpur_stairs' }) - event.remove({ id: 'minecraft:purpur_stairs_from_purpur_block_stonecutting' }) - - //#endregion - - //#region Выход: Фиолетовый блок плита - - event.remove({ id: 'minecraft:purpur_slab' }) - event.remove({ id: 'gtceu:shaped/purpur_slab_saw' }) - event.remove({ id: 'minecraft:purpur_slab_from_purpur_block_stonecutting' }) - - //#endregion - - //#region Выход: Фиолетовый блок столб - - event.remove({ id: 'minecraft:purpur_pillar_from_purpur_block_stonecutting' }) - - //#endregion - - //#region Выход: Ножницы - - event.remove({ id: 'minecraft:shears' }) - - //#endregion - - //#region Выход: Светильник - - event.remove({ id: 'minecraft:lantern' }) - - //#endregion - - //#region Выход: Цепи - - event.remove({ id: 'minecraft:chain' }) - - //#endregion - - //#region Выход: Светильник адский - - event.remove({ id: 'minecraft:soul_lantern' }) - - //#endregion - - //#region Выход: Стол для ковки - - event.remove({ id: 'minecraft:smithing_table' }) - - //#endregion - - //#region Выход: Плавильня - - event.remove({ id: 'minecraft:blast_furnace' }) - - //#endregion - - //#region Выход: Коптильня - - event.remove({ id: 'minecraft:blast_furnace' }) - - //#endregion - - //#region Выход: Тонированное стекло - - event.recipes.gtceu.chemical_bath('tfg:minecraft/tinted_glass') - .itemInputs('minecraft:glass') - .inputFluids(Fluid.of('gtceu:black_dye', 144)) - .itemOutputs('minecraft:tinted_glass') - .duration(260) - .EUt(16) - - //#endregion - - //#region Выход: Пустая карта - - event.recipes.gtceu.assembler('map') - .itemInputs('8x minecraft:paper', 'firmaciv:firmaciv_compass') - .itemOutputs('minecraft:map') - .duration(100) - .EUt(4) - - //#endregion - - //#region Выход: Жаренный картофель - - event.remove({ id: 'minecraft:baked_potato' }) - event.remove({ id: 'minecraft:baked_potato_from_smoking' }) - - //#endregion - - //#region Выход: Декор ваза - - event.remove({ id: 'minecraft:decorated_pot_simple' }) - - //#endregion - - //#region Выход: Резные книжные полки - - event.remove({ id: 'minecraft:chiseled_bookshelf' }) - + .EUt(30).duration(50) //#endregion - //#region Выход: Книжные полки - - event.remove({ id: 'gtceu:assembler/bookshelf' }) - - //#endregion - - //#region Выход: Стержень энда - - event.remove({ id: 'minecraft:end_rod' }) - event.remove({ id: 'gtceu:assembler/end_rod' }) - - //#endregion - - //#region Выход: Кисточка - - event.remove({ id: 'minecraft:brush' }) - - //#endregion - - //#region Выход: Книга - - event.remove({ id: 'gtceu:extractor/bookshelf_extraction' }) - - event.shapeless('minecraft:book', [ - 'minecraft:paper', 'minecraft:paper', 'minecraft:paper', 'minecraft:leather' - ]).id('minecraft:book') - - //#endregion - - //#region Выход: Трибуна - - event.remove({ id: 'tfc:crafting/vanilla/lectern' }) - - //#endregion - - //#region Выход: Золотое яблоко - - event.remove({ id: 'minecraft:golden_apple' }) - - event.recipes.gtceu.chemical_reactor('golden_apple') - .itemInputs('tfc:food/green_apple', '8x #forge:ingots/gold') - .itemOutputs('minecraft:golden_apple') - .duration(50) - .EUt(30) - - event.recipes.gtceu.large_chemical_reactor('golden_apple') - .itemInputs('tfc:food/green_apple', '8x #forge:ingots/gold') - .itemOutputs('minecraft:golden_apple') - .duration(50) - .EUt(30) - - event.recipes.gtceu.chemical_reactor('golden_apple_1') - .itemInputs('tfc:food/red_apple', '8x #forge:ingots/gold') - .itemOutputs('minecraft:golden_apple') - .duration(50) - .EUt(30) - - event.recipes.gtceu.large_chemical_reactor('golden_apple_1') - .itemInputs('tfc:food/red_apple', '8x #forge:ingots/gold') - .itemOutputs('minecraft:golden_apple') - .duration(50) - .EUt(30) - - //#endregion - - //#region Выход: Зачарованное золотое яблоко - - event.recipes.gtceu.chemical_reactor('notch_apple') - .itemInputs('tfc:food/green_apple', '8x minecraft:gold_block') - .itemOutputs('minecraft:enchanted_golden_apple') - .duration(50) - .EUt(30) - - event.recipes.gtceu.large_chemical_reactor('notch_apple') - .itemInputs('tfc:food/green_apple', '8x minecraft:gold_block') - .itemOutputs('minecraft:enchanted_golden_apple') - .duration(50) - .EUt(30) - - event.recipes.gtceu.chemical_reactor('notch_apple_1') - .itemInputs('tfc:food/red_apple', '8x minecraft:gold_block') - .itemOutputs('minecraft:enchanted_golden_apple') - .duration(50) - .EUt(30) - - event.recipes.gtceu.large_chemical_reactor('notch_apple_1') - .itemInputs('tfc:food/red_apple', '8x minecraft:gold_block') - .itemOutputs('minecraft:enchanted_golden_apple') - .duration(50) - .EUt(30) - - //#endregion - - //#region Шаблоны брони - - event.remove({id: 'minecraft:wild_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:wayfinder_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:ward_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:vex_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:tide_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:spire_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:snout_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:silence_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:shaper_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:sentry_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:rib_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:raiser_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:host_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:eye_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:dune_armor_trim_smithing_template_smithing_trim'}) - event.remove({id: 'minecraft:coast_armor_trim_smithing_template_smithing_trim'}) - - //#endregion - - //#region Кольчуга - - event.remove({id: 'gtceu:shaped/chainmail_boots'}) - event.remove({id: 'gtceu:shaped/chainmail_leggings'}) - event.remove({id: 'gtceu:shaped/chainmail_chestplate'}) - event.remove({id: 'gtceu:shaped/chainmail_helmet'}) - event.remove({id: 'gtceu:arc_furnace/arc_chainmail_boots'}) - event.remove({id: 'gtceu:arc_furnace/arc_chainmail_leggings'}) - event.remove({id: 'gtceu:arc_furnace/arc_chainmail_chestplate'}) - event.remove({id: 'gtceu:arc_furnace/arc_chainmail_helmet'}) - event.remove({id: 'gtceu:macerator/macerate_chainmail_boots'}) - event.remove({id: 'gtceu:macerator/macerate_chainmail_leggings'}) - event.remove({id: 'gtceu:macerator/macerate_chainmail_chestplate'}) - event.remove({id: 'gtceu:macerator/macerate_chainmail_helmet'}) - event.remove({id: 'minecraft:iron_nugget_from_smelting'}) - event.remove({id: 'minecraft:iron_nugget_from_blasting'}) - - //#endregion - - //#region Железная броня - - event.remove({id: 'gtceu:arc_furnace/arc_iron_boots'}) - event.remove({id: 'gtceu:arc_furnace/arc_iron_leggings'}) - event.remove({id: 'gtceu:arc_furnace/arc_iron_chestplate'}) - event.remove({id: 'gtceu:arc_furnace/arc_iron_helmet'}) - event.remove({id: 'gtceu:macerator/macerate_iron_boots'}) - event.remove({id: 'gtceu:macerator/macerate_iron_leggings'}) - event.remove({id: 'gtceu:macerator/macerate_iron_chestplate'}) - event.remove({id: 'gtceu:macerator/macerate_iron_helmet'}) - event.remove({id: 'gtceu:shaped/iron_horse_armor'}) - event.remove({id: 'gtceu:arc_furnace/arc_iron_horse_armor'}) - event.remove({id: 'gtceu:macerator/macerate_iron_horse_armor'}) - - //#endregion - - //#region Золотая броня - - event.remove({id: 'gtceu:arc_furnace/arc_golden_boots'}) - event.remove({id: 'gtceu:arc_furnace/arc_golden_leggings'}) - event.remove({id: 'gtceu:arc_furnace/arc_golden_chestplate'}) - event.remove({id: 'gtceu:arc_furnace/arc_golden_helmet'}) - event.remove({id: 'gtceu:macerator/macerate_golden_boots'}) - event.remove({id: 'gtceu:macerator/macerate_golden_leggings'}) - event.remove({id: 'gtceu:macerator/macerate_golden_chestplate'}) - event.remove({id: 'gtceu:macerator/macerate_golden_helmet'}) - event.remove({id: 'gtceu:shaped/golden_horse_armor'}) - event.remove({id: 'gtceu:arc_furnace/arc_golden_horse_armor'}) - event.remove({id: 'gtceu:macerator/macerate_golden_horse_armor'}) - event.remove({id: 'minecraft:gold_nugget_from_smelting'}) - event.remove({id: 'minecraft:gold_nugget_from_blasting'}) - - //#endregion - - //#region Алмазная броня - - event.remove({id: 'gtceu:macerator/macerate_diamond_boots'}) - event.remove({id: 'gtceu:macerator/macerate_diamond_leggings'}) - event.remove({id: 'gtceu:macerator/macerate_diamond_chestplate'}) - event.remove({id: 'gtceu:macerator/macerate_diamond_helmet'}) - event.remove({id: 'gtceu:shaped/diamond_horse_armor'}) - event.remove({id: 'gtceu:macerator/macerate_diamond_horse_armor'}) - - //#endregion - - //#region Незеритовая броня - - event.remove({id: 'minecraft:netherite_helmet_smithing'}) - event.remove({id: 'minecraft:netherite_chestplate_smithing'}) - event.remove({id: 'minecraft:netherite_leggings_smithing'}) - event.remove({id: 'minecraft:netherite_boots_smithing'}) - - //#endregion - - //#region Деревянные инструменты - - event.remove({id: 'gtceu:macerator/macerate_wooden_sword'}) - event.remove({id: 'gtceu:macerator/macerate_wooden_pickaxe'}) - event.remove({id: 'gtceu:macerator/macerate_wooden_axe'}) - event.remove({id: 'gtceu:macerator/macerate_wooden_shovel'}) - event.remove({id: 'gtceu:macerator/macerate_wooden_hoe'}) - - //#endregion - - //#region Каменные инстурменты - - event.remove({id: 'gtceu:macerator/macerate_stone_sword'}) - event.remove({id: 'gtceu:macerator/macerate_stone_pickaxe'}) - event.remove({id: 'gtceu:macerator/macerate_stone_axe'}) - event.remove({id: 'gtceu:macerator/macerate_stone_shovel'}) - event.remove({id: 'gtceu:macerator/macerate_stone_hoe'}) - - //#endregion - - //#region Железные инструменты - - event.remove({id: 'gtceu:macerator/macerate_iron_sword'}) - event.remove({id: 'gtceu:macerator/macerate_iron_pickaxe'}) - event.remove({id: 'gtceu:macerator/macerate_iron_axe'}) - event.remove({id: 'gtceu:macerator/macerate_iron_shovel'}) - event.remove({id: 'gtceu:macerator/macerate_iron_hoe'}) - event.remove({id: 'gtceu:arc_furnace/arc_iron_sword'}) - event.remove({id: 'gtceu:arc_furnace/arc_iron_pickaxe'}) - event.remove({id: 'gtceu:arc_furnace/arc_iron_axe'}) - event.remove({id: 'gtceu:arc_furnace/arc_iron_shovel'}) - event.remove({id: 'gtceu:arc_furnace/arc_iron_hoe'}) - - //#endregion - - //#region Золотые инструменты - - event.remove({id: 'gtceu:macerator/macerate_golden_sword'}) - event.remove({id: 'gtceu:macerator/macerate_golden_pickaxe'}) - event.remove({id: 'gtceu:macerator/macerate_golden_axe'}) - event.remove({id: 'gtceu:macerator/macerate_golden_shovel'}) - event.remove({id: 'gtceu:macerator/macerate_golden_hoe'}) - event.remove({id: 'gtceu:arc_furnace/arc_golden_sword'}) - event.remove({id: 'gtceu:arc_furnace/arc_golden_pickaxe'}) - event.remove({id: 'gtceu:arc_furnace/arc_golden_axe'}) - event.remove({id: 'gtceu:arc_furnace/arc_golden_shovel'}) - event.remove({id: 'gtceu:arc_furnace/arc_golden_hoe'}) - - //#endregion - - //#region Алмазные инструменты - - event.remove({id: 'gtceu:macerator/macerate_diamond_sword'}) - event.remove({id: 'gtceu:macerator/macerate_diamond_pickaxe'}) - event.remove({id: 'gtceu:macerator/macerate_diamond_axe'}) - event.remove({id: 'gtceu:macerator/macerate_diamond_shovel'}) - event.remove({id: 'gtceu:macerator/macerate_diamond_hoe'}) - event.remove({id: 'gtceu:arc_furnace/arc_diamond_sword'}) - event.remove({id: 'gtceu:arc_furnace/arc_diamond_pickaxe'}) - event.remove({id: 'gtceu:arc_furnace/arc_diamond_axe'}) - event.remove({id: 'gtceu:arc_furnace/arc_diamond_shovel'}) - event.remove({id: 'gtceu:arc_furnace/arc_diamond_hoe'}) - - //#endregion - - //#region Незеритовые инструменты - - event.remove({id: 'minecraft:netherite_sword_smithing'}) - event.remove({id: 'minecraft:netherite_pickaxe_smithing'}) - event.remove({id: 'minecraft:netherite_axe_smithing'}) - event.remove({id: 'minecraft:netherite_shovel_smithing'}) - event.remove({id: 'minecraft:netherite_hoe_smithing'}) - - //#endregion - - //#region Выход: Шаблоны брони - - event.remove({ id: 'minecraft:coast_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:vex_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:host_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:rib_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:spire_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:tide_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:eye_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:raiser_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:wild_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:shaper_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:snout_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:dune_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:netherite_upgrade_smithing_template' }) - event.remove({ id: 'minecraft:wayfinder_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:ward_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:silence_armor_trim_smithing_template' }) - event.remove({ id: 'minecraft:sentry_armor_trim_smithing_template' }) - - //#endregion - - //#region Выход: Компаратор - - event.remove({id: 'minecraft:comparator'}) - event.remove({id: 'gtceu:shaped/comparator_quartzite'}) - event.remove({id: 'gtceu:shaped/comparator_certus'}) - event.remove({id: 'tfc:crafting/vanilla/redstone/comparator'}) - - // Компаратор - event.shaped('minecraft:comparator', [ - ' A ', - 'ABA', - 'CCC' - ], { - A: 'minecraft:redstone_torch', - B: '#forge:gems/certus_quartz', - C: '#tfc:rock/smooth' - }).id('tfg:shaped/comparator_certus'); - - event.shaped('minecraft:comparator', [ - ' A ', - 'ABA', - 'CCC' - ], { - A: 'minecraft:redstone_torch', - B: '#forge:gems/quartzite', - C: '#tfc:rock/smooth' - }).id('tfg:shaped/comparator_quartzite'); - - event.shaped('minecraft:comparator', [ - ' A ', - 'ABA', - 'CCC' - ], { - A: 'minecraft:redstone_torch', - B: '#forge:gems/nether_quartz', - C: '#tfc:rock/smooth' - }).id('tfg:shaped/comparator_nether_quartz'); - - //#endregion - - //#region Выход: Крюк - - event.remove({id: 'minecraft:tripwire_hook'}) - event.remove({id: 'tfc:crafting/vanilla/redstone/tripwire_hook'}) - event.remove({id: 'gtceu:assembler/tripwire_hook_wrought_iron'}) - event.remove({id: 'gtceu:assembler/tripwire_hook_iron'}) - - event.shapeless('minecraft:tripwire_hook', [ - '#forge:rods/wood', - '#forge:rings/wrought_iron', - '#forge:small_springs' - ]).id('tfg:shaped/tripwire_hook') - - event.recipes.gtceu.assembler('tripwire_hook') - .itemInputs('#forge:rods/wood', '#forge:rings/wrought_iron', '#forge:small_springs') - .itemOutputs('2x minecraft:tripwire_hook') - .duration(100) - .EUt(4) - - //#endregion - - //#region Выход: Рамка - - event.remove({ id: 'minecraft:item_frame' }) - - event.recipes.gtceu.assembler('item_frame') - .itemInputs('8x #tfc:lumber', 'minecraft:leather') - .itemOutputs('8x minecraft:item_frame') - .duration(100) - .EUt(4) - - //#endregion - - //#region Выход: Свето-рамка - - event.shapeless('minecraft:glow_item_frame', [ - 'minecraft:item_frame', - '#forge:dusts/glowstone' - ]).id('minecraft:glow_item_frame') - - event.recipes.gtceu.assembler('tfg/glow_item_frame') - .itemInputs('2x minecraft:item_frame', '#forge:dusts/glowstone') - .itemOutputs('2x minecraft:glow_item_frame') - .duration(100) - .EUt(4) - - //#endregion - - //#region Выход: Картина - - event.recipes.gtceu.assembler('painting') - .itemInputs('#tfc:high_quality_cloth','8x #forge:rods/wood') - .itemOutputs('2x minecraft:painting') - .circuit(1) - .duration(100) - .EUt(4) - - //#endregion - - //#region Выход: Факел - - //#region В Верстаке - - // Из серы - event.shaped('2x tfc:dead_torch', [ - 'A', - 'B' - ], { - A: 'gtceu:sulfur_dust', - B: '#tfc:can_be_lit_on_torch' - }).id('gtceu:shaped/torch_sulfur') - - // Из фосфора - event.shaped('6x tfc:dead_torch', [ - 'A', - 'B' - ], { - A: 'gtceu:phosphorus_dust', - B: '#tfc:can_be_lit_on_torch' - }).id('gtceu:shaped/torch_phosphorus') - - // Из креозота - // Я не виноват, что рецепт с ведром грега не работает - event.remove({ id: 'gtceu:shaped/torch_creosote' }) - - // Из пыли кокса - event.shaped('8x tfc:dead_torch', [ - 'A', - 'B' - ], { - A: 'gtceu:coke_dust', - B: '#tfc:can_be_lit_on_torch' - }).id('gtceu:shaped/torch_coke_dust') - - // Из гема кокса - event.shaped('8x tfc:dead_torch', [ - 'A', - 'B' - ], { - A: 'gtceu:coke_gem', - B: '#tfc:can_be_lit_on_torch' - }).id('gtceu:shaped/torch_coke') - - // Из пыли угля - event.shaped('4x tfc:dead_torch', [ - 'A', - 'B' - ], { - A: 'gtceu:coal_dust', - B: '#tfc:can_be_lit_on_torch' - }).id('gtceu:shaped/torch_coal_dust') - - // Из гема угля - event.shaped('4x tfc:dead_torch', [ - 'A', - 'B' - ], { - A: 'minecraft:coal', - B: '#tfc:can_be_lit_on_torch' - }).id('tfg:crafting/torch_coal') - - // Из пыли древесного угля - event.shaped('4x tfc:dead_torch', [ - 'A', - 'B' - ], { - A: 'gtceu:charcoal_dust', - B: '#tfc:can_be_lit_on_torch' - }).id('gtceu:shaped/torch_charcoal_dust') - - // Из гема древесного угля - event.shaped('4x tfc:dead_torch', [ - 'A', - 'B' - ], { - A: 'minecraft:charcoal', - B: '#tfc:can_be_lit_on_torch' - }).id('tfg:crafting/torch_charcoal') - - // Из резины - event.shaped('3x tfc:dead_torch', [ - 'A', - 'B' - ], { - A: 'gtceu:sticky_resin', - B: '#tfc:can_be_lit_on_torch' - }).id('gtceu:shaped/sticky_resin_torch') - - //#endregion - - //#region В сборщике - - // Из серы - event.recipes.gtceu.assembler('torch_sulfur') - .itemInputs('#tfc:can_be_lit_on_torch', 'gtceu:sulfur_dust') - .itemOutputs('2x tfc:dead_torch') - .duration(100) - .EUt(1) - - // Из фосфора - event.recipes.gtceu.assembler('torch_phosphorus') - .itemInputs('#tfc:can_be_lit_on_torch', 'gtceu:phosphorus_dust') - .itemOutputs('6x tfc:dead_torch') - .duration(100) - .EUt(1) - - // Из гема кокса - event.recipes.gtceu.assembler('torch_coke_gem') - .itemInputs('#tfc:can_be_lit_on_torch', 'gtceu:coke_gem') - .itemOutputs('8x tfc:dead_torch') - .duration(100) - .EUt(1) - - // Из пыли кокса - event.recipes.gtceu.assembler('torch_coke_dust') - .itemInputs('#tfc:can_be_lit_on_torch', 'gtceu:coke_dust') - .itemOutputs('8x tfc:dead_torch') - .duration(100) - .EUt(1) - - // Из гема ванильного угля - event.recipes.gtceu.assembler('torch_coal') - .itemInputs('#tfc:can_be_lit_on_torch', 'minecraft:coal') - .itemOutputs('4x tfc:dead_torch') - .duration(100) - .EUt(1) - - // Из пыли ванильного угля - event.recipes.gtceu.assembler('torch_coal_dust') - .itemInputs('#tfc:can_be_lit_on_torch', 'gtceu:coal_dust') - .itemOutputs('4x tfc:dead_torch') - .duration(100) - .EUt(1) - - // Из пыли древесного угля - event.recipes.gtceu.assembler('torch_charcoal_dust') - .itemInputs('#tfc:can_be_lit_on_torch', 'gtceu:charcoal_dust') - .itemOutputs('4x tfc:dead_torch') - .duration(100) - .EUt(1) - - - //#endregion - - // Мертвый факел в обычный - event.smelting('tfc:torch', 'tfc:dead_torch') - .id('tfg:smelting/dead_torch_to_torch') - - //#endregion - - //#region Выход: Палки - - event.remove({id: 'minecraft:stick'}) - - //#endregion - - //#region Выход: Огниво - - event.remove({id: 'tfc:crafting/vanilla/flint_and_steel'}) - event.remove({id: 'ad_astra:recipes/flint_and_steel'}) - - //#endregion - - //#region Выход: Наковальни - - event.remove({id: 'gtceu:alloy_smelter/anvil'}) - event.remove({id: 'gtceu:fluid_solidifier/solidify_anvil'}) - - //#endregion - - //#region Выход: Железные прутья - - event.remove({id: 'gtceu:shaped/iron_bars'}) - event.remove({id: 'gtceu:assembler/iron_nars'}) - - //#endregion - - //#region Выход: Печь - - event.remove({ id: 'gtceu:assembler/furnace' }) - - //#endregion - - //#region Выход: Вагонетка с печью - - event.remove({ id: 'minecraft:furnace_minecart' }) - event.remove({ id: 'gtceu:assembler/furnace_minecart' }) - - //#endregion - - //#region Выход: Повторитель - - event.remove({id: 'minecraft:repeater'}) - - //#endregion - - //#region Выход: Ведро - - event.remove({id: 'gtceu:bender/bucket'}) - event.remove({id: 'gtceu:shaped/iron_bucket'}) - - event.recipes.tfc.welding('minecraft:bucket', 'tfc:metal/bucket/red_steel', 'tfc:metal/bucket/blue_steel', 6) - .id('tfg:anvil/vanilla_bucket') - - event.recipes.gtceu.assembler('tfg:vanilla/bucket') - .itemInputs('#forge:plates/red_steel', '#forge:plates/blue_steel') - .circuit(6) - .itemOutputs('minecraft:bucket') - .duration(100) - .EUt(16) - - //#endregion - - //#region Выход: Седло - - event.remove({id: 'gtceu:shaped/saddle'}) - - //#endregion - - //#region Выход: Блок лазурита - - event.remove({ id: 'tfc:crafting/vanilla/lapis_block' }) - - //#endregion - - //#region Выход: Вагонетка - - event.remove({ id: 'minecraft:minecart' }) - - event.shaped('minecraft:minecart', [ - 'A A', - 'AAA', - 'B B' - ], { - A: 'gtceu:wrought_iron_plate', - B: 'gtceu:iron_minecart_wheels' - }).id('tfc:crafting/vanilla/redstone/minecart') - - event.shaped('minecraft:minecart', [ - 'A A', - 'AAA', - 'B B' - ], { - A: 'gtceu:wrought_iron_plate', - B: 'gtceu:steel_minecart_wheels' - }).id('tfc:crafting/vanilla/redstone/steel_minecart') - - event.recipes.gtceu.assembler('minecart') - .itemInputs('3x #forge:plates/wrought_iron', '3x #forge:rings/wrought_iron') - .itemOutputs('minecraft:minecart') - .duration(100) - .EUt(2) - - //#endregion - - //#region Выход: Тигель - event.remove({ id: 'tfc:crafting/vanilla/cauldron' }) - - event.shaped('minecraft:cauldron', [ - 'A A', - 'ABA', - 'AAA' - ], { - A: '#forge:plates/wrought_iron', - B: '#tfc:hammers' - }).id('gtceu:shaped/cauldron') - - event.recipes.gtceu.assembler('cauldron') - .itemInputs('7x #forge:plates/wrought_iron') - .circuit(10) - .itemOutputs('minecraft:cauldron') - .duration(700) - .EUt(4) - - //#endregion - - //#region Выход: Детектор света - - event.remove({ id: 'tfc:crafting/vanilla/redstone/daylight_detector' }) - - //#endregion - - //#region Выход: Воронка - - event.remove({ id: 'gtceu:assembler/hopper_iron' }) - event.remove({ id: 'tfc:crafting/vanilla/redstone/steel_hopper' }) - event.remove({ id: 'tfc:crafting/vanilla/redstone/hopper' }) - - event.shaped('minecraft:hopper', [ - 'ABA', - 'ACA', - 'DAE' - ], { - A: '#forge:plates/wrought_iron', - B: '#forge:chests/wooden', - C: '#forge:gears/wrought_iron', - D: '#forge:tools/wrenches', - E: '#forge:tools/hammers', - }).id('gtceu:shaped/hopper') - - //#endregion - - //#region Выход: Поршень - - event.remove({ id: 'minecraft:piston' }) - event.remove({ id: 'gtceu:shaped/piston_titanium' }) - event.remove({ id: 'gtceu:shaped/piston_steel' }) - event.remove({ id: 'gtceu:shaped/piston_bronze' }) - event.remove({ id: 'gtceu:shaped/piston_aluminium' }) - - event.remove({ id: 'gtceu:assembler/piston_titanium' }) - event.remove({ id: 'gtceu:assembler/piston_steel' }) - event.remove({ id: 'gtceu:assembler/piston_iron' }) - event.remove({ id: 'gtceu:assembler/piston_bronze' }) - event.remove({ id: 'gtceu:assembler/piston_aluminium' }) - - event.recipes.gtceu.assembler('piston') - .itemInputs('#forge:plates/wrought_iron', '3x tfc:wood/planks/acacia', '4x #tfc:rock/raw') - .itemOutputs('4x minecraft:piston') - .duration(100) - .EUt(16) - - //#endregion - - //#region Выход: Кожа - - event.remove({ id: 'minecraft:leather' }) - - //#endregion - - //#region Выход: Шерсть - - event.recipes.gtceu.assembler('wool_from_string') - .itemInputs('4x #forge:string') - .circuit(4) - .itemOutputs('minecraft:white_wool') - .duration(100) - .EUt(4) - - - global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.remove({ id: `minecraft:dye_${dye}_wool` }) - }) - - //#endregion - - //#region Выход: Свечи - - event.remove({ id: `minecraft:candle` }) - - global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.remove({ id: `minecraft:${dye}_candle` }) - }) - - //#endregion - - //#region Выход: Ковры - - global.MINECRAFT_DYE_NAMES.forEach(dye => { - - event.remove({ id: `minecraft:dye_${dye}_carpet` }) - - event.shapeless(`2x minecraft:${dye}_carpet`, [ - '#tfc:saws', - `minecraft:${dye}_wool` - ]).id(`minecraft:${dye}_carpet`) - - if (dye != 'white') { - event.recipes.gtceu.chemical_bath(`tfg:${dye}_carpet`) - .itemInputs(`minecraft:white_carpet`) - .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 72)) - .itemOutputs(`minecraft:${dye}_carpet`) - .duration(300) - .EUt(4) - } - }) - - //#endregion - - //#region Выход: Кровати - - event.recipes.gtceu.chemical_bath(`bed_decolor`) - .itemInputs('#tfc:colored_bed') - .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) - .itemOutputs(`minecraft:white_bed`) - .duration(300) - .EUt(4) - - global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.remove({ id: `minecraft:${dye}_bed` }) - event.remove({ id: `minecraft:dye_${dye}_bed` }) - - if (dye != "white") - event.recipes.gtceu.chemical_bath(`${dye}_bed`) - .itemInputs(`minecraft:white_bed`) - .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 216)) - .itemOutputs(`minecraft:${dye}_bed`) - .duration(300) - .EUt(4) - }) - - //#endregion - - //#region Выход: Арбалет - - event.remove({ id: 'minecraft:crossbow' }) - - //#endregion - - //#region Выход: Лук - - event.recipes.gtceu.assembler('bow') - .itemInputs('3x #forge:string', '3x #forge:rods/wooden') - .itemOutputs('minecraft:bow') - .duration(100) - .EUt(4) - - //#endregion - - //#region Выход: Наблюдатель - - event.remove({ id: 'minecraft:observer' }) - - event.recipes.gtceu.assembler('observer_certus_quartz') - .itemInputs('6x #forge:cobblestone', '2x minecraft:redstone', '#forge:plates/certus_quartz') - .itemOutputs('minecraft:observer') - .duration(100) - .EUt(30) - - event.recipes.gtceu.assembler('observer_nether_quartz') - .itemInputs('6x #forge:cobblestone', '2x minecraft:redstone', '#forge:plates/nether_quartz') - .itemOutputs('minecraft:observer') - .duration(100) - .EUt(30) - - event.recipes.gtceu.assembler('observer_quartzite') - .itemInputs('6x #forge:cobblestone', '2x minecraft:redstone', '#forge:plates/quartzite') - .itemOutputs('minecraft:observer') - .duration(100) - .EUt(30) - - //#endregion - - //#region Выход: Раздатчик - - event.recipes.gtceu.assembler('dispenser') - .itemInputs('7x #forge:cobblestone', 'minecraft:redstone', 'minecraft:bow') - .circuit(1) - .itemOutputs('minecraft:dispenser') - .duration(100) - .EUt(30) - - //#endregion - - //#region Выход: Выбрасыватель - - event.recipes.gtceu.assembler('dropper') - .itemInputs('7x #forge:cobblestone', '2x minecraft:redstone') - .circuit(2) - .itemOutputs('minecraft:dropper') - .duration(100) - .EUt(30) - - //#endregion - - //#region Выход: Рельсы - - event.remove({ id: 'tfc:crafting/vanilla/redstone/steel_rail' }) - - event.recipes.gtceu.assembler('rail') - .itemInputs('6x #forge:rods/wrought_iron', '#forge:rods/wooden') - .circuit(1) - .itemOutputs('32x minecraft:rail') - .duration(100) - .EUt(30) - - //#endregion - - //#region Выход: Заряженные рельсы - - event.remove({ id: 'minecraft:powered_rail' }) - - event.recipes.gtceu.assembler('powered_rail') - .itemInputs('6x #forge:rods/gold', '2x #forge:rods/wooden', '#forge:dusts/redstone') - .circuit(1) - .itemOutputs('16x minecraft:powered_rail') - .duration(100) - .EUt(30) - - //#endregion - - //#region Выход: Активаторные рельсы - - event.remove({ id: 'tfc:crafting/vanilla/redstone/steel_activator_rail' }) - event.remove({ id: 'minecraft:activator_rail' }) - - event.recipes.gtceu.assembler('activator_rail') - .itemInputs('6x #forge:rods/wrought_iron', '#forge:rods/wooden', 'minecraft:redstone_torch') - .circuit(1) - .itemOutputs('4x minecraft:activator_rail') - .duration(100) - .EUt(30) - - //#endregion - - //#region Выход: Нажимные рельсы - - event.remove({ id: 'tfc:crafting/vanilla/redstone/steel_detector_rail' }) - event.remove({ id: 'minecraft:detector_rail' }) - - event.recipes.gtceu.assembler('detector_rail') - .itemInputs('6x #forge:rods/wrought_iron', '#forge:rods/wooden', '#minecraft:stone_pressure_plates') - .circuit(1) - .itemOutputs('4x minecraft:detector_rail') - .duration(100) - .EUt(30) - - //#endregion - - //#region Выход: Веревка - - event.remove({ id: 'gtceu:assembler/lead' }) + //#region Книга + e.remove({ id: 'gtceu:shaped/book' }) + e.remove({ id: 'gtceu:extractor/bookshelf_extraction' }) - event.shaped('minecraft:lead', [ - ' AA', - ' BA', - 'A ' + e.shaped('minecraft:book', [ + 'ABC', + 'ABD', + 'ABC' ], { A: '#forge:string', - B: '#forge:rings/wrought_iron' - }).id('minecraft:lead') - - //#endregion - - //#region Выход: Варочная стойка - - event.remove({ id: 'minecraft:brewing_stand' }) - - //#endregion - - //#region Выход: Кирпич - - event.remove({ id: 'minecraft:brick' }) - - event.shaped('minecraft:bricks', [ - 'BAB', - 'ABA', - 'BAB' - ], { - A: 'tfc:mortar', - B: 'minecraft:brick' - }).id('tfc:crafting/bricks') - - //#endregion - - //#region Выъод: Незер кирпич - - event.remove({ id: 'gtceu:extractor/nether_bricks_extraction' }) - event.remove({ id: 'gtceu:alloy_smelter/form_nether_brick' }) - - //#endregion - - //#region Выход: Незер бревна - - event.remove({ id: 'minecraft:stripped_crimson_stem_via_vanilla_stripping' }) - event.remove({ id: 'minecraft:stripped_crimson_hyphae_via_vanilla_stripping' }) - - event.remove({ id: 'minecraft:stripped_warped_stem_via_vanilla_stripping' }) - event.remove({ id: 'minecraft:stripped_warped_hyphae_via_vanilla_stripping' }) - - //#endregion - - //#region Выход: Якорь возрождения - - event.remove({ id: 'minecraft:respawn_anchor' }) - - //#endregion - - //#region Выход: Элитра - - // Ну и херь я придумал - event.recipes.gtceu.assembler('tfg:minecraft/elytra') - .itemInputs('6x #forge:plates/polyvinyl_butyral', '2x #forge:rings/titanium', '2x #forge:rods/titanium', '4x #forge:single_cables/aluminium') - .circuit(32) - .itemOutputs(Item.of('minecraft:elytra', "{Damage:0,display:{Name:'{\"text\":\"Wings of Gods\",\"italic\":true}'}}")) - .duration(1600) - .EUt(666) - - event.recipes.gtceu.assembler('tfg:minecraft/elytra_repairing') - .itemInputs('6x #forge:plates/polyvinyl_butyral', Item.of('minecraft:elytra', '{Damage:431}').strongNBT()) - .circuit(32) - .itemOutputs(Item.of('minecraft:elytra', "{Damage:0,display:{Name:'{\"text\":\"Wings of Gods\",\"italic\":true}'}}")) - .duration(1600) - .EUt(120) - - //#endregion - - //#region Исправление дерьма с медью (Однажды разраб GTCEu вспомнит, лучше бы забыл) - - //event.smelting('tfc:metal/ingot/copper', 'minecraft:raw_copper') - // .id('minecraft:copper_ingot_from_smelting_raw_copper') - - event.remove({ id: 'minecraft:copper_ingot_from_blasting_raw_copper' }) - event.remove({ id: 'minecraft:copper_ingot_from_waxed_copper_block' }) - event.remove({ id: 'minecraft:copper_ingot' }) - - event.remove({ id: 'minecraft:raw_copper_block' }) - event.remove({ id: 'minecraft:raw_copper' }) - - //#endregion - - //#region Исправление дерьма с золотом (Однажды разраб GTCEu вспомнит, лучше бы забыл) - - //event.smelting('tfc:metal/ingot/gold', 'minecraft:raw_gold') - // .id('minecraft:copper_ingot_from_smelting_raw_gold') - - // event.remove({ id: 'minecraft:gold_ingot_from_smelting_raw_gold' }) - event.remove({ id: 'minecraft:gold_ingot_from_blasting_raw_gold' }) - - event.remove({ id: 'minecraft:raw_gold_block' }) - event.remove({ id: 'minecraft:raw_gold' }) - - //#endregion - - //#region Исправление дерьма с железом (Однажды разраб GTCEu вспомнит, лучше бы забыл) - - event.remove({ id: 'minecraft:raw_iron_block' }) - event.remove({ id: 'minecraft:raw_iron' }) - + B: 'minecraft:paper', + C: '#forge:leather', + D: 'gtceu:sticky_resin' + }).id('tfg:shaped/book') //#endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/minecraft/tags.js b/kubejs/server_scripts/minecraft/tags.js index 596f3af33..b66185386 100644 --- a/kubejs/server_scripts/minecraft/tags.js +++ b/kubejs/server_scripts/minecraft/tags.js @@ -13,9 +13,26 @@ const registerMinecraftItemTags = (event) => { // Теперь обсидиан сторадж блок event.add('forge:storage_blocks/obsidian', 'minecraft:obsidian') - // Бамбуковые полублоки + //#region Бамбуковые доски в один тег + event.add('tfg:bamboo_planks', 'minecraft:bamboo_planks') + event.add('tfg:bamboo_planks', 'minecraft:bamboo_mosaic') + //#endregion + + //#region Бамбуковые ступени в один тег + event.add('tfg:bamboo_stairs', 'minecraft:bamboo_stairs') + event.add('tfg:bamboo_stairs', 'minecraft:bamboo_mosaic_stairs') + //#endregion + + //#region Бамбуковые полублоки в один тег event.add('tfg:bamboo_slabs', 'minecraft:bamboo_slab') event.add('tfg:bamboo_slabs', 'minecraft:bamboo_mosaic_slab') + //#endregion + + //#region Материалы для тримминга + global.MINECRAFT_TRIM_MATERIALS.forEach(el => { + event.add('minecraft:trim_materials', el) + }) + //#endregion } const registerMinecraftBlockTags = (event) => { diff --git a/kubejs/server_scripts/more_red/recipes.js b/kubejs/server_scripts/more_red/recipes.js index f9b3072f6..3fb9ac92c 100644 --- a/kubejs/server_scripts/more_red/recipes.js +++ b/kubejs/server_scripts/more_red/recipes.js @@ -25,71 +25,65 @@ const registerMoreRedRecipes = (event) => { // Latch - event.recipes.gtceu.assembler('tfg/morered/latch') + event.recipes.gtceu.assembler('tfg:morered/latch') .itemInputs('4x gtceu:stone_plate', '2x minecraft:redstone_torch', '2x minecraft:redstone') .circuit(0) .itemOutputs('morered:latch') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Pulse Gate - event.recipes.gtceu.assembler('tfg/morered/pulse_gate') + event.recipes.gtceu.assembler('tfg:morered/pulse_gate') .itemInputs('3x gtceu:stone_plate', '2x minecraft:redstone', 'gtceu:wrought_iron_plate') .circuit(1) .itemOutputs('morered:pulse_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Red Wire Post event.shapeless('2x morered:redwire_post', [ '#forge:rods/wrought_iron', '#forge:fine_wires/red_alloy' - ]).id('tfg:crafting/red_wire_post') + ]).id('tfg:shapeless/morered/red_wire_post') // Red Wire Post Plate - event.recipes.gtceu.assembler('tfg/morered/red_wire_post_plate') + event.recipes.gtceu.assembler('tfg:morered/red_wire_post_plate') .itemInputs('3x gtceu:stone_plate', '2x minecraft:redstone', 'morered:redwire_post') .circuit(2) .itemOutputs('morered:redwire_post_plate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Red Wire Post Relay Plate - event.recipes.gtceu.assembler('tfg/morered/red_wire_post_relay_plate') + event.recipes.gtceu.assembler('tfg:morered/red_wire_post_relay_plate') .itemInputs('3x gtceu:stone_plate', '4x minecraft:redstone', 'morered:redwire_post') .circuit(4) .itemOutputs('morered:redwire_post_relay_plate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Red Wire Post Relay Plate - event.recipes.gtceu.assembler('tfg/morered/hexidecrubrometer') + event.recipes.gtceu.assembler('tfg:morered/hexidecrubrometer') .itemInputs('8x gtceu:stone_plate', '9x minecraft:redstone', '4x minecraft:quartz') .circuit(5) .itemOutputs('morered:hexidecrubrometer') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Bundled Cable Post event.shapeless('2x morered:bundled_cable_post', [ '#forge:plates/wrought_iron', 'morered:bundled_network_cable' - ]).id('tfg:crafting/bundled_cable_post') + ]).id('tfg:shapeless/morered/bundled_cable_post') // Bundled Cable Post Plate - event.recipes.gtceu.assembler('tfg/morered/bundled_cable_post_plate') + event.recipes.gtceu.assembler('tfg:morered/bundled_cable_post_plate') .itemInputs('morered:bundled_cable_post', '3x morered:bundled_network_cable', '#forge:plates/wrought_iron') .circuit(6) .itemOutputs('morered:bundled_cable_relay_plate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Red Allot Wire event.shapeless('12x morered:red_alloy_wire', [ '#forge:fine_wires/red_alloy', '#forge:fine_wires/red_alloy', '#forge:fine_wires/red_alloy' - ]).id('tfg:crafting/red_alloy_wire') + ]).id('tfg:shapeless/morered/red_alloy_wire') // Red Wire Spool event.shaped('morered:redwire_spool', [ @@ -100,7 +94,7 @@ const registerMoreRedRecipes = (event) => { A: 'morered:red_alloy_wire', B: '#forge:plates/wrought_iron', C: '#tfc:can_be_lit_on_torch' - }).id('tfg:crafting/redwire_spool') + }).id('tfg:shaped/morered/redwire_spool') // Bundled Cable Spool event.shaped('morered:bundled_cable_spool', [ @@ -111,152 +105,132 @@ const registerMoreRedRecipes = (event) => { A: 'morered:bundled_network_cable', B: '#forge:plates/wrought_iron', C: '#tfc:can_be_lit_on_torch' - }).id('tfg:crafting/bundled_cable_spool') + }).id('tfg:shaped/morered/bundled_cable_spool') // Diode - event.recipes.gtceu.assembler('tfg/morered/diode') + event.recipes.gtceu.assembler('tfg:morered/red_diode') .itemInputs('3x gtceu:stone_plate', '3x minecraft:redstone_torch', '4x minecraft:redstone') .circuit(7) .itemOutputs('morered:diode') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Not Gate - event.recipes.gtceu.assembler('tfg/morered/not_gate') + event.recipes.gtceu.assembler('tfg:morered/not_gate') .itemInputs('3x gtceu:stone_plate', '3x minecraft:redstone_torch', '4x minecraft:redstone') .circuit(8) .itemOutputs('morered:not_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Nor Gate - event.recipes.gtceu.assembler('tfg/morered/nor_gate') + event.recipes.gtceu.assembler('tfg:morered/nor_gate') .itemInputs('3x gtceu:stone_plate', '3x minecraft:redstone_torch', '4x minecraft:redstone') .circuit(9) .itemOutputs('morered:nor_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Nand Gate event.recipes.gtceu.assembler('tfg/morered/nand_gate') .itemInputs('3x gtceu:stone_plate', '3x minecraft:redstone_torch', '4x minecraft:redstone') .circuit(10) .itemOutputs('morered:nand_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Or Gate - event.recipes.gtceu.assembler('tfg/morered/or_gate') + event.recipes.gtceu.assembler('tfg:morered/or_gate') .itemInputs('3x gtceu:stone_plate', '3x minecraft:redstone_torch', '4x minecraft:redstone') .circuit(11) .itemOutputs('morered:or_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // And Gate - event.recipes.gtceu.assembler('tfg/morered/and_gate') + event.recipes.gtceu.assembler('tfg:morered/and_gate') .itemInputs('3x gtceu:stone_plate', '3x minecraft:redstone_torch', '4x minecraft:redstone') .circuit(12) .itemOutputs('morered:and_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // XOR Gate - event.recipes.gtceu.assembler('tfg/morered/xor_gate') + event.recipes.gtceu.assembler('tfg:morered/xor_gate') .itemInputs('3x gtceu:stone_plate', '3x minecraft:redstone_torch', '4x minecraft:redstone') .circuit(13) .itemOutputs('morered:xor_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // XNOR Gate - event.recipes.gtceu.assembler('tfg/morered/xnor_gate') + event.recipes.gtceu.assembler('tfg:morered/xnor_gate') .itemInputs('3x gtceu:stone_plate', '3x minecraft:redstone_torch', '4x minecraft:redstone') .circuit(14) .itemOutputs('morered:xnor_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Multiplexer - event.recipes.gtceu.assembler('tfg/morered/multiplexer') + event.recipes.gtceu.assembler('tfg:morered/multiplexer') .itemInputs('3x gtceu:stone_plate', '3x minecraft:redstone_torch', '4x minecraft:redstone') .circuit(15) .itemOutputs('morered:multiplexer') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // And 2 Gate - event.recipes.gtceu.assembler('tfg/morered/and_2_gate') + event.recipes.gtceu.assembler('tfg:morered/and_2_gate') .itemInputs('3x gtceu:stone_plate', '3x minecraft:redstone_torch', '4x minecraft:redstone') .circuit(16) .itemOutputs('morered:and_2_gate') - .duration(100) - .EUt(16) - + .EUt(16).duration(100) + // Nand 2 Gate - event.recipes.gtceu.assembler('tfg/morered/nand_2_gate') + event.recipes.gtceu.assembler('tfg:morered/nand_2_gate') .itemInputs('3x gtceu:stone_plate', '3x minecraft:redstone_torch', '4x minecraft:redstone') .circuit(17) .itemOutputs('morered:nand_2_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Bitwise Diode - event.recipes.gtceu.assembler('tfg/morered/bitwise_diode') + event.recipes.gtceu.assembler('tfg:morered/bitwise_diode') .itemInputs('2x gtceu:stone_plate', 'minecraft:redstone', '3x minecraft:quartz') .circuit(0) .itemOutputs('morered:bitwise_diode') - .duration(100) - .EUt(16) - + .EUt(16).duration(100) // Bitwise Not Gate - event.recipes.gtceu.assembler('tfg/morered/bitwise_not_gate') + event.recipes.gtceu.assembler('tfg:morered/bitwise_not_gate') .itemInputs('2x gtceu:stone_plate', 'minecraft:redstone', '3x minecraft:quartz') .circuit(1) .itemOutputs('morered:bitwise_not_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Bitwise Or Gate - event.recipes.gtceu.assembler('tfg/morered/bitwise_or_gate') + event.recipes.gtceu.assembler('tfg:morered/bitwise_or_gate') .itemInputs('2x gtceu:stone_plate', 'minecraft:redstone', '3x minecraft:quartz') .circuit(2) .itemOutputs('morered:bitwise_or_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Bitwise And Gate - event.recipes.gtceu.assembler('tfg/morered/bitwise_and_gate') + event.recipes.gtceu.assembler('tfg:morered/bitwise_and_gate') .itemInputs('2x gtceu:stone_plate', 'minecraft:redstone', '3x minecraft:quartz') .circuit(3) .itemOutputs('morered:bitwise_and_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Bitwise Xor Gate - event.recipes.gtceu.assembler('tfg/morered/bitwise_xor_gate') + event.recipes.gtceu.assembler('tfg:morered/bitwise_xor_gate') .itemInputs('2x gtceu:stone_plate', 'minecraft:redstone', '3x minecraft:quartz') .circuit(4) .itemOutputs('morered:bitwise_xor_gate') - .duration(100) - .EUt(16) + .EUt(16).duration(100) // Bitwise XNOR Gate - event.recipes.gtceu.assembler('tfg/morered/bitwise_xnor_gate') + event.recipes.gtceu.assembler('tfg:morered/bitwise_xnor_gate') .itemInputs('2x gtceu:stone_plate', 'minecraft:redstone', '3x minecraft:quartz') .circuit(5) .itemOutputs('morered:bitwise_xnor_gate') - .duration(100) - .EUt(16) - - //#region Выход: Крашеные провода + .EUt(16).duration(100) + //#region Крашеные провода event.recipes.gtceu.chemical_bath(`tfg:morered/wire_decolor`) .itemInputs('#morered:colored_network_cables') .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) .itemOutputs('morered:red_alloy_wire') - .duration(300) - .EUt(4) + .EUt(4).duration(300) global.MINECRAFT_DYE_NAMES.forEach(dye => { @@ -268,6 +242,5 @@ const registerMoreRedRecipes = (event) => { .EUt(4) }) - //#endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/railways/recipes.js b/kubejs/server_scripts/railways/recipes.js index 62709ddc9..43cbfc2ca 100644 --- a/kubejs/server_scripts/railways/recipes.js +++ b/kubejs/server_scripts/railways/recipes.js @@ -1,12 +1,141 @@ // priority: 0 -const registerRailWaysRecipes = (event) => { +const registerRailWaysRecipes = (e) => { // Удаление рецептов мода railways - event.remove({ mod: 'railways' }); + e.remove({ mod: 'railways' }); + //#region Дерево + global.MINECRAFT_ALL_WOOD_TYPES.forEach(woodName => { + + // Train Track Narrow + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_narrow` }) + + // Train Track Normal + e.remove({ id: `railways:sequenced_assembly/track_${woodName}` }) + + // Train Track Wide + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_wide` }) + }) + + //#region Бамбук + const woodName = 'bamboo' + + const slab = Item.of(`minecraft:${woodName}_slab`) + + const incompleteTrackNarrow = Item.of(`railways:track_incomplete_stripped_${woodName}_narrow`) + const incompleteTrack = Item.of(`railways:track_incomplete_stripped_${woodName}`) + const incompleteTrackWide = Item.of(`railways:track_incomplete_stripped_${woodName}_wide`) + + const trackNarrow = Item.of(`railways:track_stripped_${woodName}_narrow`) + const track = Item.of(`railways:track_stripped_${woodName}`) + const trackWide = Item.of(`railways:track_stripped_${woodName}_wide`) + + //#region Железнодорожное полотно (Узкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_stripped_${woodName}_narrow` }) + + e.recipes.createSequencedAssembly([ + trackNarrow, + ], slab, [ + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackNarrow, [incompleteTrackNarrow, '4x #forge:screws']), + e.recipes.createPressing(incompleteTrackNarrow, [incompleteTrackNarrow]), + ]).transitionalItem(incompleteTrackNarrow).loops(1) + .id(`tfg:sequenced_assembly/track_${woodName}_narrow`) + + e.recipes.gtceu.assembler(`tfg:narrow_${woodName}_track`) + .itemInputs(slab, '4x #tfg:all_iron_nuggets', '4x #forge:screws') + .itemOutputs(trackNarrow) + .circuit(24) + .duration(800) + .EUt(32) + //#endregion + + //#region Железнодорожное полотно (Необтесанное) (Узкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_narrow` }) + //#endregion + + //#region Железнодорожное полотно (Нормальное) (Create) + e.remove({ id: `railways:sequenced_assembly/track_stripped_${woodName}` }) + + e.recipes.createSequencedAssembly([ + track, + ], trackNarrow, [ + e.recipes.createCutting(incompleteTrack, incompleteTrack).processingTime(100), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, slab]), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrack, [incompleteTrack, '#tfg:all_iron_nuggets']), + e.recipes.createPressing(incompleteTrack, [incompleteTrack]), + ]).transitionalItem(incompleteTrack).loops(1) + .id(`tfg:sequenced_assembly/track_${woodName}`) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}`) + .itemInputs(slab, trackNarrow, '4x #forge:screws') + .itemOutputs(track) + .circuit(24) + .duration(1200) + .EUt(32) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}_skip`) + .itemInputs(slab.copyWithCount(2), '8x #forge:screws') + .itemOutputs(track) + .circuit(25) + .duration(1200) + .EUt(32) + //#endregion + + //#region Железнодорожное полотно (Необтесанное) (Нормальное) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}` }) + //#endregion + + //#region Железнодорожное полотно (Широкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_stripped_${woodName}_wide` }) + + e.recipes.createSequencedAssembly([ + trackWide, + ], track, [ + e.recipes.createCutting(incompleteTrackWide, incompleteTrackWide).processingTime(150), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, slab]), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createDeploying(incompleteTrackWide, [incompleteTrackWide, '#tfg:all_iron_nuggets']), + e.recipes.createPressing(incompleteTrackWide, [incompleteTrackWide]), + ]).transitionalItem(incompleteTrackWide).loops(1) + .id(`tfg:sequenced_assembly/track_${woodName}_wide`) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}_wide`) + .itemInputs(slab, track, '4x #forge:screws') + .itemOutputs(trackWide) + .circuit(24) + .duration(1600) + .EUt(16) + + e.recipes.gtceu.assembler(`tfg:track_${woodName}_wide_skip`) + .itemInputs(slab.copyWithCount(3), '12x #forge:screws') + .itemOutputs(trackWide) + .circuit(26) + .duration(1600) + .EUt(16) + //#endregion + + //#region Железнодорожное полотно (Необтесанное) (Широкое) (Create) + e.remove({ id: `railways:sequenced_assembly/track_${woodName}_wide` }) + //#endregion + + //#endregion + + //#endregion +} + +const dead1 = () => { // Семафор - event.shaped('railways:semaphore', [ + e.shaped('railways:semaphore', [ ' A ', 'BCD', 'EAE' @@ -18,7 +147,7 @@ const registerRailWaysRecipes = (event) => { E: '#forge:tools/hammers', }).id('tfg:railways/shaped/semaphore') - event.recipes.gtceu.assembler('tfg:railways/semaphore') + e.recipes.gtceu.assembler('tfg:railways/semaphore') .itemInputs('2x #forge:plates/wrought_iron', '#minecraft:fences', 'create:andesite_casing', 'create:electron_tube') .circuit(3) .itemOutputs('railways:semaphore') @@ -26,7 +155,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Соединитель поездов - event.shaped('railways:track_coupler', [ + e.shaped('railways:track_coupler', [ 'AAA', 'DBE', ' C ' @@ -38,7 +167,7 @@ const registerRailWaysRecipes = (event) => { E: '#forge:tools/screwdrivers', }).id('tfg:railways/shaped/track_coupler') - event.recipes.gtceu.assembler('tfg:railways/track_coupler') + e.recipes.gtceu.assembler('tfg:railways/track_coupler') .itemInputs('3x #forge:sheets/wrought_iron', 'gtceu:red_alloy_single_wire', 'create:railway_casing') .circuit(3) .itemOutputs('railways:track_coupler') @@ -46,7 +175,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Переключатель пути поезда из андезита - event.shaped('railways:track_switch_andesite', [ + e.shaped('railways:track_switch_andesite', [ 'BAB', 'CDC', 'ECF' @@ -59,7 +188,7 @@ const registerRailWaysRecipes = (event) => { F: '#forge:tools/hammers', }).id('tfg:railways/shaped/track_switch_andesite') - event.recipes.gtceu.assembler('tfg:railways/track_switch_andesite') + e.recipes.gtceu.assembler('tfg:railways/track_switch_andesite') .itemInputs('minecraft:lever', '2x #forge:bolts/wrought_iron', '2x create:cogwheel', 'create:andesite_casing') .circuit(3) .itemOutputs('railways:track_switch_andesite') @@ -67,7 +196,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Переключатель пути поезда из латуни - event.shaped('railways:track_switch_brass', [ + e.shaped('railways:track_switch_brass', [ 'BAB', 'CDC', 'ECF' @@ -80,7 +209,7 @@ const registerRailWaysRecipes = (event) => { F: '#forge:tools/hammers', }).id('tfg:railways/shaped/track_switch_brass') - event.recipes.gtceu.assembler('tfg:railways/track_switch_brass') + e.recipes.gtceu.assembler('tfg:railways/track_switch_brass') .itemInputs('minecraft:lever', '2x #forge:bolts/wrought_iron', '2x create:cogwheel', 'create:brass_casing') .circuit(3) .itemOutputs('railways:track_switch_brass') @@ -88,7 +217,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Свисток кондуктора - event.shaped('railways:conductor_whistle', [ + e.shaped('railways:conductor_whistle', [ 'ABC' ], { A: '#forge:plates/brass', @@ -96,7 +225,7 @@ const registerRailWaysRecipes = (event) => { C: '#forge:tools/files', }).id('tfg:railways/shaped/conductor_whistle') - event.recipes.gtceu.assembler('tfg:railways/conductor_whistle') + e.recipes.gtceu.assembler('tfg:railways/conductor_whistle') .itemInputs('#forge:plates/brass') .circuit(4) .itemOutputs('railways:conductor_whistle') @@ -104,7 +233,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Удаленная линза - event.shaped('railways:remote_lens', [ + e.shaped('railways:remote_lens', [ 'ABC', 'DE ' ], { @@ -115,7 +244,7 @@ const registerRailWaysRecipes = (event) => { E: 'ae2:wireless_access_point' }).id('tfg:railways/shaped/remote_lens') - event.recipes.gtceu.assembler('tfg:railways/remote_lens') + e.recipes.gtceu.assembler('tfg:railways/remote_lens') .itemInputs('#forge:plates/brass', 'create:precision_mechanism', 'ae2:wireless_access_point') .circuit(3) .itemOutputs('railways:remote_lens') @@ -123,7 +252,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Дымогенератор 1 - event.shaped('railways:smokestack_caboosestyle', [ + e.shaped('railways:smokestack_caboosestyle', [ 'BCB', 'DA ' ], { @@ -133,7 +262,7 @@ const registerRailWaysRecipes = (event) => { D: '#forge:tools/hammers' }).id('tfg:railways/shaped/smokestack_caboosestyle') - event.recipes.gtceu.assembler('tfg:railways/smokestack_caboosestyle') + e.recipes.gtceu.assembler('tfg:railways/smokestack_caboosestyle') .itemInputs('#forge:storage_blocks/charcoal', '2x #forge:nuggets/black_steel', '#forge:plates/black_steel') .circuit(4) .itemOutputs('railways:smokestack_caboosestyle') @@ -141,7 +270,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Дымогенератор 2 - event.shaped('railways:smokestack_long', [ + e.shaped('railways:smokestack_long', [ 'C ', 'BAB' ], { @@ -150,7 +279,7 @@ const registerRailWaysRecipes = (event) => { C: '#forge:tools/hammers' }).id('tfg:railways/shaped/smokestack_long') - event.recipes.gtceu.assembler('tfg:railways/smokestack_long') + e.recipes.gtceu.assembler('tfg:railways/smokestack_long') .itemInputs('#forge:storage_blocks/charcoal', '2x #forge:nuggets/black_steel') .circuit(5) .itemOutputs('railways:smokestack_long') @@ -158,7 +287,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Дымогенератор 3 - event.shaped('railways:smokestack_coalburner', [ + e.shaped('railways:smokestack_coalburner', [ 'B B', 'BCB', 'BAB' @@ -168,7 +297,7 @@ const registerRailWaysRecipes = (event) => { C: '#forge:tools/hammers' }).id('tfg:railways/shaped/smokestack_coalburner') - event.recipes.gtceu.assembler('tfg:railways/smokestack_coalburner') + e.recipes.gtceu.assembler('tfg:railways/smokestack_coalburner') .itemInputs('#forge:storage_blocks/charcoal', '6x #forge:plates/black_steel') .circuit(6) .itemOutputs('railways:smokestack_coalburner') @@ -176,7 +305,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Дымогенератор 4 - event.shaped('railways:smokestack_oilburner', [ + e.shaped('railways:smokestack_oilburner', [ 'BCB', 'BAB' ], { @@ -185,7 +314,7 @@ const registerRailWaysRecipes = (event) => { C: '#forge:tools/hammers' }).id('tfg:railways/shaped/smokestack_oilburner') - event.recipes.gtceu.assembler('tfg:railways/smokestack_oilburner') + e.recipes.gtceu.assembler('tfg:railways/smokestack_oilburner') .itemInputs('#forge:storage_blocks/charcoal', '6x #forge:plates/black_steel') .circuit(7) .itemOutputs('railways:smokestack_oilburner') @@ -193,7 +322,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Дымогенератор 5 - event.shaped('railways:smokestack_streamlined', [ + e.shaped('railways:smokestack_streamlined', [ 'C ', 'BAB' ], { @@ -202,7 +331,7 @@ const registerRailWaysRecipes = (event) => { C: '#forge:tools/hammers' }).id('tfg:railways/shaped/smokestack_streamlined') - event.recipes.gtceu.assembler('tfg:railways/smokestack_streamlined') + e.recipes.gtceu.assembler('tfg:railways/smokestack_streamlined') .itemInputs('#forge:storage_blocks/charcoal', '2x #forge:plates/black_steel') .circuit(8) .itemOutputs('railways:smokestack_streamlined') @@ -210,7 +339,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Дымогенератор 6 - event.shaped('railways:smokestack_woodburner', [ + e.shaped('railways:smokestack_woodburner', [ ' D ', 'CBC', 'BAB' @@ -221,7 +350,7 @@ const registerRailWaysRecipes = (event) => { D: '#forge:tools/hammers' }).id('tfg:railways/shaped/smokestack_woodburner') - event.recipes.gtceu.assembler('tfg:railways/smokestack_woodburner') + e.recipes.gtceu.assembler('tfg:railways/smokestack_woodburner') .itemInputs('#forge:storage_blocks/charcoal', '3x #forge:plates/black_steel', '2x #forge:nuggets/black_steel') .circuit(9) .itemOutputs('railways:smokestack_woodburner') @@ -229,7 +358,7 @@ const registerRailWaysRecipes = (event) => { .EUt(28) // Вентилятор радиатора - event.shaped('2x railways:smokestack_diesel', [ + e.shaped('2x railways:smokestack_diesel', [ 'ABA', 'BCB', 'ABA' @@ -240,50 +369,50 @@ const registerRailWaysRecipes = (event) => { }).id('tfg:railways/shaped/smokestack_diesel') // Монорельс - event.recipes.createSequencedAssembly([ + e.recipes.createSequencedAssembly([ '6x railways:track_monorail', ], 'create:metal_girder', [ - event.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', 'create:metal_bracket']), - event.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', '#forge:plates/wrought_iron']), - event.recipes.createPressing('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail']), - event.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', '#forge:plates/wrought_iron']), - event.recipes.createPressing('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail']), + e.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', 'create:metal_bracket']), + e.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', '#forge:plates/wrought_iron']), + e.recipes.createPressing('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail']), + e.recipes.createDeploying('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail', '#forge:plates/wrought_iron']), + e.recipes.createPressing('railways:track_incomplete_monorail', ['railways:track_incomplete_monorail']), ]).transitionalItem('railways:track_incomplete_monorail').loops(1).id('tfg:railways/sequenced_assembly/track_monorail') - event.recipes.gtceu.assembler('railways/monorail') + e.recipes.gtceu.assembler('railways/monorail') .itemInputs('create:metal_girder', '2x #forge:plates/wrought_iron') .itemOutputs('6x railways:track_monorail') .duration(250) .EUt(32) // Железнодорожное полотно (Узкое) - event.recipes.createSequencedAssembly([ + e.recipes.createSequencedAssembly([ 'railways:track_create_andesite_narrow', ], '#tfg:rock_slabs', [ - event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_nugget']), - event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_nugget']), - event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_nugget']), - event.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_nugget']), - event.recipes.createPressing('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow']), + e.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_nugget']), + e.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_nugget']), + e.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_nugget']), + e.recipes.createDeploying('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow', 'gtceu:steel_nugget']), + e.recipes.createPressing('railways:track_incomplete_create_andesite_narrow', ['railways:track_incomplete_create_andesite_narrow']), ]).transitionalItem('railways:track_incomplete_create_andesite_narrow').loops(1).id('tfg:railways/sequenced_assembly/track_create_andesite_narrow_from_steel') - event.recipes.gtceu.assembler('railways/track_create_andesite_narrow_from_steel') + e.recipes.gtceu.assembler('railways/track_create_andesite_narrow_from_steel') .itemInputs('#tfg:rock_slabs', '4x gtceu:steel_nugget') .itemOutputs('railways:track_create_andesite_narrow') .duration(800) .EUt(32) // Железнодорожное полотно (Нормальное) - event.recipes.createSequencedAssembly([ + e.recipes.createSequencedAssembly([ 'create:track', ], 'railways:track_create_andesite_narrow', [ - event.recipes.createCutting('create:incomplete_track', 'create:incomplete_track').processingTime(100), - event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#tfg:rock_slabs']), - event.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#tfc:mortar']), - event.recipes.createPressing('create:incomplete_track', ['create:incomplete_track']), + e.recipes.createCutting('create:incomplete_track', 'create:incomplete_track').processingTime(100), + e.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#tfg:rock_slabs']), + e.recipes.createDeploying('create:incomplete_track', ['create:incomplete_track', '#tfc:mortar']), + e.recipes.createPressing('create:incomplete_track', ['create:incomplete_track']), ]).transitionalItem('create:incomplete_track').loops(1).id('tfg:railways/sequenced_assembly/track_create_andesite') - event.recipes.gtceu.assembler('railways/track') + e.recipes.gtceu.assembler('railways/track') .itemInputs('railways:track_create_andesite_narrow') .inputFluids(Fluid.of('gtceu:concrete', 144)) .itemOutputs('create:track') @@ -291,16 +420,16 @@ const registerRailWaysRecipes = (event) => { .EUt(16) // Железнодорожное полотно (Широкое) - event.recipes.createSequencedAssembly([ + e.recipes.createSequencedAssembly([ 'railways:track_create_andesite_wide', ], 'create:track', [ - event.recipes.createCutting('railways:track_incomplete_create_andesite_wide', 'railways:track_incomplete_create_andesite_wide').processingTime(100), - event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', '#tfg:rock_slabs']), - event.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', '#tfc:mortar']), - event.recipes.createPressing('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide']), + e.recipes.createCutting('railways:track_incomplete_create_andesite_wide', 'railways:track_incomplete_create_andesite_wide').processingTime(100), + e.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', '#tfg:rock_slabs']), + e.recipes.createDeploying('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide', '#tfc:mortar']), + e.recipes.createPressing('railways:track_incomplete_create_andesite_wide', ['railways:track_incomplete_create_andesite_wide']), ]).transitionalItem('railways:track_incomplete_create_andesite_wide').loops(1).id('tfg:railways/sequenced_assembly/track_create_andesite_wide') - event.recipes.gtceu.assembler('railways/track_create_andesite_wide') + e.recipes.gtceu.assembler('railways/track_create_andesite_wide') .itemInputs('create:track') .inputFluids(Fluid.of('gtceu:concrete', 144)) .itemOutputs('railways:track_create_andesite_wide') @@ -310,61 +439,59 @@ const registerRailWaysRecipes = (event) => { // Железнодородные полотна из дерева global.TFC_WOOD_TYPES.forEach(woodType => { // Узкое - event.recipes.createSequencedAssembly([ + e.recipes.createSequencedAssembly([ `railways:track_tfc_${woodType}_narrow`, ], `tfc:wood/planks/${woodType}_slab`, [ - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_nugget']), - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_nugget']), - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_nugget']), - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_nugget']), - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, '4x #forge:screws']), - event.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`]), + e.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_nugget']), + e.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_nugget']), + e.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_nugget']), + e.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, 'gtceu:steel_nugget']), + e.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`, '4x #forge:screws']), + e.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}_narrow`, [`railways:track_incomplete_tfc_${woodType}_narrow`]), ]).transitionalItem(`railways:track_incomplete_tfc_${woodType}_narrow`).loops(1).id(`tfg:railways/sequenced_assembly/track_create_${woodType}_narrow`) - event.recipes.gtceu.assembler(`railways/track_create_${woodType}_narrow`) + e.recipes.gtceu.assembler(`railways/track_create_${woodType}_narrow`) .itemInputs(`tfc:wood/planks/${woodType}_slab`, '4x gtceu:steel_nugget', '4x #forge:screws') .itemOutputs(`railways:track_tfc_${woodType}_narrow`) .duration(800) .EUt(32) // Нормальное - event.recipes.createSequencedAssembly([ + e.recipes.createSequencedAssembly([ `railways:track_tfc_${woodType}`, ], `railways:track_tfc_${woodType}_narrow`, [ - event.recipes.createCutting(`railways:track_incomplete_tfc_${woodType}`, `railways:track_incomplete_tfc_${woodType}`).processingTime(100), - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, `tfc:wood/planks/${woodType}_slab`]), - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, '4x #forge:screws']), - event.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`]), + e.recipes.createCutting(`railways:track_incomplete_tfc_${woodType}`, `railways:track_incomplete_tfc_${woodType}`).processingTime(100), + e.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, `tfc:wood/planks/${woodType}_slab`]), + e.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`, '4x #forge:screws']), + e.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}`, [`railways:track_incomplete_tfc_${woodType}`]), ]).transitionalItem(`railways:track_incomplete_tfc_${woodType}`).loops(1).id(`tfg:railways/sequenced_assembly/track_create_${woodType}`) - event.recipes.gtceu.assembler(`railways/track_${woodType}`) + e.recipes.gtceu.assembler(`railways/track_${woodType}`) .itemInputs(`railways:track_tfc_${woodType}_narrow`, '4x #forge:screws') .itemOutputs(`railways:track_tfc_${woodType}`) .duration(800) .EUt(16) // Широкое - event.recipes.createSequencedAssembly([ + e.recipes.createSequencedAssembly([ `railways:track_tfc_${woodType}_wide`, ], `railways:track_tfc_${woodType}`, [ - event.recipes.createCutting(`railways:track_incomplete_tfc_${woodType}_wide`, `railways:track_incomplete_tfc_${woodType}_wide`).processingTime(100), - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, `tfc:wood/planks/${woodType}_slab`]), - event.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, '4x #forge:screws']), - event.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`]), + e.recipes.createCutting(`railways:track_incomplete_tfc_${woodType}_wide`, `railways:track_incomplete_tfc_${woodType}_wide`).processingTime(100), + e.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, `tfc:wood/planks/${woodType}_slab`]), + e.recipes.createDeploying(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`, '4x #forge:screws']), + e.recipes.createPressing(`railways:track_incomplete_tfc_${woodType}_wide`, [`railways:track_incomplete_tfc_${woodType}_wide`]), ]).transitionalItem(`railways:track_incomplete_tfc_${woodType}_wide`).loops(1).id(`tfg:railways/sequenced_assembly/track_create_${woodType}_wide`) - event.recipes.gtceu.assembler(`railways/track_${woodType}_wide`) + e.recipes.gtceu.assembler(`railways/track_${woodType}_wide`) .itemInputs(`railways:track_tfc_${woodType}`, '4x #forge:screws') .itemOutputs(`railways:track_tfc_${woodType}_wide`) .duration(800) .EUt(16) }); } - - /* -event.recipes.gtceu.assembler('') +e.recipes.gtceu.assembler('') .itemInputs('') .itemOutputs('') .duration() diff --git a/kubejs/server_scripts/rftools/recipes.js b/kubejs/server_scripts/rftools/recipes.js new file mode 100644 index 000000000..afce141af --- /dev/null +++ b/kubejs/server_scripts/rftools/recipes.js @@ -0,0 +1,10 @@ +// priority: 0 + +const registerRFToolsRecipes = (event) => { + + event.remove({ mod: 'rftoolscontrol' }) + event.remove({ mod: 'rftoolsdim' }) + event.remove({ mod: 'rftoolsutility' }) + event.remove({ mod: 'rftoolsbase' }) + event.remove({ mod: 'rftoolsbuilder' }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/rftools/tags.js b/kubejs/server_scripts/rftools/tags.js new file mode 100644 index 000000000..8aa09bf39 --- /dev/null +++ b/kubejs/server_scripts/rftools/tags.js @@ -0,0 +1,11 @@ +// priority: 0 + +const registerRFToolsItemTags = (event) => { + + +} + +const registerRFToolsBlockTags = (event) => { + + +} \ No newline at end of file diff --git a/kubejs/server_scripts/sophisticated_backpacks/recipes.js b/kubejs/server_scripts/sophisticated_backpacks/recipes.js index ce8796111..6f89fb732 100644 --- a/kubejs/server_scripts/sophisticated_backpacks/recipes.js +++ b/kubejs/server_scripts/sophisticated_backpacks/recipes.js @@ -17,7 +17,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { B: '#forge:leather', C: '#forge:chests/wooden', D: 'minecraft:name_tag' - }).id('tfg:sophisticated_backpacks/shaped/backpack') + }).id('tfg:shaped/backpack') // Железный рюкзак event.custom({ @@ -50,7 +50,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { result: { item: "sophisticatedbackpacks:iron_backpack" } - }).id('tfg:sophisticated_backpacks/shaped/iron_backpack') + }).id('tfg:shaped/iron_backpack') // Золотой рюкзак event.custom({ @@ -83,7 +83,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { result: { item: "sophisticatedbackpacks:gold_backpack" } - }).id('tfg:sophisticated_backpacks/shaped/gold_backpack') + }).id('tfg:shaped/gold_backpack') // Алмазный рюкзак event.custom({ @@ -116,7 +116,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { result: { item: "sophisticatedbackpacks:diamond_backpack" } - }).id('tfg:sophisticated_backpacks/shaped/diamond_backpack') + }).id('tfg:shaped/diamond_backpack') // Незеритовый рюкзак event.custom({ @@ -149,7 +149,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { result: { item: "sophisticatedbackpacks:netherite_backpack" } - }).id('tfg:sophisticated_backpacks/shaped/netherite_backpack') + }).id('tfg:shaped/netherite_backpack') // Апгрейды @@ -163,7 +163,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { B: '#forge:rods/long/wrought_iron', C: '#forge:leather', D: '#forge:plates/steel' - }).id('tfg:sophisticated_backpacks/shaped/upgrade_base') + }).id('tfg:shaped/upgrade_base') // Улучшение - подбиратель event.shaped('sophisticatedbackpacks:pickup_upgrade', [ @@ -178,13 +178,13 @@ const registerSophisticatedBackpacksRecipes = (event) => { E: 'gtceu:hv_robot_arm', F: '#gtceu:circuits/hv', G: '#gtceu:batteries/hv' - }).id('tfg:sophisticated_backpacks/shaped/pickup_upgrade') + }).id('tfg:shaped/pickup_upgrade') // Улучшение - улучшенный подбиратель event.shapeless('sophisticatedbackpacks:advanced_pickup_upgrade', [ 'sophisticatedbackpacks:pickup_upgrade', '#gtceu:circuits/ev' - ]).id('tfg:sophisticated_backpacks/shapeless/advanced_pickup_upgrade') + ]).id('tfg:shapeless/advanced_pickup_upgrade') // Улучшение - фильтр event.shaped('sophisticatedbackpacks:filter_upgrade', [ @@ -200,13 +200,13 @@ const registerSophisticatedBackpacksRecipes = (event) => { F: 'gtceu:lv_robot_arm', G: '#gtceu:circuits/lv', H: 'gtceu:item_tag_filter' - }).id('tfg:sophisticated_backpacks/shaped/filter_upgrade') + }).id('tfg:shaped/filter_upgrade') // Улучшение - улучшенный фильтр event.shapeless('sophisticatedbackpacks:advanced_filter_upgrade', [ 'sophisticatedbackpacks:filter_upgrade', '#gtceu:circuits/mv' - ]).id('tfg:sophisticated_backpacks/shapeless/advanced_filter_upgrade') + ]).id('tfg:shapeless/advanced_filter_upgrade') // Улучшение - магнит event.shaped('sophisticatedbackpacks:magnet_upgrade', [ @@ -219,13 +219,13 @@ const registerSophisticatedBackpacksRecipes = (event) => { C: '#gtceu:circuits/hv', D: 'sophisticatedbackpacks:upgrade_base', E: '#gtceu:batteries/hv' - }).id('tfg:sophisticated_backpacks/shaped/magnet_upgrade') + }).id('tfg:shaped/magnet_upgrade') // Улучшение - улучшенный магнит event.shapeless('sophisticatedbackpacks:advanced_magnet_upgrade', [ 'sophisticatedbackpacks:magnet_upgrade', '#gtceu:circuits/ev' - ]).id('tfg:sophisticated_backpacks/shapeless/advanced_magnet_upgrade') + ]).id('tfg:shapeless/advanced_magnet_upgrade') // Улучшение - уничтожитель event.shaped('sophisticatedbackpacks:void_upgrade', [ @@ -240,13 +240,13 @@ const registerSophisticatedBackpacksRecipes = (event) => { E: '#forge:tools/wrenches', F: 'gtceu:brass_normal_item_pipe', G: '#forge:ender_pearls' - }).id('tfg:sophisticated_backpacks/shaped/void_upgrade') + }).id('tfg:shaped/void_upgrade') // Улучшение - улучшенный уничтожитель event.shapeless('sophisticatedbackpacks:advanced_void_upgrade', [ 'sophisticatedbackpacks:void_upgrade', '#gtceu:circuits/mv' - ]).id('tfg:sophisticated_backpacks/shapeless/advanced_void_upgrade') + ]).id('tfg:shapeless/advanced_void_upgrade') // Улучшение - Deposit event.shaped('sophisticatedbackpacks:deposit_upgrade', [ @@ -260,13 +260,13 @@ const registerSophisticatedBackpacksRecipes = (event) => { D: 'gtceu:lv_conveyor_module', E: 'sophisticatedbackpacks:upgrade_base', F: 'gtceu:lv_robot_arm' - }).id('tfg:sophisticated_backpacks/shaped/deposit_upgrade') + }).id('tfg:shaped/deposit_upgrade') // Улучшение - улучшенный Deposit event.shapeless('sophisticatedbackpacks:advanced_deposit_upgrade', [ 'sophisticatedbackpacks:deposit_upgrade', '#gtceu:circuits/mv' - ]).id('tfg:sophisticated_backpacks/shapeless/advanced_deposit_upgrade') + ]).id('tfg:shapeless/advanced_deposit_upgrade') // Улучшение - Restock event.shaped('sophisticatedbackpacks:restock_upgrade', [ @@ -280,13 +280,13 @@ const registerSophisticatedBackpacksRecipes = (event) => { D: '#gtceu:batteries/lv', E: 'gtceu:manganese_phosphide_single_wire', F: '#gtceu:circuits/lv', - }).id('tfg:sophisticated_backpacks/shaped/restock_upgrade') + }).id('tfg:shaped/restock_upgrade') // Улучшение - улучшенный Restock event.shapeless('sophisticatedbackpacks:advanced_restock_upgrade', [ 'sophisticatedbackpacks:restock_upgrade', '#gtceu:circuits/mv' - ]).id('tfg:sophisticated_backpacks/shapeless/advanced_restock_upgrade') + ]).id('tfg:shapeless/advanced_restock_upgrade') // Улучшение - Refill event.shaped('sophisticatedbackpacks:refill_upgrade', [ @@ -299,7 +299,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { C: '#gtceu:batteries/lv', D: 'gtceu:lv_robot_arm', E: 'sophisticatedbackpacks:upgrade_base' - }).id('tfg:sophisticated_backpacks/shaped/refill_upgrade') + }).id('tfg:shaped/refill_upgrade') // Улучшение - улучшенный Refill event.shapeless('sophisticatedbackpacks:advanced_refill_upgrade', [ @@ -318,7 +318,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { C: '#gtceu:circuits/zpm', D: 'sophisticatedbackpacks:upgrade_base', E: '#gtceu:batteries/zpm' - }).id('tfg:sophisticated_backpacks/shaped/everlasting_upgrade') + }).id('tfg:shaped/everlasting_upgrade') // Улучшение - верстак event.shaped('sophisticatedbackpacks:crafting_upgrade', [ @@ -330,7 +330,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { B: '#tfc:workbenches', C: '#forge:plates/steel', D: 'sophisticatedbackpacks:upgrade_base', - }).id('tfg:sophisticated_backpacks/shaped/crafting_upgrade') + }).id('tfg:shaped/crafting_upgrade') // Улучшение - Stack Lvl. 1 event.shaped('sophisticatedbackpacks:stack_upgrade_tier_1', [ @@ -343,7 +343,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { C: '#gtceu:batteries/iv', D: 'sophisticatedbackpacks:upgrade_base', E: 'gtceu:iv_field_generator' - }).id('tfg:sophisticated_backpacks/shaped/stack_upgrade_tier_1') + }).id('tfg:shaped/stack_upgrade_tier_1') // Улучшение - проигрыватель event.shaped('sophisticatedbackpacks:jukebox_upgrade', [ @@ -355,7 +355,7 @@ const registerSophisticatedBackpacksRecipes = (event) => { B: 'minecraft:jukebox', C: '#forge:plates/steel', D: 'sophisticatedbackpacks:upgrade_base', - }).id('tfg:sophisticated_backpacks/shaped/jukebox_upgrade') + }).id('tfg:shaped/jukebox_upgrade') // Улучшение - ToolSwapper event.shaped('sophisticatedbackpacks:tool_swapper_upgrade', [ @@ -370,11 +370,11 @@ const registerSophisticatedBackpacksRecipes = (event) => { E: 'sophisticatedbackpacks:upgrade_base', F: '#tfc:shovels', G: '#tfc:axes', - }).id('tfg:sophisticated_backpacks/shaped/tool_swapper_upgrade') + }).id('tfg:shaped/tool_swapper_upgrade') // Улучшение - улучшенный ToolSwapper event.shapeless('sophisticatedbackpacks:advanced_tool_swapper_upgrade', [ 'sophisticatedbackpacks:tool_swapper_upgrade', '#gtceu:circuits/mv' - ]).id('tfg:sophisticated_backpacks/shapeless/advanced_tool_swapper_upgrade') + ]).id('tfg:shapeless/advanced_tool_swapper_upgrade') } \ No newline at end of file diff --git a/kubejs/server_scripts/storage_drawers/recipes.js b/kubejs/server_scripts/storage_drawers/recipes.js new file mode 100644 index 000000000..a58b1ba78 --- /dev/null +++ b/kubejs/server_scripts/storage_drawers/recipes.js @@ -0,0 +1,6 @@ +// priority: 0 + +const registerStorageDrawersRecipes = (e) => { + + e.remove({ mod: `storagedrawers` }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/storage_drawers/tags.js b/kubejs/server_scripts/storage_drawers/tags.js new file mode 100644 index 000000000..0e0ebb578 --- /dev/null +++ b/kubejs/server_scripts/storage_drawers/tags.js @@ -0,0 +1,18 @@ +// priority: 0 + +const registerStorageDrawersItemTags = (event) => { + + // Удаление тегов у отключенных предметов + // global.SOPHISTICATED_BACKPACKS_DISABLED_ITEMS.forEach(item => { + // event.removeAllTagsFrom(item) + // event.add('c:hidden_from_recipe_viewers', item) + // }) +} + +const registerStorageDrawersBlockTags = (event) => { + + // Удаление тегов у отключенных предметов + // global.SOPHISTICATED_BACKPACKS_DISABLED_ITEMS.forEach(item => { + // event.removeAllTagsFrom(item) + // }) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/data.js b/kubejs/server_scripts/tfc/data.js index 3f5c0d428..9f20751fa 100644 --- a/kubejs/server_scripts/tfc/data.js +++ b/kubejs/server_scripts/tfc/data.js @@ -43,11 +43,20 @@ const registerTFCMetals = (event) => { event.metal('gtceu:nickel', 1453, 0.00625, '#forge:ingots/nickel', '#forge:double_ingots/nickel', '#forge:plates/nickel', 1, 'tfc:nickel') event.metal('gtceu:brass', 930, 0.00857, '#forge:ingots/brass', '#forge:double_ingots/brass', '#forge:plates/brass', 2, 'tfc:brass') - event.metal('gtceu:redstone', 460, 0.01729, null, null, null, 1, 'tfg:redstone') + event.metal('gtceu:redstone', 460, 0.01729, null, null, '#forge:plates/redstone', 1, 'tfg:redstone') event.metal('gtceu:red_alloy', 740, 0.01529, '#forge:ingots/red_alloy', null, '#forge:plates/red_alloy', 2, 'tfg:red_alloy') event.metal('gtceu:tin_alloy', 1250, 0.00829, '#forge:ingots/tin_alloy', null, '#forge:plates/tin_alloy', 3, 'tfg:tin_alloy') } +/** + * event.itemHeat( + ingredient: Ingredient, + heatCapacity: number, + forgingTemperature: @Nullable number, + weldingTemperature: @Nullable number, + name?: string + ) + */ const registerTFCHeats = (event) => { function makeItemHeatByTagPrefix(tagPrefix, material, tfcProperty, heatCapacity) { @@ -169,4 +178,10 @@ const registerTFCFoodData = (event) => { food.fruit(2) food.decayModifier(0.2) }) + + event.foodItem('minecraft:golden_carrot', food => { + food.hunger(8) + food.vegetables(1) + food.decayModifier(0.1) + }) } diff --git a/kubejs/server_scripts/tfc/recipes.js b/kubejs/server_scripts/tfc/recipes.js index af4127197..fc9066693 100644 --- a/kubejs/server_scripts/tfc/recipes.js +++ b/kubejs/server_scripts/tfc/recipes.js @@ -1,27 +1,15 @@ // priority: 0 -const registerTFCRecipes = (event) => { - //return; TODO тут баг - //#region Металлы +const registerTFCRecipes = (e) => { + + //#region Удаляем рецепты для бедных, нормальной и богатых кусков руды + e.remove({ id: /tfc:heating\/ore\/poor_*/ }) + e.remove({ id: /tfc:heating\/ore\/normal_*/ }) + e.remove({ id: /tfc:heating\/ore\/rich_*/ }) + //#endregion - // Удаление рецептов руд TFC - event.remove({ id: /tfc:heating\/ore\/poor_*/ }) - event.remove({ id: /tfc:heating\/ore\/normal_*/ }) - event.remove({ id: /tfc:heating\/ore\/rich_*/ }) - - // Удаление рецептов блоков - event.remove({ id: /tfc:crafting\/metal\/block\/*/ }) - event.remove({ id: /tfc:heating\/metal\/*_block/ }) - - // Удаление рецептов ступеней - event.remove({ id: /tfc:crafting\/metal\/block\/*_stairs/ }) - event.remove({ id: /tfc:heating\/metal\/*_block_stairs/ }) - - // Удалание рецептов полублоков - event.remove({ id: /tfc:crafting\/metal\/block\/*_slab/ }) - event.remove({ id: /tfc:heating\/metal\/*_block_slab/ }) - - let getFillingNBT = (material, amount) => { + //#region Крафты и раскрафты металлических предметов + const getFluidTankAsNBT = (material, amount) => { return { tank: { FluidName: Fluid.of(material.getFluid()).getId(), @@ -30,1609 +18,1962 @@ const registerTFCRecipes = (event) => { } } - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { - let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) + const calcAmountOfMetal = (defaultAmount, percents) => { + const value = defaultAmount / (100 / percents) + return (value % 2 == 0) ? value : Math.round(value) - 1 + } - if (tfcProperty != null) { - let outputMaterial = (tfcProperty.getOutputMaterial() == null) ? material : tfcProperty.getOutputMaterial() - - // Ingots - let ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) - if (!ingotItem.isEmpty()) { - - // Декрафт слитка в жидкость - event.recipes.tfc.heating(ingotItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_ingot`) - - if (material != GTMaterials.WroughtIron) { - - // Отливка слитка в обычной форме - event.recipes.tfc.casting(ingotItem, 'tfc:ceramic/ingot_mold', Fluid.of(outputMaterial.getFluid(), 144), 0.1) - .id(`tfc:casting/${material.getName()}_ingot`) - - // Отливка слитка в огнеупорной форме - event.recipes.tfc.casting(ingotItem, 'tfc:ceramic/fire_ingot_mold', Fluid.of(outputMaterial.getFluid(), 144), 0.01) - .id(`tfc:casting/${material.getName()}_fire_ingot`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/ingot_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/ingot_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_ingot`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/fire_ingot_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/fire_ingot_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_fire_ingot`) - } - - // Double Ingots - let doubleIngotItem = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1) - if (!doubleIngotItem.isEmpty()) { - - // Декрафт двойного слитка в жидкость - event.recipes.tfc.heating(doubleIngotItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_double_ingot`) - - // 2 слитка -> Двойной слиток - event.recipes.tfc.welding(doubleIngotItem, ingotItem, ingotItem, tfcProperty.getTier() - 1) - .id(`tfc:welding/${material.getName()}_double_ingot`) - - // Plates - let plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) - if (!plateItem.isEmpty()) { - - // Декрафт пластины в жидкость - event.recipes.tfc.heating(plateItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_sheet`) - - // Двойной слиток -> Пластина - event.recipes.tfc.anvil(plateItem, doubleIngotItem, ['hit_last', 'hit_second_last', 'hit_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_sheet`) - - // Double Plate - let doublePlateItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) - if (!doublePlateItem.isEmpty()) { - - // Декрафт двойных пластин - event.recipes.tfc.heating(doublePlateItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_double_sheet`) - - // Две пластины -> Двойная пластина - event.recipes.tfc.welding(doublePlateItem, plateItem, plateItem) - .tier(tfcProperty.getTier()) - .id(`tfc:welding/${material.getName()}_double_sheet`) - - // Armor - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_ARMOR)) { - //#region Шлем - - // Декрафт незавершенного шлема в жидкость - event.recipes.tfc.heating(`tfc:metal/unfinished_helmet/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_unfinished_helmet`) - - // Незавершенный шлем - event.recipes.tfc.anvil(`tfc:metal/unfinished_helmet/${material.getName()}`, doublePlateItem, ['hit_last', 'bend_second_last', 'bend_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_unfinished_helmet`) - - // Декрафт шлема в жидкость - event.recipes.tfc.heating(`tfc:metal/helmet/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 432)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_helmet`) - - // Шлем - event.recipes.tfc.welding(`tfc:metal/helmet/${material.getName()}`, `tfc:metal/unfinished_helmet/${material.getName()}`, plateItem) - .tier(tfcProperty.getTier()) - .id(`tfc:welding/${material.getName()}_helmet`) - - //#endregion - - //#region Нагрудник - - // Декрафт незавершенного нагрудника в жидкость - event.recipes.tfc.heating(`tfc:metal/unfinished_chestplate/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_unfinished_chestplate`) - - // Незавершенный нагрудник - event.recipes.tfc.anvil(`tfc:metal/unfinished_chestplate/${material.getName()}`, doublePlateItem, ['hit_last', 'hit_second_last', 'upset_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_unfinished_chestplate`) - - // Декрафт нагрудника в жидкость - event.recipes.tfc.heating(`tfc:metal/chestplate/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 576)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_chestplate`) - - // Нагрудник - event.recipes.tfc.welding(`tfc:metal/chestplate/${material.getName()}`, `tfc:metal/unfinished_chestplate/${material.getName()}`, doublePlateItem) - .tier(tfcProperty.getTier()) - .id(`tfc:welding/${material.getName()}_chestplate`) - - //#endregion - - //#region Поножи - - // Декрафт незавершенных поножей в жидкость - event.recipes.tfc.heating(`tfc:metal/unfinished_greaves/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_unfinished_greaves`) - - // Незавершенные поножи - event.recipes.tfc.anvil(`tfc:metal/unfinished_greaves/${material.getName()}`, doublePlateItem, ['bend_any', 'draw_any', 'hit_any']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_unfinished_greaves`) - - // Декрафт поножей в жидкость - event.recipes.tfc.heating(`tfc:metal/greaves/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 432)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_greaves`) - - // Поножи - event.recipes.tfc.welding(`tfc:metal/greaves/${material.getName()}`, `tfc:metal/unfinished_greaves/${material.getName()}`, plateItem) - .tier(tfcProperty.getTier()) - .id(`tfc:welding/${material.getName()}_greaves`) - - //#endregion - - //#region Ботинки - - // Декрафт незавершенных ботинок в жидкость - event.recipes.tfc.heating(`tfc:metal/unfinished_boots/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_unfinished_boots`) - - // Незавершенные ботинки - event.recipes.tfc.anvil(`tfc:metal/unfinished_boots/${material.getName()}`, plateItem, ['bend_last', 'bend_second_last', 'shrink_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_unfinished_boots`) - - // Декрафт ботинок в жидкость - event.recipes.tfc.heating(`tfc:metal/boots/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_boots`) - - // Ботинки - event.recipes.tfc.welding(`tfc:metal/boots/${material.getName()}`, `tfc:metal/unfinished_boots/${material.getName()}`, plateItem) - .tier(tfcProperty.getTier()) - .id(`tfc:welding/${material.getName()}_boots`) - - //#endregion - } - - // Tools (From Double Plate) - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { - //#region Фурма - - // Декрафт инструмента в жидкость - event.recipes.tfc.heating(`tfc:metal/tuyere/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_tuyere`) - - // Фурма - event.recipes.tfc.anvil(`tfc:metal/tuyere/${material.getName()}`, doublePlateItem, ['bend_last', 'bend_second_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_tuyere`) - - //#endregion - - //#region Щит + const processNuggets = (tagPrefix, tfcProperty, material, outputMaterial) => { + const nuggetItem = ChemicalHelper.get(tagPrefix, material, 1) + if (nuggetItem.isEmpty()) return - // Декрафт щита в жидкость - event.recipes.tfc.heating(`tfc:metal/shield/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_shield`) + e.recipes.tfc.heating(nuggetItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/nugget/${material.getName()}`) + } - // Щит - event.recipes.tfc.anvil(`tfc:metal/shield/${material.getName()}`, doublePlateItem, ['upset_last', 'bend_second_last', 'bend_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_shield`) + const processIngot = (tagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(tagPrefix, material, 1) + if (ingotItem.isEmpty()) return - //#endregion - - //#region Конская броня - - // Декрафт конской брони в жидкость - event.recipes.tfc.heating(`tfc:metal/horse_armor/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 864)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_horse_armor`) - - //#endregion - } + // Декрафт слитка в жидкость + e.recipes.tfc.heating(ingotItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_ingot`) - } + if (material == GTMaterials.WroughtIron) return - // Tools (From Plate) - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { - //#region Удочка + // Отливка слитка в обычной форме + e.recipes.tfc.casting(ingotItem, 'tfc:ceramic/ingot_mold', Fluid.of(outputMaterial.getFluid(), 144), 0.1) + .id(`tfc:casting/${material.getName()}_ingot`) + + // Отливка слитка в огнеупорной форме + e.recipes.tfc.casting(ingotItem, 'tfc:ceramic/fire_ingot_mold', Fluid.of(outputMaterial.getFluid(), 144), 0.01) + .id(`tfc:casting/${material.getName()}_fire_ingot`) + + e.recipes.create.filling( + Item.of('tfc:ceramic/ingot_mold', getFluidTankAsNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/ingot_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_ingot`) + + e.recipes.create.filling( + Item.of('tfc:ceramic/fire_ingot_mold', getFluidTankAsNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/fire_ingot_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_fire_ingot`) + } + + const processDoubleIngot = (tagPrefix, tfcProperty, material, outputMaterial) => { + const doubleIngotItem = ChemicalHelper.get(tagPrefix, material, 1) + if (doubleIngotItem.isEmpty()) return - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(`tfc:metal/fish_hook/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_fish_hook`) + // Декрафт двойного слитка в жидкость + e.recipes.tfc.heating(doubleIngotItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_double_ingot`) - // Крюк удочки - event.recipes.tfc.anvil(`tfc:metal/fish_hook/${material.getName()}`, plateItem, ['draw_not_last', 'bend_any', 'hit_any']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_fish_hook`) + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return - // Декрафт инструмента в жидкость - event.recipes.tfc.heating(`tfc:metal/fishing_rod/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_fishing_rod`) + // 2 слитка -> Двойной слиток + e.recipes.tfc.welding(doubleIngotItem, ingotItem, ingotItem, tfcProperty.getTier() - 1) + .id(`tfc:welding/${material.getName()}_double_ingot`) - //#endregion - } + // Рецепт через бендер + e.recipes.gtceu.bender(`tfg:${material.getName()}_double_ingot`) + .itemInputs(ingotItem.copyWithCount(2)) + .circuit(6) + .itemOutputs(doubleIngotItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass()) + } - } + const processPlate = (tagPrefix, tfcProperty, material, outputMaterial) => { + const plateItem = ChemicalHelper.get(tagPrefix, material, 1) + if (plateItem.isEmpty()) return + + // Декрафт пластины в жидкость + e.recipes.tfc.heating(plateItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_sheet`) - // Tools (From Double Ingots) - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { - //#region Меч - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/sword/${material.getName()}` }) + const doubleIngotItem = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1) + if (doubleIngotItem.isEmpty()) return + + // Двойной слиток -> Пластина + e.recipes.tfc.anvil(plateItem, doubleIngotItem, ['hit_last', 'hit_second_last', 'hit_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_sheet`) + + // Крафт в молоте + e.recipes.gtceu.forge_hammer(`tfg:${material.getName()}_plate_from_double_ingot`) + .itemInputs(doubleIngotItem) + .itemOutputs(plateItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 5) + } + + const processDoublePlate = (tagPrefix, tfcProperty, material, outputMaterial) => { + const doublePlateItem = ChemicalHelper.get(tagPrefix, material, 1) + if (doublePlateItem.isEmpty()) return + + // Декрафт двойных пластин + e.recipes.tfc.heating(doublePlateItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_double_sheet`) + + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) + if (plateItem.isEmpty()) return + + // Две пластины -> Двойная пластина + e.recipes.tfc.welding(doublePlateItem, plateItem, plateItem) + .tier(tfcProperty.getTier()) + .id(`tfc:welding/${material.getName()}_double_sheet`) + } + + const processRods = (tagPrefix, tfcProperty, material, outputMaterial) => { + const rodItem = ChemicalHelper.get(tagPrefix, material, 1) + if (rodItem.isEmpty()) return + + // Декрафт стержня в жидкость + e.recipes.tfc.heating(rodItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 72)) + .id(`tfc:heating/metal/${material.getName()}_rod`) + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Слиток -> 2 Стержня + e.recipes.tfc.anvil(rodItem.withCount(2), ingotItem, ['bend_last', 'draw_second_last', 'draw_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_rod`) + } + + const processLongRods = (tagPrefix, tfcProperty, material, outputMaterial) => { + const longRodItem = ChemicalHelper.get(tagPrefix, material, 1) + if (longRodItem.isEmpty()) return + + // Декрафт длинного стержня в жидкость + e.recipes.tfc.heating(longRodItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_long_rod`) + + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (rodItem.isEmpty()) return + + // Стержни -> Длинный стержень + e.recipes.tfc.welding(longRodItem, rodItem, rodItem) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_long_rod`) + } + + const processBolts = (tagPrefix, tfcProperty, material, outputMaterial) => { + const boltItem = ChemicalHelper.get(tagPrefix, material, 1) + if (boltItem.isEmpty()) return - // Декрафт инструмента в жидкость - let swordItem = ToolHelper.get(GTToolType.SWORD, material) - if (!swordItem.isEmpty()) { - - event.recipes.tfc.heating(swordItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_sword`) + // Болт -> Металл + e.recipes.tfc.heating(boltItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 18)) + .id(`tfc:heating/metal/${material.getName()}_bolt`) - } - - let swordHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadSword, material, 1) - if (!swordHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(swordHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_sword_blade`) + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (rodItem.isEmpty()) return - // Крафт оголовья - event.recipes.tfc.anvil(swordHeadItem, doubleIngotItem, ['punch_last', 'bend_not_last', 'draw_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_sword_blade`) + // Стержень -> Болт + e.recipes.tfc.anvil(boltItem.withCount(2), rodItem, ['punch_last', 'draw_second_last', 'draw_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_bolt`) + } + + const processScrews = (tagPrefix, tfcProperty, material, outputMaterial) => { + const screwItem = ChemicalHelper.get(tagPrefix, material, 1) + if (screwItem.isEmpty()) return + + // Винт -> Металл + e.recipes.tfc.heating(screwItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) + .id(`tfc:heating/metal/${material.getName()}_screw`) + + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (rodItem.isEmpty()) return + + // Стержень -> Винт + e.recipes.tfc.anvil(screwItem, rodItem, ['punch_last', 'punch_second_last', 'shrink_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_screw`) + } + + const processRings = (tagPrefix, tfcProperty, material, outputMaterial) => { + const ringItem = ChemicalHelper.get(tagPrefix, material, 1) + if (ringItem.isEmpty()) return - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(swordHeadItem, 'tfc:ceramic/sword_blade_mold', Fluid.of(outputMaterial.getFluid(), 288), 1) - .id(`tfc:casting/${material.getName()}_sword_blade`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/sword_blade_mold', getFillingNBT(outputMaterial, 288)), - [ - Fluid.of(outputMaterial.getFluid(), 288), - Item.of('tfc:ceramic/sword_blade_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_sword_blade`) - } + // Кольцо -> Металл + e.recipes.tfc.heating(ringItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 36)) + .id(`tfc:heating/metal/${material.getName()}_ring`) - - - } + const rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (rodItem.isEmpty()) return + + // Стержень -> Кольцо + e.recipes.tfc.anvil(ringItem, rodItem, ['hit_last', 'hit_second_last', 'hit_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_ring`) + } + + const processBlock = (tagPrefix, tfcProperty, material, outputMaterial) => { + const blockItem = ChemicalHelper.get(tagPrefix, material, 1) + if (blockItem.isEmpty()) return - //#endregion + // Декрафт блока в жидкость + e.recipes.tfc.heating(`#forge:storage_blocks/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 1296)) + .id(`tfc:heating/metal/${material.getName()}_storage_block`) + } + + const processTinyDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + e.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/tiny_dust/${material.getName()}`) + } + + const processSmallDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + e.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/small_dust/${material.getName()}`) + } + + const processDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + e.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(144, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/dust/${material.getName()}`) + } + + const processImpureDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + e.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(80, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/impure_dust/${material.getName()}`) + } + + const processPurifiedDust = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + e.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(120, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/purified_dust/${material.getName()}`) + } + + const processCrushedOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + e.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(60, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/crushed_ore/${material.getName()}`) + } + + const processCrushedPurifiedOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + e.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(90, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/crushed_purified_ore/${material.getName()}`) + } + + const processCrushedRefinedOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const dustItem = ChemicalHelper.get(tagPrefix, material, 1) + if (dustItem.isEmpty()) return + + e.recipes.tfc.heating(dustItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(110, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/crushed_refined_ore/${material.getName()}`) + } + + const processRichRawOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const oreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (oreItem.isEmpty()) return + + if (tfcProperty != null && outputMaterial != null) { + e.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(48, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/rich_raw/${material.getName()}`) + } + + const crushedItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + if (crushedItem.isEmpty()) return + + e.shapeless(crushedItem.copyWithCount(2), [ + '#forge:tools/hammers', + oreItem + ]).id(`tfg:shapeless/rich_raw_${material.getName()}_to_crushed`) + } + + const processNormalRawore = (tagPrefix, tfcProperty, material, outputMaterial) => { + const oreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (oreItem.isEmpty()) return + + if (tfcProperty != null && outputMaterial != null) { + e.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/raw/${material.getName()}`) + } + + const crushedItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + if (crushedItem.isEmpty()) return + + e.shapeless(crushedItem, [ + '#forge:tools/hammers', + oreItem + ]).id(`tfg:shapeless/normal_raw_${material.getName()}_to_crushed`) + } + + const processPoorRawOre = (tagPrefix, tfcProperty, material, outputMaterial) => { + const oreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (oreItem.isEmpty()) return + + if (tfcProperty != null && outputMaterial != null) { + e.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), calcAmountOfMetal(24, tfcProperty.getPercentOfMaterial()))) + .id(`tfg:heating/poor_raw/${material.getName()}`) + } + + const crushedItem = ChemicalHelper.get(TagPrefix.crushed, material, 1) + if (crushedItem.isEmpty()) return + + e.shapeless(crushedItem, [ + '#forge:tools/hammers', + oreItem, + oreItem + ]).id(`tfg:shapeless/poor_raw_${material.getName()}_to_crushed`) + } + + const processToolSword = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotDoubleItem = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1) + if (ingotDoubleItem.isEmpty()) return + + // Крафт инструмента + e.remove({ id: `tfc:crafting/metal/sword/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const swordItem = ToolHelper.get(toolType, material) + if (!swordItem.isEmpty()) { - //#region Дубина - - // Декрафт инструмента в жидкость - event.recipes.tfc.heating(`tfc:metal/mace/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_mace`) + e.recipes.tfc.heating(swordItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_sword`) + } + + const swordHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (!swordHeadItem.isEmpty()) { - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(`tfc:metal/mace_head/${material.getName()}`, 'tfc:ceramic/mace_head_mold', Fluid.of(outputMaterial.getFluid(), 288), 1) - .id(`tfc:casting/${material.getName()}_mace_head`) + // Декрафт оголовья в жидкость + e.recipes.tfc.heating(swordHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_sword_blade`) - event.recipes.create.filling( - Item.of('tfc:ceramic/mace_head_mold', getFillingNBT(outputMaterial, 288)), - [ - Fluid.of(outputMaterial.getFluid(), 288), - Item.of('tfc:ceramic/mace_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_mace_head`) - - } + // Крафт оголовья + e.recipes.tfc.anvil(swordHeadItem, ingotDoubleItem, ['punch_last', 'bend_not_last', 'draw_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_sword_blade`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + e.recipes.tfc.casting(swordHeadItem, 'tfc:ceramic/sword_blade_mold', Fluid.of(outputMaterial.getFluid(), 288), 1) + .id(`tfc:casting/${material.getName()}_sword_blade`) - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(`tfc:metal/mace_head/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_mace_head`) + e.recipes.create.filling( + Item.of('tfc:ceramic/sword_blade_mold', getFluidTankAsNBT(outputMaterial, 288)), + [ + Fluid.of(outputMaterial.getFluid(), 288), + Item.of('tfc:ceramic/sword_blade_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_sword_blade`) + } + } + } + + const processToolPickaxe = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + e.remove({ id: `tfc:crafting/metal/pickaxe/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const pickaxeItem = ToolHelper.get(toolType, material) + if (!pickaxeItem.isEmpty()) { + + e.recipes.tfc.heating(`gtceu:${material.getName()}_pickaxe`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_pickaxe`) - //#endregion + } - //#region Мясницкий нож - - // Декрафт инструмента в жидкость - let butcheryKnifeItem = ToolHelper.get(GTToolType.BUTCHERY_KNIFE, material) - if (!butcheryKnifeItem.isEmpty()) { - - event.recipes.tfc.heating(butcheryKnifeItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_butchery_knife`) - - } - - let butcheryKnifeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadButcheryKnife, material, 1) - if (!butcheryKnifeHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(butcheryKnifeHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_knife_butchery_head`) - - // Крафт оголовья - event.recipes.tfc.anvil(butcheryKnifeHeadItem, `#forge:ingots/${material.getName()}`, ['punch_last', 'bend_not_last', 'bend_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_knife_butchery_head`) - - } - - //#endregion - - //#region Молот шахтера - - // Декрафт инструмента в жидкость - let miningHammerItem = ToolHelper.get(GTToolType.MINING_HAMMER, material) - if (!miningHammerItem.isEmpty()) { - - event.recipes.tfc.heating(miningHammerItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_mining_hammer`) - - } - - - let miningHammerHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadMiningHammer, material, 1) - if (!miningHammerHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(miningHammerHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_mining_hammer_head`) - - // Крафт оголовья - event.recipes.tfc.anvil(miningHammerHeadItem, doubleIngotItem, ['punch_last', 'shrink_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_mining_hammer_head`) - - } - - //#endregion - - //#region Большая лопата - - // Декрафт инструмента в жидкость - let spadeItem = ToolHelper.get(GTToolType.SPADE, material) - if (!spadeItem.isEmpty()) { - - event.recipes.tfc.heating(spadeItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_spade`) - - } - - let spadeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadSpade, material, 1) - if (!spadeHeadItem.isEmpty()) { - - // Крафт оголовья - event.recipes.tfc.anvil(spadeHeadItem, doubleIngotItem, ['punch_last', 'hit_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_spade_head`) - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(spadeHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .id(`tfc:heating/metal/${material.getName()}_spade_head`) - - } - - //#endregion - } - - } - - // Rods - let rodItem = ChemicalHelper.get(TagPrefix.rod, material, 1) - if (!rodItem.isEmpty()) { - - // Декрафт стержня в жидкость - event.recipes.tfc.heating(rodItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 72)) - .id(`tfc:heating/metal/${material.getName()}_rod`) - - // Слиток -> 2 Стержня - event.recipes.tfc.anvil(rodItem.withCount(2), ingotItem, ['bend_last', 'draw_second_last', 'draw_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_rod`) - - // Long Rods - let longRodItem = ChemicalHelper.get(TagPrefix.rodLong, material, 1) - if (!longRodItem.isEmpty()) { - - // Декрафт длинного стержня в жидкость - event.recipes.tfc.heating(longRodItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_long_rod`) - - // Стержни -> Длинный стержень - event.recipes.tfc.welding(longRodItem, rodItem, rodItem) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_long_rod`) - - } - - // Bolt - let boltItem = ChemicalHelper.get(TagPrefix.bolt, material, 1) - if (!boltItem.isEmpty()) { - - // Болт -> Металл - event.recipes.tfc.heating(boltItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 18)) - .id(`tfc:heating/metal/${material.getName()}_bolt`) - - // Стержень -> Болт - event.recipes.tfc.anvil(boltItem.withCount(2), rodItem, ['punch_last', 'draw_second_last', 'draw_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_bolt`) - - } - - // Screw - let screwItem = ChemicalHelper.get(TagPrefix.screw, material, 1) - if (!screwItem.isEmpty()) { - - // Винт -> Металл - event.recipes.tfc.heating(screwItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) - .id(`tfc:heating/metal/${material.getName()}_screw`) - - // Стержень -> Винт - event.recipes.tfc.anvil(screwItem, rodItem, ['punch_last', 'punch_second_last', 'shrink_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_screw`) - - } - - let ringItem = ChemicalHelper.get(TagPrefix.ring, material, 1) - if (!ringItem.isEmpty()) { - - // Кольцо -> Металл - event.recipes.tfc.heating(ringItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 36)) - .id(`tfc:heating/metal/${material.getName()}_ring`) - - // Стержень -> Кольцо - event.recipes.tfc.anvil(ringItem, rodItem, ['hit_last', 'hit_second_last', 'hit_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_ring`) - - } - - } - - // Tools (From Ingot) - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { + const pickaxeHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (!pickaxeHeadItem.isEmpty()) { - //#region Кирка - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/pickaxe/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let pickaxeItem = ToolHelper.get(GTToolType.PICKAXE, material) - if (!pickaxeItem.isEmpty()) { + // Декрафт оголовья в жидкость + e.recipes.tfc.heating(pickaxeHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_pickaxe_head`) - event.recipes.tfc.heating(`gtceu:${material.getName()}_pickaxe`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_pickaxe`) - - } + // Крафт оголовья + e.recipes.tfc.anvil(pickaxeHeadItem, ingotItem, ['punch_last', 'bend_not_last', 'draw_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_pickaxe_head`) - let pickaxeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadPickaxe, material, 1) - if (!pickaxeHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(pickaxeHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_pickaxe_head`) + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + e.recipes.tfc.casting(pickaxeHeadItem, 'tfc:ceramic/pickaxe_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + .id(`tfc:casting/${material.getName()}_pickaxe_head`) - // Крафт оголовья - event.recipes.tfc.anvil(pickaxeHeadItem, ingotItem, ['punch_last', 'bend_not_last', 'draw_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_pickaxe_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(pickaxeHeadItem, 'tfc:ceramic/pickaxe_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_pickaxe_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/pickaxe_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/pickaxe_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_pickaxe_head`) - } - - } - - //#endregion - - //#region Топор - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/axe/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let axeItem = ToolHelper.get(GTToolType.AXE, material) - if (!axeItem.isEmpty()) { - - event.recipes.tfc.heating(axeItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_axe`) - - } - - let axeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadAxe, material, 1) - if (!axeHeadItem.isEmpty()) { - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(axeHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_axe_head`) - - // Крафт оголовья - event.recipes.tfc.anvil(axeHeadItem, ingotItem, ['punch_last', 'hit_second_last', 'upset_third_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_axe_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(axeHeadItem, 'tfc:ceramic/axe_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_axe_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/axe_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/axe_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_axe_head`) - } - } - - //#endregion - - //#region Лопата - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/shovel/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let shovelItem = ToolHelper.get(GTToolType.SHOVEL, material) - if (!shovelItem.isEmpty()) { - - event.recipes.tfc.heating(shovelItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_shovel`) - - } - - let shovelHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadShovel, material, 1) - if (!shovelHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(shovelHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_shovel_head`) - - // Крафт оголовья - event.recipes.tfc.anvil(shovelHeadItem, ingotItem, ['punch_last', 'hit_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_shovel_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(shovelHeadItem, 'tfc:ceramic/shovel_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_shovel_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/shovel_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/shovel_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_shovel_head_mold`) - } - - } - - //#endregion - - //#region Мотыга - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/hoe/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let hoeItem = ToolHelper.get(GTToolType.HOE, material) - if (!hoeItem.isEmpty()) { - event.recipes.tfc.heating(hoeItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_hoe`) - } - - let hoeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadHoe, material, 1) - if (!hoeHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(hoeHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_hoe_head`) - - // Крафт оголовья - event.recipes.tfc.anvil(hoeHeadItem, ingotItem, ['punch_last', 'hit_not_last', 'bend_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_hoe_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(hoeHeadItem, 'tfc:ceramic/hoe_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_hoe_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/hoe_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/hoe_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_hoe_head_mold`) - } - - } - - //#endregion - - //#region Молот - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/hammer/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let hammerItem = ToolHelper.get(GTToolType.HARD_HAMMER, material) - if (!hammerItem.isEmpty()) { - - event.recipes.tfc.heating(hammerItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_hammer`) - - } - - let hammerHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadHammer, material, 1) - if (!hammerHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(hammerHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_hammer_head`) - - // Крафт оголовья - event.recipes.tfc.anvil(hammerHeadItem, ingotItem, ['punch_last', 'shrink_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_hammer_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(hammerHeadItem, 'tfc:ceramic/hammer_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_hammer_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/hammer_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/hammer_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_hammer_head_mold`) - } - - } - - //#endregion - - //#region Пила - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/saw/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let sawItem = ToolHelper.get(GTToolType.SAW, material) - if (!sawItem.isEmpty()) { - - event.recipes.tfc.heating(sawItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_saw`) - - } - - let sawHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadSaw, material, 1) - if (!sawHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(sawHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_saw_blade`) - - // Крафт оголовья - event.recipes.tfc.anvil(sawHeadItem, ingotItem, ['hit_last', 'hit_second_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_saw_blade`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(sawHeadItem, 'tfc:ceramic/saw_blade_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_saw_blade`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/saw_blade_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/saw_blade_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_saw_blade_mold`) - } - - } - - //#endregion - - //#region Коса - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/scythe/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let scytheItem = ToolHelper.get(GTToolType.SCYTHE, material) - if (!scytheItem.isEmpty()) { - event.recipes.tfc.heating(scytheItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_scythe`) - } - - let scytheHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadScythe, material, 1) - if (!scytheHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(scytheHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_scythe_blade`) - - // Крафт оголовья - event.recipes.tfc.anvil(scytheHeadItem, ingotItem, ['punch_last', 'bend_not_last', 'draw_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_scythe_blade`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(scytheHeadItem, 'tfc:ceramic/scythe_blade_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_scythe_blade`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/scythe_blade_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/scythe_blade_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_scythe_blade_mold`) - } - - } - - //#endregion - - //#region Напильник - - // Декрафт инструмента в жидкость - let fileItem = ToolHelper.get(GTToolType.FILE, material) - if (!fileItem.isEmpty()) { - event.recipes.tfc.heating(fileItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_file`) - } - - let fileHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadFile, material, 1) - if (!fileHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(fileHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_file_head`) - - // Крафт оголовья - event.recipes.tfc.anvil(fileHeadItem, ingotItem, ['upset_last', 'bend_not_last', 'punch_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_file_head`) - - } - - //#endregion - - //#region Нож - - // Крафт инструмента - event.remove({ id: `tfc:crafting/metal/knife/${material.getName()}` }) - - // Декрафт инструмента в жидкость - let knifeItem = ToolHelper.get(GTToolType.KNIFE, material) - if (!knifeItem.isEmpty()) { - event.recipes.tfc.heating(knifeItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_knife`) - } - - let knifeHeadItem = ChemicalHelper.get(TFGTagPrefix.toolHeadKnife, material, 1) - if (!knifeHeadItem.isEmpty()) { - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(knifeHeadItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_knife_blade`) - - // Крафт оголовья - event.recipes.tfc.anvil(knifeHeadItem, ingotItem, ['punch_last', 'bend_not_last', 'draw_not_last']) - .tier(tfcProperty.getTier()) - .bonus(true) - .id(`tfc:anvil/${material.getName()}_knife_blade`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(knifeHeadItem, 'tfc:ceramic/knife_blade_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_knife_blade`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/knife_blade_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/knife_blade_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_knife_blade_mold`) - } - - //#region Ножницы - - // Сварка оголовий - event.recipes.tfc.welding(`tfc:metal/shears/${material.getName()}`, knifeHeadItem, knifeHeadItem, tfcProperty.getTier()) - .id(`tfc:welding/${material.getName()}_shears`) - - // Декрафт инструмента в жидкость - event.recipes.tfc.heating(`tfc:metal/shears/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_shears`) - - //#endregion - - } - - //#endregion - - //#region Проспектор - - // Декрафт инструмента в жидкость - event.recipes.tfc.heating(`tfc:metal/propick/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_propick`) - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(`tfc:metal/propick_head/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_propick_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(`tfc:metal/propick_head/${material.getName()}`, 'tfc:ceramic/propick_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_propick_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/propick_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/propick_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_propick_head_mold`) - } - - //#endregion - - //#region Стамеска - - // Декрафт инструмента в жидкость - event.recipes.tfc.heating(`tfc:metal/chisel/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_chisel`) - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(`tfc:metal/chisel_head/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_chisel_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(`tfc:metal/chisel_head/${material.getName()}`, 'tfc:ceramic/chisel_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_chisel_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/chisel_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/chisel_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_chisel_head_mold`) - } - - //#endregion - - //#region Копье - - // Декрафт инструмента в жидкость - event.recipes.tfc.heating(`tfc:metal/javelin/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .useDurability(true) - .id(`tfc:heating/metal/${material.getName()}_javelin`) - - // Декрафт оголовья в жидкость - event.recipes.tfc.heating(`tfc:metal/javelin_head/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_javelin_head`) - - // Металл + Форма -> Оголовье - if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { - event.recipes.tfc.casting(`tfc:metal/javelin_head/${material.getName()}`, 'tfc:ceramic/javelin_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) - .id(`tfc:casting/${material.getName()}_javelin_head`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/javelin_head_mold', getFillingNBT(outputMaterial, 144)), - [ - Fluid.of(outputMaterial.getFluid(), 144), - Item.of('tfc:ceramic/javelin_head_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${material.getName()}_javelin_head_mold`) - } - - //#endregion - } - + e.recipes.create.filling( + Item.of('tfc:ceramic/pickaxe_head_mold', getFluidTankAsNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/pickaxe_head_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_pickaxe_head`) } - // Blocks - let blockItem = ChemicalHelper.get(TagPrefix.block, material, 1) - if (!blockItem.isEmpty()) { - - // Декрафт блока в жидкость - event.recipes.tfc.heating(`#forge:storage_blocks/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 1296)) - .id(`tfc:heating/metal/${material.getName()}_block`) - - } + } + } - // Anvils, Lamps, Trapdors, Chains - if (material.hasFlag(TFGMaterialFlags.HAS_TFC_UTILITY)) { - - // Декрафт незавершенной лампы в жидкость - event.recipes.tfc.heating(`tfc:metal/unfinished_lamp/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_unfinished_lamp`) - - // Декрафт лампы в жидкость - event.recipes.tfc.heating(`tfc:metal/lamp/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_lamp`) - - // Декрафт люка в жидкость - event.recipes.tfc.heating(`tfc:metal/trapdoor/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfc:heating/metal/${material.getName()}_trapdoor`) - - // Люк - event.recipes.tfc.anvil(`tfc:metal/trapdoor/${material.getName()}`, `gtceu:${material.getName()}_plate`, ['bend_last', 'draw_second_last', 'draw_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_trapdoor`) - - // Декрафт решетки в жидкость - event.recipes.tfc.heating(`tfc:metal/bars/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 18)) - .id(`tfc:heating/metal/${material.getName()}_bars`) - - // 8x Решетка - event.recipes.tfc.anvil(`8x tfc:metal/bars/${material.getName()}`, `gtceu:${material.getName()}_plate`, ['upset_last', 'punch_second_last', 'punch_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_bars`) - - // 16x Решетка - event.recipes.tfc.anvil(`16x tfc:metal/bars/${material.getName()}`, `gtceu:double_${material.getName()}_plate`, ['upset_last', 'punch_second_last', 'punch_third_last']) - .tier(tfcProperty.getTier()) - .id(`tfc:anvil/${material.getName()}_bars_double`) - - // Декрафт цепи в жидкость - event.recipes.tfc.heating(`tfc:metal/chain/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 9)) - .id(`tfc:heating/metal/${material.getName()}_chain`) - - // Декрафт наковальни в жидкость - event.recipes.tfc.heating(`tfc:metal/anvil/${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 2016)) - .id(`tfc:heating/metal/${material.getName()}_anvil`) - } + const processToolAxe = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + e.remove({ id: `tfc:crafting/metal/axe/${material.getName()}` }) - //#region Щипцы - let tongsStack = Item.of(`tfchotornot:tongs/${material.getName()}`) - let tongPartStack = Item.of(`tfchotornot:tong_part/${material.getName()}`) - - if (!tongsStack.isEmpty() && !tongPartStack.isEmpty()) { - // Ручка щипцов - event.recipes.tfc.heating(tongPartStack, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) - .id(`tfchotornot:heating/tong_part/${material.getName()}`) - - // Щипцы - event.recipes.tfc.heating(tongsStack, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) - .useDurability(true) - .id(`tfchotornot:heating/tongs/${material.getName()}`) - } - //#endregion - - // Small TFC Ores - if (material.hasFlag(TFGMaterialFlags.HAS_SMALL_TFC_ORE)) { - // Декрафт мелкого кусочка в жидкость - event.recipes.tfc.heating(`tfc:ore/small_${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) - .id(`tfc:heating/ore/small_${material.getName()}`) - } - - // Small Native TFC Ores - if (material.hasFlag(TFGMaterialFlags.HAS_SMALL_NATIVE_TFC_ORE)) { - // Декрафт мелкого кусочка в жидкость - event.recipes.tfc.heating(`tfc:ore/small_native_${material.getName()}`, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) - .id(`tfc:heating/ore/small_native_${material.getName()}`) - } - - // Any Dusts from GTCEu - if (material.hasProperty(PropertyKey.DUST)) { - - // Декрафт мелкой пыли - let tinyDust = ChemicalHelper.get(TagPrefix.dustTiny, material, 1) - if (!tinyDust.isEmpty()) { - - event.recipes.tfc.heating(tinyDust, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/tiny_dust/${material.getName()}`) - - } - - // Декрафт средней пыли - let smallDust = ChemicalHelper.get(TagPrefix.dustSmall, material, 1) - if (!smallDust.isEmpty()) { - - event.recipes.tfc.heating(smallDust, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/small_dust/${material.getName()}`) - - } - - // Декрафт пыли - let dust = ChemicalHelper.get(TagPrefix.dust, material, 1) - if (!dust.isEmpty()) { - - event.recipes.tfc.heating(dust, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(144, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/dust/${material.getName()}`) - - } - - // Декрафт грязной пыли - let impureDust = ChemicalHelper.get(TagPrefix.dustImpure, material, 1) - if (!impureDust.isEmpty()) { - - event.recipes.tfc.heating(impureDust, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(80, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/impure_dust/${material.getName()}`) - - } - - // Декрафт очищенной пыли - let purifiedDust = ChemicalHelper.get(TagPrefix.dustPure, material, 1) - if (!purifiedDust.isEmpty()) { - - event.recipes.tfc.heating(purifiedDust, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(120, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/purified_dust/${material.getName()}`) - - } + // Декрафт инструмента в жидкость + const axeItem = ToolHelper.get(toolType, material) + if (!axeItem.isEmpty()) { + e.recipes.tfc.heating(axeItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_axe`) + + } + + const axeHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (!axeHeadItem.isEmpty()) { + // Декрафт оголовья в жидкость + e.recipes.tfc.heating(axeHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_axe_head`) + + // Крафт оголовья + e.recipes.tfc.anvil(axeHeadItem, ingotItem, ['punch_last', 'hit_second_last', 'upset_third_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_axe_head`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + e.recipes.tfc.casting(axeHeadItem, 'tfc:ceramic/axe_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + .id(`tfc:casting/${material.getName()}_axe_head`) + + e.recipes.create.filling( + Item.of('tfc:ceramic/axe_head_mold', getFluidTankAsNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/axe_head_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_axe_head`) } - - // Any Ores from GTCEu - if (material.hasProperty(PropertyKey.ORE)) { - - // Декрафт ломанной руды - let crushedOre = ChemicalHelper.get(TagPrefix.crushed, material, 1) - if (!crushedOre.isEmpty()) { - - event.recipes.tfc.heating(crushedOre, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(80, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/crushed_ore/${material.getName()}`) - - } + } + } - // Декрафт ломанной очищенной руды - let crushedPurifiedOre = ChemicalHelper.get(TagPrefix.crushedPurified, material, 1) - if (!crushedPurifiedOre.isEmpty()) { - - event.recipes.tfc.heating(crushedPurifiedOre, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(100, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/crushed_purified_ore/${material.getName()}`) - - } + const processToolShovel = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + e.remove({ id: `tfc:crafting/metal/shovel/${material.getName()}` }) - // Декрафт центрифугированной ломанной руды - let crushedRefinedOre = ChemicalHelper.get(TagPrefix.crushedRefined, material, 1) - if (!crushedRefinedOre.isEmpty()) { - - event.recipes.tfc.heating(crushedRefinedOre, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(110, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/crushed_refined_ore/${material.getName()}`) - - } + // Декрафт инструмента в жидкость + const shovelItem = ToolHelper.get(toolType, material) + if (!shovelItem.isEmpty()) { + + e.recipes.tfc.heating(shovelItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_shovel`) + + } - // Декрафт богатого куска руды - let richRawOre = ChemicalHelper.get(TFGTagPrefix.richRawOre, material, 1) - if (!richRawOre.isEmpty()) { - - event.recipes.tfc.heating(richRawOre, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(48, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/rich_raw/${material.getName()}`) - - } - - // Декрафт нормального куска руды - let normalRawOre = ChemicalHelper.get(TagPrefix.rawOre, material, 1) - if (!normalRawOre.isEmpty()) { - - event.recipes.tfc.heating(normalRawOre, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(36, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/raw/${material.getName()}`) - - } - - // Декрафт бедного куска руды - let poorRawOre = ChemicalHelper.get(TFGTagPrefix.poorRawOre, material, 1) - if (!poorRawOre.isEmpty()) { - event.recipes.tfc.heating(poorRawOre, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(24, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/poor_raw/${material.getName()}`) - } + const shovelHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (!shovelHeadItem.isEmpty()) { + + // Декрафт оголовья в жидкость + e.recipes.tfc.heating(shovelHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_shovel_head`) + + // Крафт оголовья + e.recipes.tfc.anvil(shovelHeadItem, ingotItem, ['punch_last', 'hit_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_shovel_head`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + e.recipes.tfc.casting(shovelHeadItem, 'tfc:ceramic/shovel_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + .id(`tfc:casting/${material.getName()}_shovel_head`) + + e.recipes.create.filling( + Item.of('tfc:ceramic/shovel_head_mold', getFluidTankAsNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/shovel_head_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_shovel_head_mold`) } - // Nuggets - let nuggetItem = ChemicalHelper.get(TagPrefix.nugget, material, 1) - if (!nuggetItem.isEmpty()) { - - // Декрафт самородков пыли - event.recipes.tfc.heating(nuggetItem, tfcProperty.getMeltTemp()) - .resultFluid(Fluid.of(outputMaterial.getFluid(), global.calcAmountOfMetal(16, tfcProperty.getPercentOfMaterial()))) - .id(`tfg:heating/nugget/${material.getName()}`) - + } + } + + const processToolHoe = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + e.remove({ id: `tfc:crafting/metal/hoe/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const hoeItem = ToolHelper.get(toolType, material) + if (!hoeItem.isEmpty()) { + e.recipes.tfc.heating(hoeItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_hoe`) + } + + const hoeHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (!hoeHeadItem.isEmpty()) { + + // Декрафт оголовья в жидкость + e.recipes.tfc.heating(hoeHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_hoe_head`) + + // Крафт оголовья + e.recipes.tfc.anvil(hoeHeadItem, ingotItem, ['punch_last', 'hit_not_last', 'bend_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_hoe_head`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + e.recipes.tfc.casting(hoeHeadItem, 'tfc:ceramic/hoe_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + .id(`tfc:casting/${material.getName()}_hoe_head`) + + e.recipes.create.filling( + Item.of('tfc:ceramic/hoe_head_mold', getFluidTankAsNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/hoe_head_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_hoe_head_mold`) } } + } + + const processToolKnife = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + e.remove({ id: `tfc:crafting/metal/knife/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const knifeItem = ToolHelper.get(toolType, material) + if (!knifeItem.isEmpty()) { + e.recipes.tfc.heating(knifeItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_knife`) + } + + const knifeHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (!knifeHeadItem.isEmpty()) { + + // Декрафт оголовья в жидкость + e.recipes.tfc.heating(knifeHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_knife_blade`) + + // Крафт оголовья + e.recipes.tfc.anvil(knifeHeadItem, ingotItem, ['punch_last', 'bend_not_last', 'draw_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_knife_blade`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + e.recipes.tfc.casting(knifeHeadItem, 'tfc:ceramic/knife_blade_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + .id(`tfc:casting/${material.getName()}_knife_blade`) + + e.recipes.create.filling( + Item.of('tfc:ceramic/knife_blade_mold', getFluidTankAsNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/knife_blade_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_knife_blade_mold`) + } + //#region Ножницы + + // Сварка оголовий + e.recipes.tfc.welding(`tfc:metal/shears/${material.getName()}`, knifeHeadItem, knifeHeadItem, tfcProperty.getTier()) + .id(`tfc:welding/${material.getName()}_shears`) + + // Декрафт инструмента в жидкость + e.recipes.tfc.heating(`tfc:metal/shears/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_shears`) + + //#endregion + + } + } + + const processToolMiningHammer = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotDoubleItem = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1) + if (ingotDoubleItem.isEmpty()) return + + // Декрафт инструмента в жидкость + const miningHammerItem = ToolHelper.get(toolType, material) + if (!miningHammerItem.isEmpty()) { + + e.recipes.tfc.heating(miningHammerItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_mining_hammer`) + + } + + + const miningHammerHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (!miningHammerHeadItem.isEmpty()) { + + // Декрафт оголовья в жидкость + e.recipes.tfc.heating(miningHammerHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_mining_hammer_head`) + + // Крафт оголовья + e.recipes.tfc.anvil(miningHammerHeadItem, ingotDoubleItem, ['punch_last', 'shrink_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_mining_hammer_head`) + + } + } + + const processToolScythe = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + e.remove({ id: `tfc:crafting/metal/scythe/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const scytheItem = ToolHelper.get(toolType, material) + if (!scytheItem.isEmpty()) { + e.recipes.tfc.heating(scytheItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_scythe`) + } + + const scytheHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (!scytheHeadItem.isEmpty()) { + + // Декрафт оголовья в жидкость + e.recipes.tfc.heating(scytheHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_scythe_blade`) + + // Крафт оголовья + e.recipes.tfc.anvil(scytheHeadItem, ingotItem, ['punch_last', 'bend_not_last', 'draw_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_scythe_blade`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + e.recipes.tfc.casting(scytheHeadItem, 'tfc:ceramic/scythe_blade_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + .id(`tfc:casting/${material.getName()}_scythe_blade`) + + e.recipes.create.filling( + Item.of('tfc:ceramic/scythe_blade_mold', getFluidTankAsNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/scythe_blade_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_scythe_blade_mold`) + } + + } + } + + const processToolFile = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + const fileItem = ToolHelper.get(toolType, material) + if (!fileItem.isEmpty()) { + e.recipes.tfc.heating(fileItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_file`) + } + + const fileHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (!fileHeadItem.isEmpty()) { + + // Декрафт оголовья в жидкость + e.recipes.tfc.heating(fileHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_file_head`) + + // Крафт оголовья + e.recipes.tfc.anvil(fileHeadItem, ingotItem, ['upset_last', 'bend_not_last', 'punch_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_file_head`) + + } + } + + const processToolHammer = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + e.remove({ id: `tfc:crafting/metal/hammer/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const hammerItem = ToolHelper.get(toolType, material) + if (!hammerItem.isEmpty()) { + + e.recipes.tfc.heating(hammerItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_hammer`) + + } + + const hammerHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (!hammerHeadItem.isEmpty()) { + + // Декрафт оголовья в жидкость + e.recipes.tfc.heating(hammerHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_hammer_head`) + + // Крафт оголовья + e.recipes.tfc.anvil(hammerHeadItem, ingotItem, ['punch_last', 'shrink_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_hammer_head`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + e.recipes.tfc.casting(hammerHeadItem, 'tfc:ceramic/hammer_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + .id(`tfc:casting/${material.getName()}_hammer_head`) + + e.recipes.create.filling( + Item.of('tfc:ceramic/hammer_head_mold', getFluidTankAsNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/hammer_head_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_hammer_head_mold`) + } + + } + } + + const processToolSaw = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт инструмента + e.remove({ id: `tfc:crafting/metal/saw/${material.getName()}` }) + + // Декрафт инструмента в жидкость + const sawItem = ToolHelper.get(toolType, material) + if (!sawItem.isEmpty()) { + + e.recipes.tfc.heating(sawItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_saw`) + + } + + const sawHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (!sawHeadItem.isEmpty()) { + + // Декрафт оголовья в жидкость + e.recipes.tfc.heating(sawHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_saw_blade`) + + // Крафт оголовья + e.recipes.tfc.anvil(sawHeadItem, ingotItem, ['hit_last', 'hit_second_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_saw_blade`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + e.recipes.tfc.casting(sawHeadItem, 'tfc:ceramic/saw_blade_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + .id(`tfc:casting/${material.getName()}_saw_blade`) + + e.recipes.create.filling( + Item.of('tfc:ceramic/saw_blade_mold', getFluidTankAsNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/saw_blade_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_saw_blade_mold`) + } + + } + } + + const processToolButcheryKnife = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotDoubleItem = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1) + if (ingotDoubleItem.isEmpty()) return + + // Декрафт инструмента в жидкость + const butcheryKnifeItem = ToolHelper.get(toolType, material) + if (!butcheryKnifeItem.isEmpty()) { + + e.recipes.tfc.heating(butcheryKnifeItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_butchery_knife`) + + } + + const butcheryKnifeHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (!butcheryKnifeHeadItem.isEmpty()) { + + // Декрафт оголовья в жидкость + e.recipes.tfc.heating(butcheryKnifeHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_knife_butchery_head`) + + // Крафт оголовья + e.recipes.tfc.anvil(butcheryKnifeHeadItem, ingotDoubleItem, ['punch_last', 'bend_not_last', 'bend_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_knife_butchery_head`) + + } + } + + const processToolSpade = (toolType, headTagPrefix, tfcProperty, material, outputMaterial) => { + const ingotDoubleItem = ChemicalHelper.get(TFGTagPrefix.ingotDouble, material, 1) + if (ingotDoubleItem.isEmpty()) return + + // Декрафт инструмента в жидкость + const spadeItem = ToolHelper.get(toolType, material) + if (!spadeItem.isEmpty()) { + + e.recipes.tfc.heating(spadeItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_spade`) + + } + + const spadeHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (!spadeHeadItem.isEmpty()) { + + // Крафт оголовья + e.recipes.tfc.anvil(spadeHeadItem, ingotDoubleItem, ['punch_last', 'hit_not_last']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_spade_head`) + + // Декрафт оголовья в жидкость + e.recipes.tfc.heating(spadeHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_spade_head`) + + } + } + + const processToolPropick = (headTagPrefix, tfcProperty, material, outputMaterial) => { + const propickItem = Item.of(`tfc:metal/propick/${material.getName()}`) + if (propickItem.isEmpty()) return + + // Декрафт инструмента в жидкость + e.recipes.tfc.heating(propickItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_propick`) + + const propickHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (propickHeadItem.isEmpty()) return; + + // Декрафт оголовья в жидкость + e.recipes.tfc.heating(propickHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_propick_head`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + e.recipes.tfc.casting(propickHeadItem, 'tfc:ceramic/propick_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + .id(`tfc:casting/${material.getName()}_propick_head`) + + e.recipes.create.filling( + Item.of('tfc:ceramic/propick_head_mold', getFluidTankAsNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/propick_head_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_propick_head_mold`) + } + } + + const processToolJavelin = (headTagPrefix, tfcProperty, material, outputMaterial) => { + const javelinItem = Item.of(`tfc:metal/javelin/${material.getName()}`) + if (javelinItem.isEmpty()) return + + // Декрафт инструмента в жидкость + e.recipes.tfc.heating(javelinItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_javelin`) + + const javelinHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (javelinHeadItem.isEmpty()) return + + // Декрафт оголовья в жидкость + e.recipes.tfc.heating(javelinHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_javelin_head`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + e.recipes.tfc.casting(javelinHeadItem, 'tfc:ceramic/javelin_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + .id(`tfc:casting/${material.getName()}_javelin_head`) + + e.recipes.create.filling( + Item.of('tfc:ceramic/javelin_head_mold', getFluidTankAsNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/javelin_head_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_javelin_head_mold`) + } + } + + const processToolChisel = (headTagPrefix, tfcProperty, material, outputMaterial) => { + const chiselItem = Item.of(`tfc:metal/chisel/${material.getName()}`) + if (chiselItem.isEmpty()) return + + // Декрафт инструмента в жидкость + e.recipes.tfc.heating(chiselItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_chisel`) + + const chiselHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (chiselHeadItem.isEmpty()) return + + // Декрафт оголовья в жидкость + e.recipes.tfc.heating(chiselHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_chisel_head`) + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + e.recipes.tfc.casting(chiselHeadItem, 'tfc:ceramic/chisel_head_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + .id(`tfc:casting/${material.getName()}_chisel_head`) + + e.recipes.create.filling( + Item.of('tfc:ceramic/chisel_head_mold', getFluidTankAsNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/chisel_head_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_chisel_head_mold`) + } + } + + const processToolMace = (headTagPrefix, tfcProperty, material, outputMaterial) => { + const maceItem = Item.of(`tfc:metal/mace/${material.getName()}`) + if (maceItem.isEmpty()) return + + // Декрафт инструмента в жидкость + e.recipes.tfc.heating(maceItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_mace`) + + const maceHeadItem = ChemicalHelper.get(headTagPrefix, material, 1) + if (maceHeadItem.isEmpty()) return + + // Металл + Форма -> Оголовье + if (material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) { + e.recipes.tfc.casting(maceHeadItem, 'tfc:ceramic/mace_head_mold', Fluid.of(outputMaterial.getFluid(), 288), 1) + .id(`tfc:casting/${material.getName()}_mace_head`) + + e.recipes.create.filling( + Item.of('tfc:ceramic/mace_head_mold', getFluidTankAsNBT(outputMaterial, 288)), + [ + Fluid.of(outputMaterial.getFluid(), 288), + Item.of('tfc:ceramic/mace_head_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_mace_head`) + + } + + // Декрафт оголовья в жидкость + e.recipes.tfc.heating(maceHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_mace_head`) + } + + const processToolShield = (tfcProperty, material, outputMaterial) => { + const shieldItem = Item.of(`tfc:metal/shield/${material.getName()}`) + if (shieldItem.isEmpty()) return + + // Декрафт щита в жидкость + e.recipes.tfc.heating(shieldItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_shield`) + + const plateDoubleItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) + if (plateDoubleItem.isEmpty()) return + + // Щит + e.recipes.tfc.anvil(shieldItem, plateDoubleItem, ['upset_last', 'bend_second_last', 'bend_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_shield`) + } + + const processToolFishingRod = (tfcProperty, material, outputMaterial) => { + const fishingRodItem = Item.of(`tfc:metal/fishing_rod/${material.getName()}`) + if (fishingRodItem.isEmpty()) return + + const fishingRodHeadItem = Item.of(`tfc:metal/fish_hook/${material.getName()}`) + if (fishingRodHeadItem.isEmpty()) return + + // Декрафт оголовья в жидкость + e.recipes.tfc.heating(fishingRodHeadItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_fish_hook`) + + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) + if (plateItem.isEmpty()) return + + // Крюк удочки + e.recipes.tfc.anvil(fishingRodHeadItem, plateItem, ['draw_not_last', 'bend_any', 'hit_any']) + .tier(tfcProperty.getTier()) + .bonus(true) + .id(`tfc:anvil/${material.getName()}_fish_hook`) + + // Декрафт инструмента в жидкость + e.recipes.tfc.heating(fishingRodItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_fishing_rod`) + } + + const processTuyere = (tfcProperty, material, outputMaterial) => { + const tuyereItem = Item.of(`tfc:metal/tuyere/${material.getName()}`) + if (tuyereItem.isEmpty()) return + + // Декрафт инструмента в жидкость + e.recipes.tfc.heating(tuyereItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_tuyere`) + + const plateDoubleItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) + if (plateDoubleItem.isEmpty()) return + + // Фурма + e.recipes.tfc.anvil(tuyereItem, plateDoubleItem, ['bend_last', 'bend_second_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_tuyere`) + } + + const processToolTongs = (tfcProperty, material, outputMaterial) => { + //todo: asd + // const tongsStack = Item.of(`tfchotornot:tongs/${material.getName()}`) + // const tongPartStack = Item.of(`tfchotornot:tong_part/${material.getName()}`) + + // if (tongsStack.isEmpty() && tongPartStack.isEmpty()) return + + // // Ручка щипцов + // e.recipes.tfc.heating(tongPartStack, tfcProperty.getMeltTemp()) + // .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + // .id(`tfchotornot:heating/tong_part/${material.getName()}`) + + // // Щипцы + // e.recipes.tfc.heating(tongsStack, tfcProperty.getMeltTemp()) + // .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + // .useDurability(true) + // .id(`tfchotornot:heating/tongs/${material.getName()}`) + } + + const processTFCArmor = (tfcProperty, material, outputMaterial) => { + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) + if (plateItem.isEmpty()) return + + const plateDoubleItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) + if (plateDoubleItem.isEmpty()) return + + //#region Шлем + + // Декрафт незавершенного шлема в жидкость + e.recipes.tfc.heating(`tfc:metal/unfinished_helmet/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_unfinished_helmet`) + + // Незавершенный шлем + e.recipes.tfc.anvil(`tfc:metal/unfinished_helmet/${material.getName()}`, plateDoubleItem, ['hit_last', 'bend_second_last', 'bend_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_unfinished_helmet`) + + // Декрафт шлема в жидкость + e.recipes.tfc.heating(`tfc:metal/helmet/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 432)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_helmet`) + + // Шлем + e.recipes.tfc.welding(`tfc:metal/helmet/${material.getName()}`, `tfc:metal/unfinished_helmet/${material.getName()}`, plateItem) + .tier(tfcProperty.getTier()) + .id(`tfc:welding/${material.getName()}_helmet`) + + //#endregion + + //#region Нагрудник + + // Декрафт незавершенного нагрудника в жидкость + e.recipes.tfc.heating(`tfc:metal/unfinished_chestplate/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_unfinished_chestplate`) + + // Незавершенный нагрудник + e.recipes.tfc.anvil(`tfc:metal/unfinished_chestplate/${material.getName()}`, plateDoubleItem, ['hit_last', 'hit_second_last', 'upset_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_unfinished_chestplate`) + + // Декрафт нагрудника в жидкость + e.recipes.tfc.heating(`tfc:metal/chestplate/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 576)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_chestplate`) + + // Нагрудник + e.recipes.tfc.welding(`tfc:metal/chestplate/${material.getName()}`, `tfc:metal/unfinished_chestplate/${material.getName()}`, plateDoubleItem) + .tier(tfcProperty.getTier()) + .id(`tfc:welding/${material.getName()}_chestplate`) + + //#endregion + + //#region Поножи + + // Декрафт незавершенных поножей в жидкость + e.recipes.tfc.heating(`tfc:metal/unfinished_greaves/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .id(`tfc:heating/metal/${material.getName()}_unfinished_greaves`) + + // Незавершенные поножи + e.recipes.tfc.anvil(`tfc:metal/unfinished_greaves/${material.getName()}`, plateDoubleItem, ['bend_any', 'draw_any', 'hit_any']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_unfinished_greaves`) + + // Декрафт поножей в жидкость + e.recipes.tfc.heating(`tfc:metal/greaves/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 432)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_greaves`) + + // Поножи + e.recipes.tfc.welding(`tfc:metal/greaves/${material.getName()}`, `tfc:metal/unfinished_greaves/${material.getName()}`, plateItem) + .tier(tfcProperty.getTier()) + .id(`tfc:welding/${material.getName()}_greaves`) + + //#endregion + + //#region Ботинки + + // Декрафт незавершенных ботинок в жидкость + e.recipes.tfc.heating(`tfc:metal/unfinished_boots/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_unfinished_boots`) + + // Незавершенные ботинки + e.recipes.tfc.anvil(`tfc:metal/unfinished_boots/${material.getName()}`, plateItem, ['bend_last', 'bend_second_last', 'shrink_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_unfinished_boots`) + + // Декрафт ботинок в жидкость + e.recipes.tfc.heating(`tfc:metal/boots/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 288)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_boots`) + + // Ботинки + e.recipes.tfc.welding(`tfc:metal/boots/${material.getName()}`, `tfc:metal/unfinished_boots/${material.getName()}`, plateItem) + .tier(tfcProperty.getTier()) + .id(`tfc:welding/${material.getName()}_boots`) + + //#endregion + + //#region Конская броня + + // Декрафт конской брони в жидкость + e.recipes.tfc.heating(`tfc:metal/horse_armor/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 864)) + .useDurability(true) + .id(`tfc:heating/metal/${material.getName()}_horse_armor`) + + //#endregion + } + + const processTFCMetalBlocks = (tagPrefix, tfcProperty, material, outputMaterial) => { + const platedBlock = ChemicalHelper.get(tagPrefix, material, 1) + if (platedBlock.isEmpty()) return + + // Декрафт + e.recipes.tfc.heating(platedBlock, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 72)) + .id(`tfc:heating/metal/${material.getName()}_block`) + + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) + if (plateItem.isEmpty()) return + + // Крафт в ассемблере + e.recipes.gtceu.assembler(`tfg:${material.getName()}_plated_block`) + .itemInputs(plateItem.copyWithCount(4), '#minecraft:planks') + .itemOutputs(platedBlock) + .duration(300) + .EUt(8) + } + + const processTFCMetalStairs = (tagPrefix, tfcProperty, material, outputMaterial) => { + const platedStairBlock = ChemicalHelper.get(tagPrefix, material, 1) + if (platedStairBlock.isEmpty()) return + + // Удаление рецепта через верстак + e.remove({ id: `tfc:crafting/metal/block/${material.getName()}_stairs`}) + + // Декрафт + e.recipes.tfc.heating(platedStairBlock, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 54)) + .id(`tfc:heating/metal/${material.getName()}_block_stairs`) + + const platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1) + if (platedBlock.isEmpty()) return + + // Крафт в каттере + e.recipes.gtceu.cutter(`tfg:${material.getName()}_block_stairs`) + .itemInputs(platedBlock.copyWithCount(3)) + .itemOutputs(platedStairBlock) + .duration(300) + .EUt(8) + } + + const processTFCMetalSlabs = (tagPrefix, tfcProperty, material, outputMaterial) => { + const platedSlabBlock = ChemicalHelper.get(tagPrefix, material, 1) + if (platedSlabBlock.isEmpty()) return + + // Удаление рецепта через верстак + e.remove({ id: `tfc:crafting/metal/block/${material.getName()}_slab`}) + + // Декрафт + e.recipes.tfc.heating(platedSlabBlock, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 36)) + .id(`tfc:heating/metal/${material.getName()}_block_slab`) + + const platedBlock = ChemicalHelper.get(TFGTagPrefix.blockPlated, material, 1) + if (platedBlock.isEmpty()) return + + // Крафт в каттере + e.recipes.gtceu.cutter(`tfg:${material.getName()}_block_slab`) + .itemInputs(platedBlock) + .itemOutputs(platedSlabBlock.copyWithCount(2)) + .duration(300) + .EUt(8) + } + + const processAnvils = (tagPrefix, tfcProperty, material, outputMaterial) => { + const anvilItem = ChemicalHelper.get(tagPrefix, material, 1) + if (anvilItem.isEmpty()) return + + // Декрафт наковальни в жидкость + e.recipes.tfc.heating(anvilItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 2016)) + .id(`tfc:heating/metal/${material.getName()}_anvil`) + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, outputMaterial, 1) + if (ingotItem.isEmpty()) return + + // Крафт в смелтере + e.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_anvil_from_ingots`) + .itemInputs(ingotItem.copyWithCount(14)) + .notConsumable('tfg:anvil_casting_mold') + .itemOutputs(anvilItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 6) + + // Крафт в солидифаере + e.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_anvil_from_fluid`) + .inputFluids(Fluid.of(outputMaterial.getFluid(), 2016)) + .notConsumable('tfg:anvil_casting_mold') + .itemOutputs(anvilItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 6) + } + + const processUnfinishedLamp = (tagPrefix, tfcProperty, material, outputMaterial) => { + const lampUnfinishedItem = ChemicalHelper.get(tagPrefix, material, 1) + if (lampUnfinishedItem.isEmpty()) return + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Декрафт незавершенной лампы в жидкость + e.recipes.tfc.heating(lampUnfinishedItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_unfinished_lamp`) + + // Крафт в смелтере + e.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_unfinished_lamp_from_ingots`) + .itemInputs(ingotItem) + .notConsumable('tfg:lamp_casting_mold') + .itemOutputs(lampUnfinishedItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) + + // Крафт в солидифаере + e.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_unfinished_lamp_from_fluid`) + .inputFluids(Fluid.of(outputMaterial.getFluid(), 144)) + .notConsumable('tfg:lamp_casting_mold') + .itemOutputs(lampUnfinishedItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) + } + + const processLamps = (tagPrefix, tfcProperty, material, outputMaterial) => { + const lampItem = ChemicalHelper.get(tagPrefix, material, 1) + if (lampItem.isEmpty()) return + + // Декрафт лампы в жидкость + e.recipes.tfc.heating(lampItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_lamp`) + + const lampUnfinishedItem = ChemicalHelper.get(TFGTagPrefix.lampUnfinished, material, 1) + if (lampUnfinishedItem.isEmpty()) return + + // Рецепт ассемблер + e.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_lamp`) + .itemInputs(lampUnfinishedItem, 'tfc:lamp_glass') + .circuit(12) + .itemOutputs(lampItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 7) + + e.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_lamp_from_liquid`) + .itemInputs(lampUnfinishedItem) + .inputFluids(GTMaterials.Glass.getFluid(576)) + .circuit(13) + .itemOutputs(lampItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 6) + } + + const processTrapdoors = (tagPrefix, tfcProperty, material, outputMaterial) => { + const trapdoorItem = ChemicalHelper.get(tagPrefix, material, 1) + if (trapdoorItem.isEmpty()) return + + // Декрафт люка в жидкость + e.recipes.tfc.heating(trapdoorItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/metal/${material.getName()}_trapdoor`) + + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) + if (plateItem.isEmpty()) return + + // Люк + e.recipes.tfc.anvil(trapdoorItem, plateItem, ['bend_last', 'draw_second_last', 'draw_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_trapdoor`) + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт в смелтере + e.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_trapdoor_from_ingots`) + .itemInputs(ingotItem) + .notConsumable('tfg:trapdoor_casting_mold') + .itemOutputs(trapdoorItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 5) + + // Крафт в солидифаере + e.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_trapdoor_from_fluid`) + .inputFluids(Fluid.of(outputMaterial.getFluid(), 144)) + .notConsumable('tfg:trapdoor_casting_mold') + .itemOutputs(trapdoorItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 5) + } + + const processChains = (tagPrefix, tfcProperty, material, outputMaterial) => { + const chainItem = ChemicalHelper.get(tagPrefix, material, 1) + if (chainItem.isEmpty()) return + + // Декрафт цепи в жидкость + e.recipes.tfc.heating(`tfc:metal/chain/${material.getName()}`, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 9)) + .id(`tfc:heating/metal/${material.getName()}_chain`) + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт в смелтере + e.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_chain_from_ingots`) + .itemInputs(ingotItem) + .notConsumable('tfg:chain_casting_mold') + .itemOutputs(chainItem.copyWithCount(9)) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) + + // Крафт в солидифаере + e.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_chain_from_fluid`) + .inputFluids(Fluid.of(outputMaterial.getFluid(), 144)) + .notConsumable('tfg:chain_casting_mold') + .itemOutputs(chainItem.copyWithCount(9)) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 2) + } + + const processBars = (tagPrefix, tfcProperty, material, outputMaterial) => { + const barsItem = ChemicalHelper.get(tagPrefix, material, 1) + if (barsItem.isEmpty()) return + + // Декрафт решетки в жидкость + e.recipes.tfc.heating(barsItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 18)) + .id(`tfc:heating/metal/${material.getName()}_bars`) + + const plateItem = ChemicalHelper.get(TagPrefix.plate, material, 1) + if (plateItem.isEmpty()) return + + // 8x Решетка + e.recipes.tfc.anvil(barsItem.copyWithCount(8), plateItem, ['upset_last', 'punch_second_last', 'punch_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_bars`) + + const plateDoubleItem = ChemicalHelper.get(TagPrefix.plateDouble, material, 1) + if (plateDoubleItem.isEmpty()) return + + // 16x Решетка + e.recipes.tfc.anvil(barsItem.copyWithCount(16), plateDoubleItem, ['upset_last', 'punch_second_last', 'punch_third_last']) + .tier(tfcProperty.getTier()) + .id(`tfc:anvil/${material.getName()}_bars_double`) + + const rodtItem = ChemicalHelper.get(TagPrefix.rod, material, 1) + if (rodtItem.isEmpty()) return + + // Крафт в ассемблере + e.recipes.gtceu.assembler(`tfg:${material.getName()}_bars_from_rods`) + .itemInputs(rodtItem.withCount(3)) + .circuit(3) + .itemOutputs(barsItem.copyWithCount(4)) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 8) + } + + const processBell = (tagPrefix, tfcProperty, material, outputMaterial) => { + if (!material.hasFlag(TFGMaterialFlags.GENERATE_BELL)) return + + const bellItem = ChemicalHelper.get(tagPrefix, material, 1) + + e.recipes.tfc.casting(bellItem, 'tfc:ceramic/bell_mold', Fluid.of(outputMaterial.getFluid(), 144), 1) + .id(`tfc:casting/${material.getName()}_bell`) + + e.recipes.tfc.heating(bellItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 144)) + .id(`tfc:heating/${material.getName()}_bell`) + + e.recipes.create.filling( + Item.of('tfc:ceramic/bell_mold', getFluidTankAsNBT(outputMaterial, 144)), + [ + Fluid.of(outputMaterial.getFluid(), 144), + Item.of('tfc:ceramic/bell_mold').strongNBT() + ] + ).id(`tfg:tfc/filling/${material.getName()}_bell_mold`) + + const ingotItem = ChemicalHelper.get(TagPrefix.ingot, material, 1) + if (ingotItem.isEmpty()) return + + // Крафт в смелтере + e.recipes.gtceu.alloy_smelter(`tfg:${material.getName()}_bell_from_ingots`) + .itemInputs(ingotItem) + .notConsumable('tfg:bell_casting_mold') + .itemOutputs(bellItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 8) + + // Крафт в солидифаере + e.recipes.gtceu.fluid_solidifier(`tfg:${material.getName()}_bell_from_fluid`) + .inputFluids(Fluid.of(outputMaterial.getFluid(), 144)) + .notConsumable('tfg:bell_casting_mold') + .itemOutputs(bellItem) + .EUt(GTValues.VA[GTValues.ULV]).duration(material.getMass() * 8) + } + + const processTFCSmallOres = (tagPrefix, tfcProperty, material, outputMaterial) => { + if (!material.hasFlag(TFGMaterialFlags.HAS_SMALL_TFC_ORE)) return + + const oreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (oreItem.isEmpty()) return + + // Декрафт мелкого кусочка в жидкость + e.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) + .id(`tfc:heating/ore/small_${material.getName()}`) + } + + const processTFCSmallNativeOres = (tagPrefix, tfcProperty, material, outputMaterial) => { + if (!material.hasFlag(TFGMaterialFlags.HAS_SMALL_NATIVE_TFC_ORE)) return + + const oreItem = ChemicalHelper.get(tagPrefix, material, 1) + if (oreItem.isEmpty()) return + + // Декрафт мелкого кусочка в жидкость + e.recipes.tfc.heating(oreItem, tfcProperty.getMeltTemp()) + .resultFluid(Fluid.of(outputMaterial.getFluid(), 16)) + .id(`tfc:heating/ore/small_native_${material.getName()}`) + } + + GTMaterialRegistry.getRegisteredMaterials().forEach(material => { + const tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY) + const outputMaterial = (tfcProperty == null) ? material : (tfcProperty.getOutputMaterial() == null ? material : tfcProperty.getOutputMaterial()) + + processRichRawOre(TFGTagPrefix.richRawOre, tfcProperty, material, outputMaterial) + processNormalRawore(TagPrefix.rawOre, tfcProperty, material, outputMaterial) + processPoorRawOre(TFGTagPrefix.poorRawOre, tfcProperty, material, outputMaterial) + + if (tfcProperty != null) { + // 1. Префикс ассоциируемый с текущим предметом. + // 2. Проперти ТФК с нагревом металла и другими полезными проперти. + // 3. Материал из которого состоит объект. + // 4. Материал в который объект должен быть преобразован после разборки. + + processNuggets(TagPrefix.nugget, tfcProperty, material, outputMaterial) + processIngot(TagPrefix.ingot, tfcProperty, material, outputMaterial) + processDoubleIngot(TFGTagPrefix.ingotDouble, tfcProperty, material, outputMaterial) + processPlate(TagPrefix.plate, tfcProperty, material, outputMaterial) + processDoublePlate(TagPrefix.plateDouble, tfcProperty, material, outputMaterial) + processRods(TagPrefix.rod, tfcProperty, material, outputMaterial) + processLongRods(TagPrefix.rodLong, tfcProperty, material, outputMaterial) + processBolts(TagPrefix.bolt, tfcProperty, material, outputMaterial) + processScrews(TagPrefix.screw, tfcProperty, material, outputMaterial) + processRings(TagPrefix.ring, tfcProperty, material, outputMaterial) + processBlock(TagPrefix.block, tfcProperty, material, outputMaterial) + processTinyDust(TagPrefix.dustTiny, tfcProperty, material, outputMaterial) + processSmallDust(TagPrefix.dustSmall, tfcProperty, material, outputMaterial) + processDust(TagPrefix.dust, tfcProperty, material, outputMaterial) + processImpureDust(TagPrefix.dustImpure, tfcProperty, material, outputMaterial) + processPurifiedDust(TagPrefix.dustPure, tfcProperty, material, outputMaterial) + processCrushedOre(TagPrefix.crushed, tfcProperty, material, outputMaterial) + processCrushedPurifiedOre(TagPrefix.crushedPurified, tfcProperty, material, outputMaterial) + processCrushedRefinedOre(TagPrefix.crushedRefined, tfcProperty, material, outputMaterial) + + // 1. Тип инструмента + // 2. Префикс ассоциируемый с текущим предметом. + // 3. Проперти ТФК с нагревом металла и другими полезными проперти. + // 4. Материал из которого состоит объект. + // 5. Материал в который объект должен быть преобразован после разборки. + + if (material.hasFlag(TFGMaterialFlags.HAS_TFC_TOOL)) { + processToolSword(GTToolType.SWORD, TFGTagPrefix.toolHeadSword, tfcProperty, material, outputMaterial) + processToolPickaxe(GTToolType.PICKAXE, TFGTagPrefix.toolHeadPickaxe, tfcProperty, material, outputMaterial) + processToolAxe(GTToolType.AXE, TFGTagPrefix.toolHeadAxe, tfcProperty, material, outputMaterial) + processToolShovel(GTToolType.SHOVEL, TFGTagPrefix.toolHeadShovel, tfcProperty, material, outputMaterial) + processToolHoe(GTToolType.HOE, TFGTagPrefix.toolHeadHoe, tfcProperty, material, outputMaterial) + processToolKnife(GTToolType.KNIFE, TFGTagPrefix.toolHeadKnife, tfcProperty, material, outputMaterial) + processToolMiningHammer(GTToolType.MINING_HAMMER, TFGTagPrefix.toolHeadMiningHammer, tfcProperty, material, outputMaterial) + processToolScythe(GTToolType.SCYTHE, TFGTagPrefix.toolHeadScythe, tfcProperty, material, outputMaterial) // because sense dont make sense + processToolFile(GTToolType.FILE, TFGTagPrefix.toolHeadFile, tfcProperty, material, outputMaterial) + processToolHammer(GTToolType.HARD_HAMMER, TFGTagPrefix.toolHeadHammer, tfcProperty, material, outputMaterial) + processToolSaw(GTToolType.SAW, TFGTagPrefix.toolHeadSaw, tfcProperty, material, outputMaterial) + processToolButcheryKnife(GTToolType.BUTCHERY_KNIFE, TFGTagPrefix.toolHeadButcheryKnife, tfcProperty, material, outputMaterial) + processToolSpade(GTToolType.SPADE, TFGTagPrefix.toolHeadSpade, tfcProperty, material, outputMaterial) + + processToolPropick(TFGTagPrefix.toolHeadPropick, tfcProperty, material, outputMaterial) + processToolJavelin(TFGTagPrefix.toolHeadJavelin, tfcProperty, material, outputMaterial) + processToolChisel(TFGTagPrefix.toolHeadChisel, tfcProperty, material, outputMaterial) + processToolMace(TFGTagPrefix.toolHeadMace, tfcProperty, material, outputMaterial) + + processToolShield(tfcProperty, material, outputMaterial) + processToolFishingRod(tfcProperty, material, outputMaterial) + processTuyere(tfcProperty, material, outputMaterial) + processToolTongs(tfcProperty, material, outputMaterial) + } + + if (material.hasFlag(TFGMaterialFlags.HAS_TFC_ARMOR)) { + processTFCArmor(tfcProperty, material, outputMaterial) + } + + processTFCMetalBlocks(TFGTagPrefix.blockPlated, tfcProperty, material, outputMaterial) + processTFCMetalStairs(TFGTagPrefix.stairPlated, tfcProperty, material, outputMaterial) + processTFCMetalSlabs(TFGTagPrefix.slabPlated, tfcProperty, material, outputMaterial) + + processAnvils(TFGTagPrefix.anvil, tfcProperty, material, outputMaterial) + processUnfinishedLamp(TFGTagPrefix.lampUnfinished, tfcProperty, material, outputMaterial) + processLamps(TFGTagPrefix.lamp, tfcProperty, material, outputMaterial) + processTrapdoors(TFGTagPrefix.trapdoor, tfcProperty, material, outputMaterial) + processChains(TFGTagPrefix.chain, tfcProperty, material, outputMaterial) + processBars(TFGTagPrefix.bars, tfcProperty, material, outputMaterial) + processBell(TFGTagPrefix.bell, tfcProperty, material, outputMaterial) + + processTFCSmallOres(TFGTagPrefix.oreSmall, tfcProperty, material, outputMaterial) + processTFCSmallNativeOres(TFGTagPrefix.oreSmallNative, tfcProperty, material, outputMaterial) + } }) + //#endregion + //#region Новые сплавы - //#region Рецепты для новых сплавов - - event.recipes.tfc.alloy('tfg:red_alloy', [ - TFC.alloyPart('tfg:redstone', 0.15, 0.25), - TFC.alloyPart('tfc:copper', 0.75, 0.85) + //#region Сплав красного камня + e.recipes.tfc.alloy('tfg:red_alloy', [ + TFC.alloyPart('tfg:redstone', 0.23, 0.27), + TFC.alloyPart('tfc:copper', 0.73, 0.77) ]).id('tfg:alloy/red_alloy') + //#endregion - event.recipes.tfc.alloy('tfg:tin_alloy', [ + //#region Сплав олова + e.recipes.tfc.alloy('tfg:tin_alloy', [ TFC.alloyPart('tfc:tin', 0.45, 0.55), TFC.alloyPart('tfc:cast_iron', 0.45, 0.55) ]).id('tfg:alloy/tin_alloy') + //#endregion //#endregion - //#region Удаление рецептов для предметов из Cast Iron + //#region Удаление рецептов для предметов из CastIron // Блок - event.remove({ id: `tfc:crafting/metal/block/cast_iron` }) - event.remove({ id: `tfc:heating/metal/cast_iron_block` }) + e.remove({ id: `tfc:crafting/metal/block/cast_iron` }) + e.remove({ id: `tfc:heating/metal/cast_iron_block` }) // Ступень - event.remove({ id: `tfc:crafting/metal/block/cast_iron_stairs` }) - event.remove({ id: `tfc:heating/metal/cast_iron_block_stairs` }) + e.remove({ id: `tfc:crafting/metal/block/cast_iron_stairs` }) + e.remove({ id: `tfc:heating/metal/cast_iron_block_stairs` }) // Полублок - event.remove({ id: `tfc:crafting/metal/block/cast_iron_slab` }) - event.remove({ id: `tfc:heating/metal/cast_iron_block_slab` }) + e.remove({ id: `tfc:crafting/metal/block/cast_iron_slab` }) + e.remove({ id: `tfc:heating/metal/cast_iron_block_slab` }) // Слиток - event.remove({ id: `tfc:casting/cast_iron_ingot` }) - event.remove({ id: `tfc:casting/cast_iron_fire_ingot` }) - event.remove({ id: `tfc:heating/metal/cast_iron_ingot` }) - event.remove({ id: `tfc:welding/cast_iron_double_ingot` }) - event.remove({ id: `tfc:anvil/cast_iron_rod` }) + e.remove({ id: `tfc:casting/cast_iron_ingot` }) + e.remove({ id: `tfc:casting/cast_iron_fire_ingot` }) + e.remove({ id: `tfc:heating/metal/cast_iron_ingot` }) + e.remove({ id: `tfc:welding/cast_iron_double_ingot` }) + e.remove({ id: `tfc:anvil/cast_iron_rod` }) // Двойной слиток - event.remove({ id: `tfc:heating/metal/cast_iron_double_ingot` }) - event.remove({ id: `tfc:anvil/cast_iron_sheet` }) + e.remove({ id: `tfc:heating/metal/cast_iron_double_ingot` }) + e.remove({ id: `tfc:anvil/cast_iron_sheet` }) // Пластина - event.remove({ id: `tfc:heating/metal/cast_iron_sheet` }) - event.remove({ id: `tfc:welding/cast_iron_double_sheet` }) + e.remove({ id: `tfc:heating/metal/cast_iron_sheet` }) + e.remove({ id: `tfc:welding/cast_iron_double_sheet` }) // Двойная пластина - event.remove({ id: `tfc:heating/metal/cast_iron_double_sheet` }) + e.remove({ id: `tfc:heating/metal/cast_iron_double_sheet` }) // Стержень - event.remove({ id: `tfc:heating/metal/cast_iron_rod` }) + e.remove({ id: `tfc:heating/metal/cast_iron_rod` }) // Блок - event.remove({ id: `tfc:crafting/metal/block/cast_iron` }) - event.remove({ id: `tfc:heating/metal/cast_iron_block` }) + e.remove({ id: `tfc:crafting/metal/block/cast_iron` }) + e.remove({ id: `tfc:heating/metal/cast_iron_block` }) // Ступенька - event.remove({ id: `tfc:crafting/metal/block/cast_iron_stairs` }) - event.remove({ id: `tfc:heating/metal/cast_iron_block_stairs` }) + e.remove({ id: `tfc:crafting/metal/block/cast_iron_stairs` }) + e.remove({ id: `tfc:heating/metal/cast_iron_block_stairs` }) // Полублок - event.remove({ id: `tfc:crafting/metal/block/cast_iron_slab` }) - event.remove({ id: `tfc:heating/metal/cast_iron_block_slab` }) + e.remove({ id: `tfc:crafting/metal/block/cast_iron_slab` }) + e.remove({ id: `tfc:heating/metal/cast_iron_block_slab` }) - - //#endregion - - //#region Фикс рецептов колоколов - - //#region Из золота - - event.recipes.tfc.casting(`minecraft:bell`, 'tfc:ceramic/bell_mold', Fluid.of('gtceu:gold', 144), 1) - .id(`tfc:casting/gold_bell`) - - event.recipes.tfc.heating(`minecraft:bell`, 1060) - .resultFluid(Fluid.of('gtceu:gold', 144)) - .id(`tfc:heating/gold_bell`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/bell_mold', getFillingNBT(GTMaterials.Gold, 144)), - [ - Fluid.of(GTMaterials.Gold.getFluid(), 144), - Item.of('tfc:ceramic/bell_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${GTMaterials.Gold.getName()}_bell_mold`) - - //#endregion - - //#region Из латуни - - event.recipes.tfc.casting(`tfc:brass_bell`, 'tfc:ceramic/bell_mold', Fluid.of('gtceu:brass', 144), 1) - .id(`tfc:casting/brass_bell`) - - event.recipes.tfc.heating(`tfc:brass_bell`, 930) - .resultFluid(Fluid.of('gtceu:brass', 144)) - .id(`tfc:heating/brass_bell`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/bell_mold', getFillingNBT(GTMaterials.Brass, 144)), - [ - Fluid.of(GTMaterials.Brass.getFluid(), 144), - Item.of('tfc:ceramic/bell_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${GTMaterials.Brass.getName()}_bell_mold`) - - //#endregion - - //#region Из бронзы - - event.recipes.tfc.casting(`tfc:bronze_bell`, 'tfc:ceramic/bell_mold', Fluid.of('gtceu:bronze', 144), 1) - .id(`tfc:casting/bronze_bell`) - - event.recipes.tfc.heating(`tfc:bronze_bell`, 930) - .resultFluid(Fluid.of('gtceu:bronze', 144)) - .id(`tfc:heating/bronze_bell`) - - event.recipes.create.filling( - Item.of('tfc:ceramic/bell_mold', getFillingNBT(GTMaterials.Bronze, 144)), - [ - Fluid.of(GTMaterials.Bronze.getFluid(), 144), - Item.of('tfc:ceramic/bell_mold').strongNBT() - ] - ).id(`tfg:tfc/filling/${GTMaterials.Bronze.getName()}_bell_mold`) - - //#endregion - //#endregion //#region Рецепты ковки TFC слитков в GT машинах - // Сырая крица -> Укрепленная крица - event.recipes.gtceu.forge_hammer('tfg/refined_bloom') + //#region Сырая крица -> Укрепленная крица + e.recipes.gtceu.forge_hammer('tfg/refined_bloom') .itemInputs('tfc:raw_iron_bloom') .itemOutputs('tfc:refined_iron_bloom') .duration(1000) .EUt(4) - // Укрепленная крица -> Слиток кованного железа - event.recipes.gtceu.forge_hammer('tfg/wrought_iron_ingot') + //todo: create + + //#endregion + + //#region Укрепленная крица -> Слиток кованного железа + e.recipes.gtceu.forge_hammer('tfg/wrought_iron_ingot') .itemInputs('tfc:refined_iron_bloom') .itemOutputs('gtceu:wrought_iron_ingot') .duration(1000) .EUt(4) - // Чугун -> Высокоуглеродная сталь - event.recipes.gtceu.forge_hammer('tfg/high_carbon_steel') + //todo: create + + //#endregion + + //#region Чугун -> Высокоуглеродная сталь + e.recipes.gtceu.forge_hammer('tfg/high_carbon_steel') .itemInputs('tfc:metal/ingot/pig_iron') .itemOutputs('tfc:metal/ingot/high_carbon_steel') .duration(1000) .EUt(4) - // Высокоуглеродная сталь -> Cталь - event.recipes.gtceu.forge_hammer('tfg/steel') + //todo: create + + //#endregion + + //#region Высокоуглеродная сталь -> Cталь + e.recipes.gtceu.forge_hammer('tfg/steel') .itemInputs('tfc:metal/ingot/high_carbon_steel') .itemOutputs('gtceu:steel_ingot') .duration(1000) .EUt(4) - // Высокоуглеродная черная сталь -> черная сталь - event.recipes.gtceu.forge_hammer('tfg/black_steel') + //todo: create + + //#endregion + + //#region Высокоуглеродная черная сталь -> черная сталь + e.recipes.gtceu.forge_hammer('tfg/black_steel') .itemInputs('tfc:metal/ingot/high_carbon_black_steel') .itemOutputs('gtceu:black_steel_ingot') .duration(1000) .EUt(4) - // Высокоуглеродная синяя сталь -> синяя сталь - event.recipes.gtceu.forge_hammer('tfg/blue_steel') + //todo: create + + //#endregion + + //#region Высокоуглеродная синяя сталь -> синяя сталь + e.recipes.gtceu.forge_hammer('tfg/blue_steel') .itemInputs('tfc:metal/ingot/high_carbon_blue_steel') .itemOutputs('gtceu:blue_steel_ingot') .duration(1000) .EUt(4) - // Высокоуглеродная красная сталь -> красная сталь - event.recipes.gtceu.forge_hammer('tfg/red_steel') + //todo: create + + //#endregion + + //#region Высокоуглеродная красная сталь -> красная сталь + e.recipes.gtceu.forge_hammer('tfg/red_steel') .itemInputs('tfc:metal/ingot/high_carbon_red_steel') .itemOutputs('gtceu:red_steel_ingot') .duration(1000) .EUt(4) - // Слабая сталь + Чугун -> Высокоуглеродная черная сталь - event.recipes.gtceu.alloy_smelter('tfg/high_carbon_black_steel') + //todo: create + + //#endregion + + //#region Слабая сталь + Чугун -> Высокоуглеродная черная сталь + e.recipes.gtceu.alloy_smelter('tfg/high_carbon_black_steel') .itemInputs('tfc:metal/ingot/weak_steel', 'tfc:metal/ingot/pig_iron') .itemOutputs('tfc:metal/ingot/high_carbon_black_steel') .duration(1600) .EUt(4) - // Слабая синяя сталь + Черная сталь -> Высокоуглеродная синяя сталь - event.recipes.gtceu.alloy_smelter('tfg/high_carbon_blue_steel') + //todo: create + + //#endregion + + + //#region Слабая синяя сталь + Черная сталь -> Высокоуглеродная синяя сталь + e.recipes.gtceu.alloy_smelter('tfg/high_carbon_blue_steel') .itemInputs('tfc:metal/ingot/weak_blue_steel', 'gtceu:black_steel_ingot') .itemOutputs('tfc:metal/ingot/high_carbon_blue_steel') .duration(1600) .EUt(4) - // Слабая красная сталь + Черная сталь -> Высокоуглеродная красная сталь - event.recipes.gtceu.alloy_smelter('tfg/high_carbon_red_steel') + //todo: create + + //#endregion + + + //#region Слабая красная сталь + Черная сталь -> Высокоуглеродная красная сталь + e.recipes.gtceu.alloy_smelter('tfg/high_carbon_red_steel') .itemInputs('tfc:metal/ingot/weak_red_steel', 'gtceu:black_steel_ingot') .itemOutputs('tfc:metal/ingot/high_carbon_red_steel') .duration(1600) .EUt(4) + //todo: create + //#endregion + //#endregion + //#region Фикс рецептов металлических предметов // Рецепт Jacks - event.recipes.tfc.welding('tfc:jacks', '#forge:rods/brass', '#forge:plates/brass', 2) + e.recipes.tfc.welding('tfc:jacks', '#forge:rods/brass', '#forge:plates/brass', 2) .id(`tfc:welding/jacks`) // Декрафт Jacks - event.recipes.tfc.heating('tfc:jacks', 930) + e.recipes.tfc.heating('tfc:jacks', 930) .resultFluid(Fluid.of('gtceu:brass', 144)) .id(`tfc:heating/jacks`) // Декрафт Gem Saw - event.recipes.tfc.heating('tfc:gem_saw', 930) + e.recipes.tfc.heating('tfc:gem_saw', 930) .resultFluid(Fluid.of('gtceu:brass', 72)) .id(`tfc:heating/gem_saw`) // Декрафт сырой крицы в жидкость - event.recipes.tfc.heating(`tfc:raw_iron_bloom`, 1535) + e.recipes.tfc.heating(`tfc:raw_iron_bloom`, 1535) .resultFluid(Fluid.of('gtceu:iron', 144)) .id(`tfc:heating/raw_bloom`) // Декрафт укрепленной крицы в жидкость - event.recipes.tfc.heating(`tfc:refined_iron_bloom`, 1535) + e.recipes.tfc.heating(`tfc:refined_iron_bloom`, 1535) .resultFluid(Fluid.of('gtceu:iron', 144)) .id(`tfc:heating/refined_bloom`) // Гриль - event.recipes.tfc.heating('tfc:wrought_iron_grill', 1535) + e.recipes.tfc.heating('tfc:wrought_iron_grill', 1535) .resultFluid(Fluid.of('gtceu:iron', 288)) .id(`tfc:heating/grill`) // Ванильная дверь декрафт - event.recipes.tfc.heating('minecraft:iron_door', 1535) + e.recipes.tfc.heating('minecraft:iron_door', 1535) .resultFluid(Fluid.of('gtceu:iron', 144)) .id(`tfc:heating/iron_door`) // Ванильная дверь на наковальне - event.recipes.tfc.anvil('minecraft:iron_door', '#forge:plates/wrought_iron', ['hit_last', 'draw_not_last', 'punch_not_last']) + e.recipes.tfc.anvil('minecraft:iron_door', '#forge:plates/wrought_iron', ['hit_last', 'draw_not_last', 'punch_not_last']) .tier(3) .id(`tfc:anvil/iron_door`) // Bloom -> Wrought Iron Ingot - event.recipes.tfc.anvil('gtceu:wrought_iron_ingot', 'tfc:refined_iron_bloom', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(2) + e.recipes.tfc.anvil('gtceu:wrought_iron_ingot', 'tfc:refined_iron_bloom', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(2) .id('tfc:anvil/wrought_iron_from_bloom') // High Carbon Steel Ingot -> Steel Ingot - event.recipes.tfc.anvil('gtceu:steel_ingot', 'tfc:metal/ingot/high_carbon_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(3) + e.recipes.tfc.anvil('gtceu:steel_ingot', 'tfc:metal/ingot/high_carbon_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(3) .id('tfc:anvil/steel_ingot') // High Carbon Black Steel Ingot -> Black Steel Ingot - event.recipes.tfc.anvil('gtceu:black_steel_ingot', 'tfc:metal/ingot/high_carbon_black_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(4) + e.recipes.tfc.anvil('gtceu:black_steel_ingot', 'tfc:metal/ingot/high_carbon_black_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(4) .id('tfc:anvil/black_steel_ingot') // High Carbon Red Steel Ingot -> Red Steel Ingot - event.recipes.tfc.anvil('gtceu:red_steel_ingot', 'tfc:metal/ingot/high_carbon_red_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(5) + e.recipes.tfc.anvil('gtceu:red_steel_ingot', 'tfc:metal/ingot/high_carbon_red_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(5) .id('tfc:anvil/red_steel_ingot') // High Carbon Blue Steel Ingot -> Blue Steel Ingot - event.recipes.tfc.anvil('gtceu:blue_steel_ingot', 'tfc:metal/ingot/high_carbon_blue_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(5) + e.recipes.tfc.anvil('gtceu:blue_steel_ingot', 'tfc:metal/ingot/high_carbon_blue_steel', ['hit_last', 'hit_second_last', 'hit_third_last']).tier(5) .id('tfc:anvil/blue_steel_ingot') // Cast iron -> Raw Iron Bloom - event.recipes.tfc.bloomery('tfc:raw_iron_bloom', 'minecraft:charcoal', Fluid.of('gtceu:iron', 144), 15000) + e.recipes.tfc.bloomery('tfc:raw_iron_bloom', 'minecraft:charcoal', Fluid.of('gtceu:iron', 144), 15000) .id('tfc:bloomery/raw_iron_bloom') // Cast Iron -> Pig Iron - event.recipes.tfc.blast_furnace(Fluid.of('tfg:pig_iron', 1), '#tfc:flux', Fluid.of('gtceu:iron', 1)) + e.recipes.tfc.blast_furnace(Fluid.of('tfg:pig_iron', 1), '#tfc:flux', Fluid.of('gtceu:iron', 1)) .id('tfc:blast_furnace/pig_iron') //#endregion - //#endregion - - //#region Земля + //#region Земля и ее виды + e.recipes.gtceu.macerator('tfg:dirt_from_bio_chaff') + .itemInputs('gtceu:bio_chaff') + .itemOutputs('tfc:dirt/loam') + .duration(300) + .EUt(4) // Loam + Silt -> Silty Loam (Миксер) - event.recipes.gtceu.mixer('silty_loam_dirt') + e.recipes.gtceu.mixer('tfg:silty_loam_dirt') .itemInputs('tfc:dirt/loam', 'tfc:dirt/silt') .itemOutputs('tfc:dirt/silty_loam') .duration(1600) .EUt(12) // Silty Loam + Sticks -> Rooted Silty Loam (Миксер) - event.recipes.gtceu.mixer('rooted_silty_loam_dirt') - .itemInputs('tfc:dirt/silty_loam', '#tfc:can_be_lit_on_torch') + e.recipes.gtceu.mixer('tfg:rooted_silty_loam_dirt') + .itemInputs('tfc:dirt/silty_loam', '#forge:rods/wooden') .itemOutputs('tfc:rooted_dirt/silty_loam') .duration(1600) .EUt(12) // Loam + Sand -> Sandy Loam (Миксер) - event.recipes.gtceu.mixer('sandy_loam_dirt') + e.recipes.gtceu.mixer('tfg:sandy_loam_dirt') .itemInputs('tfc:dirt/loam', '#forge:sand') .itemOutputs('tfc:dirt/sandy_loam') .duration(1600) .EUt(12) - // Loam + Silt -> Silty Loam (Create Миксер) - event.recipes.gtceu.create_mixer('silty_loam_dirt') - .itemInputs('tfc:dirt/loam', 'tfc:dirt/silt') - .itemOutputs('tfc:dirt/silty_loam') - .duration(1600) - .EUt(12) - .rpm(60) - - // Silty Loam + Sticks -> Rooted Silty Loam (Create Миксер) - event.recipes.gtceu.create_mixer('rooted_silty_loam_dirt') - .itemInputs('tfc:dirt/silty_loam', '#tfc:can_be_lit_on_torch') - .itemOutputs('tfc:rooted_dirt/silty_loam') - .duration(1600) - .EUt(12) - .rpm(60) - - // Loam + Sand -> Sandy Loam (Create Миксер) - event.recipes.gtceu.create_mixer('sandy_loam_dirt') - .itemInputs('tfc:dirt/loam', '#forge:sand') - .itemOutputs('tfc:dirt/sandy_loam') - .duration(1600) - .EUt(12) - .rpm(60) - + // Грязь -> Трава global.TFC_MUD_TYPES.forEach(mud => { - event.smelting(`tfc:dirt/${mud}`, `tfc:mud/${mud}`) - .id(`tfg:smelting/${mud}_mud_to_grass`) + e.smelting(`tfc:dirt/${mud}`, `tfc:mud/${mud}`) + .id(`tfg:smelting/tfc/${mud}_mud_to_grass`) }) - //#endregion //#region Грязь - global.TFC_MUD_TYPES.forEach(mud => { // Dirt -> Mud - event.recipes.gtceu.mixer(`${mud}_grass_to_mud`) + e.recipes.gtceu.mixer(`tfg:${mud}_grass_to_mud`) .itemInputs(`tfc:dirt/${mud}`) .inputFluids(Fluid.of('minecraft:water', 100)) .itemOutputs(`tfc:mud/${mud}`) .duration(200) .EUt(16) }) - //#endregion //#region Грязь кирпичи - global.TFC_MUD_TYPES.forEach(mud => { - // Влажный кирпич -> Кирпич - event.smelting(`tfc:mud_brick/${mud}`, `tfc:drying_bricks/${mud}`) + e.smelting(`tfc:mud_brick/${mud}`, `tfc:drying_bricks/${mud}`) .id(`tfg:smelting/${mud}_drying_brick_to_brick`) - event.custom({ + e.custom({ type: "firmalife:drying", ingredient: { item: `tfc:drying_bricks/${mud}` @@ -1643,7 +1984,7 @@ const registerTFCRecipes = (event) => { }).id(`tfg:drying/${mud}_drying_brick_to_brick`) // Кирпич -> Блок кирпичей - event.shaped(`tfc:mud_bricks/${mud}`, [ + e.shaped(`tfc:mud_bricks/${mud}`, [ 'ABA', 'BAB', 'ABA' @@ -1652,43 +1993,105 @@ const registerTFCRecipes = (event) => { B: '#tfc:mortar' }).id(`tfc:crafting/soil/${mud}_mud_bricks`) - event.recipes.gtceu.assembler(`mud_bricks_${mud}`) + e.recipes.gtceu.assembler(`mud_bricks_${mud}`) .itemInputs(`5x tfc:mud_brick/${mud}`) .inputFluids(Fluid.of('gtceu:concrete', 72)) .itemOutputs(`4x tfc:mud_bricks/${mud}`) + .EUt(2).duration(50) + + // Блок кирпичей -> Ступени + e.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_stairs` }) + + e.stonecutting(`tfc:mud_bricks/${mud}_stairs`, `tfc:mud_bricks/${mud}`) + .id(`tfc:stonecutting/soil/${mud}_mud_bricks_stairs`) + + e.recipes.gtceu.cutter(`tfg:${mud}_mud_bricks_to_stairs`) + .itemInputs(`tfc:mud_bricks/${mud}`) + .circuit(0) + .itemOutputs(`tfc:mud_bricks/${mud}_stairs`) + .EUt(8).duration(100) + + // Блок кирпичей -> Плиты + e.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_slab` }) + + e.stonecutting(`2x tfc:mud_bricks/${mud}_slab`, `tfc:mud_bricks/${mud}`) + .id(`tfc:stonecutting/soil/${mud}_mud_bricks_slab`) + + e.recipes.gtceu.cutter(`tfg:${mud}_mud_bricks_to_slabs`) + .itemInputs(`tfc:mud_bricks/${mud}`) + .circuit(1) + .itemOutputs(`2x tfc:mud_bricks/${mud}_slab`) + .EUt(8).duration(100) + + // Блок кирпичей -> Стена + e.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_wall` }) + + e.stonecutting(`tfc:mud_bricks/${mud}_wall`, `tfc:mud_bricks/${mud}`) + .id(`tfc:stonecutting/soil/${mud}_mud_bricks_wall`) + + e.recipes.gtceu.cutter(`tfg:${mud}_mud_bricks_to_wall`) + .itemInputs(`tfc:mud_bricks/${mud}`) + .circuit(2) + .itemOutputs(`tfc:mud_bricks/${mud}_wall`) + .EUt(8).duration(100) + }) + + //#endregion + + //#region Дерево + + // Какие то рецепты дерева + global.TFC_WOOD_TYPES.forEach(wood => { + e.remove({ id: `tfc:crafting/wood/${wood}_axle` }) + e.remove({ id: `tfc:crafting/wood/${wood}_bladed_axle` }) + e.remove({ id: `tfc:crafting/wood/${wood}_encased_axle` }) + e.remove({ id: `tfc:crafting/wood/${wood}_clutch` }) + e.remove({ id: `tfc:crafting/wood/${wood}_gear_box` }) + e.remove({ id: `tfc:crafting/wood/${wood}_water_wheel` }) + + // Бревна -> Пиломатериалы + generateCutterRecipe(e, `#tfc:${wood}_logs`, null, `16x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_log`) + + // Доски -> Пиломатериалы + generateCutterRecipe(e, `tfc:wood/planks/${wood}`, null, `4x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_planks`) + + // Ступень -> Пиломатериалы + generateCutterRecipe(e, `tfc:wood/planks/${wood}_stairs`, null, `3x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_stairs`) + + + // Плита -> Пиломатериалы + generateCutterRecipe(e, `tfc:wood/planks/${wood}_slab`, null, `2x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_slab`) + + // ? -> Деревянная нажимная пластина + e.shaped(`tfc:wood/planks/${wood}_pressure_plate`, [ + 'ABA', + 'CDC', + 'AEA' + ], { + A: '#forge:screws/wood', + B: '#tfc:hammers', + C: `tfc:wood/planks/${wood}_slab`, + D: '#forge:springs', + E: '#forge:tools/screwdrivers' + }).id(`tfc:crafting/wood/${wood}_pressure_plate`) + + e.recipes.gtceu.assembler(`${wood}_pressure_plate`) + .itemInputs('#forge:springs', `2x tfc:wood/planks/${wood}_slab`) + .circuit(0) + .itemOutputs(`2x tfc:wood/planks/${wood}_pressure_plate`) .duration(50) .EUt(2) - // Блок кирпичей -> Ступени - event.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_stairs` }) + // ? -> Деревянная кнопка + e.remove({ id: `tfc:crafting/wood/${wood}_button` }) - event.stonecutting(`tfc:mud_bricks/${mud}_stairs`, `tfc:mud_bricks/${mud}`) - .id(`tfc:stonecutting/soil/${mud}_mud_bricks_stairs`) - - generateCutterRecipe(event, `tfc:mud_bricks/${mud}`, 0, `tfc:mud_bricks/${mud}_stairs`, 100, 8, `${mud}_mud_bricks_to_stairs`) - - // Блок кирпичей -> Плиты - event.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_slab` }) - - event.stonecutting(`2x tfc:mud_bricks/${mud}_slab`, `tfc:mud_bricks/${mud}`) - .id(`tfc:stonecutting/soil/${mud}_mud_bricks_slab`) - - generateCutterRecipe(event, `tfc:mud_bricks/${mud}`, 1, `2x tfc:mud_bricks/${mud}_slab`, 100, 8, `${mud}_mud_bricks_to_slab`) - - // Блок кирпичей -> Стена - event.remove({ id: `tfc:crafting/soil/${mud}_mud_bricks_wall` }) - - event.stonecutting(`tfc:mud_bricks/${mud}_wall`, `tfc:mud_bricks/${mud}`) - .id(`tfc:stonecutting/soil/${mud}_mud_bricks_wall`) - - generateCutterRecipe(event, `tfc:mud_bricks/${mud}`, 2, `tfc:mud_bricks/${mud}_wall`, 100, 8, `${mud}_mud_bricks_to_wall`) + generateCutterRecipe(e, `tfc:wood/planks/${wood}_pressure_plate`, null, `6x tfc:wood/planks/${wood}_button`, 50, 2, `${wood}_button`) }) //#endregion //#region Камень - global.TFC_STONE_TYPES.forEach(stone => { let stoneMaterial = TFGHelpers.getMaterial(stone); @@ -1696,45 +2099,43 @@ const registerTFCRecipes = (event) => { let smallStoneDust = ChemicalHelper.get(TagPrefix.dustSmall, stoneMaterial, 1) // Кирпич (предмет) - event.recipes.gtceu.assembler(`tfg:tfc/${stone}_loose_to_brick`) + e.recipes.gtceu.assembler(`tfg:tfc/${stone}_loose_to_brick`) .itemInputs(`tfc:rock/loose/${stone}`) .itemOutputs(`tfc:brick/${stone}`) - .duration(40) - .EUt(8) + .EUt(8).duration(40) + //#region Сырой камень // Сырой камень -> Сырой камень - event.recipes.gtceu.rock_breaker(`${stone}_raw`) + e.recipes.gtceu.rock_breaker(`${stone}_raw`) .notConsumable(`tfc:rock/raw/${stone}`) .itemOutputs(`tfc:rock/raw/${stone}`) - .duration(16) - .EUt(7) + .EUt(7).duration(16) // Сырой камень -> Булыжник - event.recipes.gtceu.forge_hammer(`${stone}_raw_to_cobble`) + e.recipes.gtceu.forge_hammer(`${stone}_raw_to_cobble`) .itemInputs(`tfc:rock/raw/${stone}`) .itemOutputs(`tfc:rock/cobble/${stone}`) - .duration(10) - .EUt(16) + .EUt(16).duration(10) // Сырой камень -> Ступени - event.remove({ id: `tfc:crafting/rock/${stone}_raw_stairs` }) + e.remove({ id: `tfc:crafting/rock/${stone}_raw_stairs` }) - generateCutterRecipe(event, `tfc:rock/raw/${stone}`, 0, [`tfc:rock/raw/${stone}_stairs`, stoneDust], 100, 8, `${stone}_raw_to_stairs`) + generateCutterRecipe(e, `tfc:rock/raw/${stone}`, 0, [`tfc:rock/raw/${stone}_stairs`, stoneDust], 100, 8, `${stone}_raw_to_stairs`) // Сырой камень -> Плиты - event.remove({ id: `tfc:crafting/rock/${stone}_raw_slab` }) + e.remove({ id: `tfc:crafting/rock/${stone}_raw_slab` }) - generateCutterRecipe(event, `tfc:rock/raw/${stone}`, 1, [`2x tfc:rock/raw/${stone}_slab`, stoneDust], 100, 8, `${stone}_raw_to_slab`) + generateCutterRecipe(e, `tfc:rock/raw/${stone}`, 1, [`2x tfc:rock/raw/${stone}_slab`, stoneDust], 100, 8, `${stone}_raw_to_slab`) // Сырой камень -> Стена - event.remove({ id: `tfc:crafting/rock/${stone}_raw_wall` }) + e.remove({ id: `tfc:crafting/rock/${stone}_raw_wall` }) - generateCutterRecipe(event, `tfc:rock/raw/${stone}`, 2, [`tfc:rock/raw/${stone}_wall`, stoneDust], 100, 8, `${stone}_raw_to_wall`) + generateCutterRecipe(e, `tfc:rock/raw/${stone}`, 2, [`tfc:rock/raw/${stone}_wall`, stoneDust], 100, 8, `${stone}_raw_to_wall`) // ? -> Сырая нажимная пластина - event.shaped(`tfc:rock/pressure_plate/${stone}`, [ + e.shaped(`tfc:rock/pressure_plate/${stone}`, [ 'ABA', 'CDC', 'AEA' @@ -1746,7 +2147,7 @@ const registerTFCRecipes = (event) => { E: '#forge:tools/screwdrivers' }).id(`tfc:crafting/rock/${stone}_pressure_plate`) - event.recipes.gtceu.assembler(`${stone}_raw_pressure_plate`) + e.recipes.gtceu.assembler(`${stone}_raw_pressure_plate`) .itemInputs('#forge:springs', `2x tfc:rock/raw/${stone}_slab`) .circuit(0) .itemOutputs(`2x tfc:rock/pressure_plate/${stone}`) @@ -1754,30 +2155,30 @@ const registerTFCRecipes = (event) => { .EUt(2) // ? -> Сырая кнопка - event.remove({ id: `tfc:crafting/rock/${stone}_button` }) + e.remove({ id: `tfc:crafting/rock/${stone}_button` }) - generateCutterRecipe(event, `tfc:rock/pressure_plate/${stone}`, 0, `6x tfc:rock/button/${stone}`, 50, 2, `${stone}_raw_button`) + generateCutterRecipe(e, `tfc:rock/pressure_plate/${stone}`, 0, `6x tfc:rock/button/${stone}`, 50, 2, `${stone}_raw_button`) //#endregion //#region Булыжник // Булыжник -> Булыжник - event.recipes.gtceu.rock_breaker(`${stone}_cobble`) + e.recipes.gtceu.rock_breaker(`${stone}_cobble`) .notConsumable(`tfc:rock/cobble/${stone}`) .itemOutputs(`tfc:rock/cobble/${stone}`) .duration(16) .EUt(7) // Булыжник -> Гравий - event.recipes.gtceu.forge_hammer(`${stone}_cobble_to_gravel`) + e.recipes.gtceu.forge_hammer(`${stone}_cobble_to_gravel`) .itemInputs(`tfc:rock/cobble/${stone}`) .itemOutputs(`tfc:rock/gravel/${stone}`) .duration(10) .EUt(16) // Камни -> Булыжник - event.shaped(`tfc:rock/cobble/${stone}`, [ + e.shaped(`tfc:rock/cobble/${stone}`, [ 'ABA', 'BAB', 'ABA' @@ -1786,7 +2187,7 @@ const registerTFCRecipes = (event) => { B: '#tfc:mortar' }).id(`tfc:crafting/rock/${stone}_loose_rocks_to_cobble`) - event.recipes.gtceu.assembler(`${stone}_loose_rocks_to_cobble`) + e.recipes.gtceu.assembler(`${stone}_loose_rocks_to_cobble`) .itemInputs(`4x tfc:rock/loose/${stone}`) .circuit(0) .inputFluids(Fluid.of('gtceu:concrete', 72)) @@ -1795,26 +2196,26 @@ const registerTFCRecipes = (event) => { .EUt(2) // Булыжник -> Ступени - event.remove({ id: `tfc:crafting/rock/${stone}_cobble_stairs` }) + e.remove({ id: `tfc:crafting/rock/${stone}_cobble_stairs` }) - generateCutterRecipe(event, `tfc:rock/cobble/${stone}`, 0, [`tfc:rock/cobble/${stone}_stairs`, stoneDust], 100, 8, `${stone}_cobble_to_stairs`) + generateCutterRecipe(e, `tfc:rock/cobble/${stone}`, 0, [`tfc:rock/cobble/${stone}_stairs`, stoneDust], 100, 8, `${stone}_cobble_to_stairs`) // Булыжник -> Плиты - event.remove({ id: `tfc:crafting/rock/${stone}_cobble_slab` }) + e.remove({ id: `tfc:crafting/rock/${stone}_cobble_slab` }) - generateCutterRecipe(event, `tfc:rock/cobble/${stone}`, 1, [`2x tfc:rock/cobble/${stone}_slab`, stoneDust], 100, 8, `${stone}_cobble_to_slab`) + generateCutterRecipe(e, `tfc:rock/cobble/${stone}`, 1, [`2x tfc:rock/cobble/${stone}_slab`, stoneDust], 100, 8, `${stone}_cobble_to_slab`) // Булыжник -> Стена - event.remove({ id: `tfc:crafting/rock/${stone}_cobble_wall` }) + e.remove({ id: `tfc:crafting/rock/${stone}_cobble_wall` }) - generateCutterRecipe(event, `tfc:rock/cobble/${stone}`, 2, [`tfc:rock/cobble/${stone}_wall`, stoneDust], 100, 8, `${stone}_cobble_to_wall`) + generateCutterRecipe(e, `tfc:rock/cobble/${stone}`, 2, [`tfc:rock/cobble/${stone}_wall`, stoneDust], 100, 8, `${stone}_cobble_to_wall`) //#endregion //#region Гладкий // Сырой камень -> Гладкий - event.recipes.gtceu.laser_engraver(`raw_${stone}_to_smooth`) + e.recipes.gtceu.laser_engraver(`raw_${stone}_to_smooth`) .itemInputs(`tfc:rock/raw/${stone}`) .notConsumable('gtceu:glass_lens') .itemOutputs(`tfc:rock/smooth/${stone}`) @@ -1822,7 +2223,7 @@ const registerTFCRecipes = (event) => { .EUt(100) // Укрепленный сырой камень -> Гладкий - event.recipes.gtceu.laser_engraver(`hardened_${stone}_to_smooth`) + e.recipes.gtceu.laser_engraver(`hardened_${stone}_to_smooth`) .itemInputs(`tfc:rock/hardened/${stone}`) .notConsumable('gtceu:glass_lens') .itemOutputs(`tfc:rock/smooth/${stone}`) @@ -1830,80 +2231,80 @@ const registerTFCRecipes = (event) => { .EUt(100) // Булыжник -> Ступени - event.remove({ id: `tfc:crafting/rock/${stone}_smooth_stairs` }) + e.remove({ id: `tfc:crafting/rock/${stone}_smooth_stairs` }) - generateCutterRecipe(event, `tfc:rock/smooth/${stone}`, 0, [`tfc:rock/smooth/${stone}_stairs`, stoneDust], 100, 8, `${stone}_smooth_to_stairs`) + generateCutterRecipe(e, `tfc:rock/smooth/${stone}`, 0, [`tfc:rock/smooth/${stone}_stairs`, stoneDust], 100, 8, `${stone}_smooth_to_stairs`) // Булыжник -> Плиты - event.remove({ id: `tfc:crafting/rock/${stone}_smooth_slab` }) + e.remove({ id: `tfc:crafting/rock/${stone}_smooth_slab` }) - generateCutterRecipe(event, `tfc:rock/smooth/${stone}`, 1, [`2x tfc:rock/smooth/${stone}_slab`, stoneDust], 100, 8, `${stone}_smooth_to_slab`) + generateCutterRecipe(e, `tfc:rock/smooth/${stone}`, 1, [`2x tfc:rock/smooth/${stone}_slab`, stoneDust], 100, 8, `${stone}_smooth_to_slab`) // Булыжник -> Стена - event.remove({ id: `tfc:crafting/rock/${stone}_smooth_wall` }) + e.remove({ id: `tfc:crafting/rock/${stone}_smooth_wall` }) - generateCutterRecipe(event, `tfc:rock/smooth/${stone}`, 2, [`tfc:rock/smooth/${stone}_wall`, stoneDust], 100, 8, `${stone}_smooth_to_wall`) + generateCutterRecipe(e, `tfc:rock/smooth/${stone}`, 2, [`tfc:rock/smooth/${stone}_wall`, stoneDust], 100, 8, `${stone}_smooth_to_wall`) //#endregion //#region Кирпич // Кирпич -> Блок кирпичей - event.recipes.gtceu.assembler(`bricks_${stone}`) + e.recipes.gtceu.assembler(`bricks_${stone}`) .itemInputs(`5x tfc:brick/${stone}`) - .circuit(0) + .circuit(1) .inputFluids(Fluid.of('gtceu:concrete', 72)) .itemOutputs(`4x tfc:rock/bricks/${stone}`) .duration(50) .EUt(2) // Блок кирпичей -> Ступени - event.remove({ id: `tfc:crafting/rock/${stone}_bricks_stairs` }) + e.remove({ id: `tfc:crafting/rock/${stone}_bricks_stairs` }) - generateCutterRecipe(event, `tfc:rock/bricks/${stone}`, 0, [`tfc:rock/bricks/${stone}_stairs`, stoneDust], 100, 8, `${stone}_bricks_to_stairs`) + generateCutterRecipe(e, `tfc:rock/bricks/${stone}`, 0, [`tfc:rock/bricks/${stone}_stairs`, stoneDust], 100, 8, `${stone}_bricks_to_stairs`) // Блок кирпичей -> Плиты - event.remove({ id: `tfc:crafting/rock/${stone}_bricks_slab` }) + e.remove({ id: `tfc:crafting/rock/${stone}_bricks_slab` }) - generateCutterRecipe(event, `tfc:rock/bricks/${stone}`, 1, [`2x tfc:rock/bricks/${stone}_slab`, stoneDust], 100, 8, `${stone}_bricks_to_slab`) + generateCutterRecipe(e, `tfc:rock/bricks/${stone}`, 1, [`2x tfc:rock/bricks/${stone}_slab`, stoneDust], 100, 8, `${stone}_bricks_to_slab`) // Блок кирпичей -> Стена - event.remove({ id: `tfc:crafting/rock/${stone}_bricks_wall` }) + e.remove({ id: `tfc:crafting/rock/${stone}_bricks_wall` }) - generateCutterRecipe(event, `tfc:rock/bricks/${stone}`, 2, [`tfc:rock/bricks/${stone}_wall`, stoneDust], 100, 8, `${stone}_bricks_to_wall`) + generateCutterRecipe(e, `tfc:rock/bricks/${stone}`, 2, [`tfc:rock/bricks/${stone}_wall`, stoneDust], 100, 8, `${stone}_bricks_to_wall`) //#endregion //#region Потрескавшийся кирпич // Кирпич -> Потрескавшийся кирпич - event.recipes.gtceu.forge_hammer(`cracked_bricks_${stone}`) + e.recipes.gtceu.forge_hammer(`cracked_bricks_${stone}`) .itemInputs(`tfc:rock/bricks/${stone}`) .itemOutputs(`tfc:rock/cracked_bricks/${stone}`) .duration(25) .EUt(8) // Потрескавшийся кирпич -> Ступени - event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_stairs` }) + e.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_stairs` }) - generateCutterRecipe(event, `tfc:rock/cracked_bricks/${stone}`, 0, [`tfc:rock/cracked_bricks/${stone}_stairs`, stoneDust], 100, 8, `${stone}_cracked_bricks_to_stairs`) + generateCutterRecipe(e, `tfc:rock/cracked_bricks/${stone}`, 0, [`tfc:rock/cracked_bricks/${stone}_stairs`, stoneDust], 100, 8, `${stone}_cracked_bricks_to_stairs`) // Потрескавшийся кирпич -> Плиты - event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_slab` }) + e.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_slab` }) - generateCutterRecipe(event, `tfc:rock/cracked_bricks/${stone}`, 1, [`2x tfc:rock/cracked_bricks/${stone}_slab`, stoneDust], 100, 8, `${stone}_cracked_bricks_to_slab`) + generateCutterRecipe(e, `tfc:rock/cracked_bricks/${stone}`, 1, [`2x tfc:rock/cracked_bricks/${stone}_slab`, stoneDust], 100, 8, `${stone}_cracked_bricks_to_slab`) // Потрескавшийся кирпич -> Стена - event.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_wall` }) + e.remove({ id: `tfc:crafting/rock/${stone}_cracked_bricks_wall` }) - generateCutterRecipe(event, `tfc:rock/cracked_bricks/${stone}`, 2, [`tfc:rock/cracked_bricks/${stone}_wall`, stoneDust], 100, 8, `${stone}_cracked_bricks_to_wall`) + generateCutterRecipe(e, `tfc:rock/cracked_bricks/${stone}`, 2, [`tfc:rock/cracked_bricks/${stone}_wall`, stoneDust], 100, 8, `${stone}_cracked_bricks_to_wall`) //#endregion //#region Замшелый булыжник // Булыжник -> Замшелый булыжник - event.shaped(`tfc:rock/mossy_cobble/${stone}`, [ + e.shaped(`tfc:rock/mossy_cobble/${stone}`, [ 'ABA', 'BAB', 'ABA' @@ -1912,7 +2313,7 @@ const registerTFCRecipes = (event) => { B: '#tfc:mortar' }).id(`tfc:crafting/rock/${stone}_mossy_loose_rocks_to_cobble`) - event.recipes.gtceu.assembler(`${stone}_mossy_loose_rocks_to_mossy_cobble`) + e.recipes.gtceu.assembler(`${stone}_mossy_loose_rocks_to_mossy_cobble`) .itemInputs(`4x tfc:rock/mossy_loose/${stone}`) .circuit(0) .inputFluids(Fluid.of('gtceu:concrete', 72)) @@ -1920,7 +2321,7 @@ const registerTFCRecipes = (event) => { .duration(50) .EUt(2) - event.recipes.gtceu.assembler(`${stone}_cobble_rocks_to_mossy_cobble`) + e.recipes.gtceu.assembler(`${stone}_cobble_rocks_to_mossy_cobble`) .itemInputs(`tfc:rock/cobble/${stone}`, '#tfc:compost_greens_low') .circuit(0) .inputFluids(Fluid.of('minecraft:water', 144)) @@ -1929,26 +2330,26 @@ const registerTFCRecipes = (event) => { .EUt(2) // Замшелый булыжник -> Ступени - event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_stairs` }) + e.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_stairs` }) - generateCutterRecipe(event, `tfc:rock/mossy_cobble/${stone}`, 0, [`tfc:rock/mossy_cobble/${stone}_stairs`, stoneDust], 100, 8, `${stone}_mossy_cobble_to_stairs`) + generateCutterRecipe(e, `tfc:rock/mossy_cobble/${stone}`, 0, [`tfc:rock/mossy_cobble/${stone}_stairs`, stoneDust], 100, 8, `${stone}_mossy_cobble_to_stairs`) //Замшелый булыжник -> Плиты - event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_slab` }) + e.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_slab` }) - generateCutterRecipe(event, `tfc:rock/mossy_cobble/${stone}`, 1, [`2x tfc:rock/mossy_cobble/${stone}_slab`, stoneDust], 100, 8, `${stone}_mossy_cobble_to_slab`) + generateCutterRecipe(e, `tfc:rock/mossy_cobble/${stone}`, 1, [`2x tfc:rock/mossy_cobble/${stone}_slab`, stoneDust], 100, 8, `${stone}_mossy_cobble_to_slab`) // Замшелый булыжник -> Стена - event.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_wall` }) + e.remove({ id: `tfc:crafting/rock/${stone}_mossy_cobble_wall` }) - generateCutterRecipe(event, `tfc:rock/mossy_cobble/${stone}`, 2, [`tfc:rock/mossy_cobble/${stone}_wall`, stoneDust], 100, 8, `${stone}_mossy_cobble_to_wall`) + generateCutterRecipe(e, `tfc:rock/mossy_cobble/${stone}`, 2, [`tfc:rock/mossy_cobble/${stone}_wall`, stoneDust], 100, 8, `${stone}_mossy_cobble_to_wall`) //#endregion //#region Замшелый кирпич // Блок кирпичей -> Замшелый кирпич - event.recipes.gtceu.assembler(`mossy_bricks_${stone}`) + e.recipes.gtceu.assembler(`mossy_bricks_${stone}`) .itemInputs(`tfc:rock/bricks/${stone}`, '#tfc:compost_greens_low') .circuit(0) .inputFluids(Fluid.of('minecraft:water', 144)) @@ -1957,25 +2358,25 @@ const registerTFCRecipes = (event) => { .EUt(2) // Замшелый булыжник -> Ступени - event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_stairs` }) + e.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_stairs` }) - generateCutterRecipe(event, `tfc:rock/mossy_bricks/${stone}`, 0, [`tfc:rock/mossy_bricks/${stone}_stairs`, stoneDust], 100, 8, `${stone}_mossy_bricks_to_stairs`) + generateCutterRecipe(e, `tfc:rock/mossy_bricks/${stone}`, 0, [`tfc:rock/mossy_bricks/${stone}_stairs`, stoneDust], 100, 8, `${stone}_mossy_bricks_to_stairs`) //Замшелый булыжник -> Плиты - event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_slab` }) + e.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_slab` }) - generateCutterRecipe(event, `tfc:rock/mossy_bricks/${stone}`, 1, [`2x tfc:rock/mossy_bricks/${stone}_slab`, stoneDust], 100, 8, `${stone}_mossy_bricks_to_slab`) + generateCutterRecipe(e, `tfc:rock/mossy_bricks/${stone}`, 1, [`2x tfc:rock/mossy_bricks/${stone}_slab`, stoneDust], 100, 8, `${stone}_mossy_bricks_to_slab`) // Замшелый булыжник -> Стена - event.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_wall` }) + e.remove({ id: `tfc:crafting/rock/${stone}_mossy_bricks_wall` }) - generateCutterRecipe(event, `tfc:rock/mossy_bricks/${stone}`, 2, [`tfc:rock/mossy_bricks/${stone}_wall`, stoneDust], 100, 8, `${stone}_mossy_bricks_to_wall`) + generateCutterRecipe(e, `tfc:rock/mossy_bricks/${stone}`, 2, [`tfc:rock/mossy_bricks/${stone}_wall`, stoneDust], 100, 8, `${stone}_mossy_bricks_to_wall`) //#endregion //#region Укрепленный камень - event.recipes.gtceu.assembler(`hardened_${stone}`) + e.recipes.gtceu.assembler(`hardened_${stone}`) .itemInputs(`5x tfc:rock/raw/${stone}`) .circuit(0) .inputFluids(Fluid.of('gtceu:concrete', 72)) @@ -1987,9 +2388,9 @@ const registerTFCRecipes = (event) => { //#region Акведук - event.recipes.gtceu.assembler(`aqueduct_${stone}`) + e.recipes.gtceu.assembler(`aqueduct_${stone}`) .itemInputs(`3x tfc:brick/${stone}`) - .circuit(1) + .circuit(2) .inputFluids(Fluid.of('gtceu:concrete', 16)) .itemOutputs(`tfc:rock/aqueduct/${stone}`) .duration(50) @@ -2000,7 +2401,7 @@ const registerTFCRecipes = (event) => { //#region Резной кирпич // Блок кирпичей -> Резной кирпич - event.recipes.gtceu.laser_engraver(`chiseled_${stone}`) + e.recipes.gtceu.laser_engraver(`chiseled_${stone}`) .itemInputs(`tfc:rock/bricks/${stone}`) .notConsumable('gtceu:glass_lens') .itemOutputs(`tfc:rock/chiseled/${stone}`) @@ -2014,49 +2415,49 @@ const registerTFCRecipes = (event) => { //#region Целый блок // Сырой - event.recipes.gtceu.macerator(`raw_${stone}_to_dust`) + e.recipes.gtceu.macerator(`raw_${stone}_to_dust`) .itemInputs(`tfc:rock/raw/${stone}`) .itemOutputs(stoneDust) .duration(4) .EUt(75) // Булыжник - event.recipes.gtceu.macerator(`cobble_${stone}_to_dust`) + e.recipes.gtceu.macerator(`cobble_${stone}_to_dust`) .itemInputs(`tfc:rock/cobble/${stone}`) .itemOutputs(stoneDust) .duration(4) .EUt(75) // Гладкий - event.recipes.gtceu.macerator(`smooth_${stone}_to_dust`) + e.recipes.gtceu.macerator(`smooth_${stone}_to_dust`) .itemInputs(`tfc:rock/smooth/${stone}`) .itemOutputs(stoneDust) .duration(4) .EUt(75) // Кирпичи - event.recipes.gtceu.macerator(`bricks_${stone}_to_dust`) + e.recipes.gtceu.macerator(`bricks_${stone}_to_dust`) .itemInputs(`tfc:rock/bricks/${stone}`) .itemOutputs(stoneDust) .duration(4) .EUt(75) // Потрескавшиеся кирпичи - event.recipes.gtceu.macerator(`cracked_bricks_${stone}_to_dust`) + e.recipes.gtceu.macerator(`cracked_bricks_${stone}_to_dust`) .itemInputs(`tfc:rock/cracked_bricks/${stone}`) .itemOutputs(stoneDust) .duration(4) .EUt(75) // Замшелый булыжник - event.recipes.gtceu.macerator(`mossy_cobble_${stone}_to_dust`) + e.recipes.gtceu.macerator(`mossy_cobble_${stone}_to_dust`) .itemInputs(`tfc:rock/mossy_cobble/${stone}`) .itemOutputs(stoneDust) .duration(4) .EUt(75) // Замшелый кирпич - event.recipes.gtceu.macerator(`mossy_bricks_${stone}_to_dust`) + e.recipes.gtceu.macerator(`mossy_bricks_${stone}_to_dust`) .itemInputs(`tfc:rock/mossy_bricks/${stone}`) .itemOutputs(stoneDust) .duration(4) @@ -2067,49 +2468,49 @@ const registerTFCRecipes = (event) => { //#region Ступень // Сырой - event.recipes.gtceu.macerator(`raw_stairs_${stone}_to_dust`) + e.recipes.gtceu.macerator(`raw_stairs_${stone}_to_dust`) .itemInputs(`tfc:rock/raw/${stone}_stairs`) .itemOutputs(smallStoneDust.withCount(6)) .duration(4) .EUt(75) // Булыжник - event.recipes.gtceu.macerator(`cobble_stairs_${stone}_to_dust`) + e.recipes.gtceu.macerator(`cobble_stairs_${stone}_to_dust`) .itemInputs(`tfc:rock/cobble/${stone}_stairs`) .itemOutputs(smallStoneDust.withCount(6)) .duration(4) .EUt(75) // Гладкий - event.recipes.gtceu.macerator(`smooth_stairs_${stone}_to_dust`) + e.recipes.gtceu.macerator(`smooth_stairs_${stone}_to_dust`) .itemInputs(`tfc:rock/smooth/${stone}_stairs`) .itemOutputs(smallStoneDust.withCount(6)) .duration(4) .EUt(75) // Кирпичи - event.recipes.gtceu.macerator(`bricks_stairs_${stone}_to_dust`) + e.recipes.gtceu.macerator(`bricks_stairs_${stone}_to_dust`) .itemInputs(`tfc:rock/bricks/${stone}_stairs`) .itemOutputs(smallStoneDust.withCount(6)) .duration(4) .EUt(75) // Потрескавшиеся кирпичи - event.recipes.gtceu.macerator(`cracked_bricks_stairs_${stone}_to_dust`) + e.recipes.gtceu.macerator(`cracked_bricks_stairs_${stone}_to_dust`) .itemInputs(`tfc:rock/cracked_bricks/${stone}_stairs`) .itemOutputs(smallStoneDust.withCount(6)) .duration(4) .EUt(75) // Замшелый булыжник - event.recipes.gtceu.macerator(`mossy_cobble_stairs_${stone}_to_dust`) + e.recipes.gtceu.macerator(`mossy_cobble_stairs_${stone}_to_dust`) .itemInputs(`tfc:rock/mossy_cobble/${stone}_stairs`) .itemOutputs(smallStoneDust.withCount(6)) .duration(4) .EUt(75) // Замшелый кирпич - event.recipes.gtceu.macerator(`mossy_bricks_stairs_${stone}_to_dust`) + e.recipes.gtceu.macerator(`mossy_bricks_stairs_${stone}_to_dust`) .itemInputs(`tfc:rock/mossy_bricks/${stone}_stairs`) .itemOutputs(smallStoneDust.withCount(6)) .duration(4) @@ -2120,49 +2521,49 @@ const registerTFCRecipes = (event) => { //#region Плита // Сырой - event.recipes.gtceu.macerator(`raw_slab_${stone}_to_dust`) + e.recipes.gtceu.macerator(`raw_slab_${stone}_to_dust`) .itemInputs(`tfc:rock/raw/${stone}_slab`) .itemOutputs(smallStoneDust.withCount(2)) .duration(4) .EUt(75) // Булыжник - event.recipes.gtceu.macerator(`cobble_slab_${stone}_to_dust`) + e.recipes.gtceu.macerator(`cobble_slab_${stone}_to_dust`) .itemInputs(`tfc:rock/cobble/${stone}_slab`) .itemOutputs(smallStoneDust.withCount(2)) .duration(4) .EUt(75) // Гладкий - event.recipes.gtceu.macerator(`smooth_slab_${stone}_to_dust`) + e.recipes.gtceu.macerator(`smooth_slab_${stone}_to_dust`) .itemInputs(`tfc:rock/smooth/${stone}_slab`) .itemOutputs(smallStoneDust.withCount(2)) .duration(4) .EUt(75) // Кирпичи - event.recipes.gtceu.macerator(`bricks_slab_${stone}_to_dust`) + e.recipes.gtceu.macerator(`bricks_slab_${stone}_to_dust`) .itemInputs(`tfc:rock/bricks/${stone}_slab`) .itemOutputs(smallStoneDust.withCount(2)) .duration(4) .EUt(75) // Потрескавшиеся кирпичи - event.recipes.gtceu.macerator(`cracked_bricks_slab_${stone}_to_dust`) + e.recipes.gtceu.macerator(`cracked_bricks_slab_${stone}_to_dust`) .itemInputs(`tfc:rock/cracked_bricks/${stone}_slab`) .itemOutputs(smallStoneDust.withCount(2)) .duration(4) .EUt(75) // Замшелый булыжник - event.recipes.gtceu.macerator(`mossy_cobble_slab_${stone}_to_dust`) + e.recipes.gtceu.macerator(`mossy_cobble_slab_${stone}_to_dust`) .itemInputs(`tfc:rock/mossy_cobble/${stone}_slab`) .itemOutputs(smallStoneDust.withCount(2)) .duration(4) .EUt(75) // Замшелый кирпич - event.recipes.gtceu.macerator(`mossy_bricks_slab_${stone}_to_dust`) + e.recipes.gtceu.macerator(`mossy_bricks_slab_${stone}_to_dust`) .itemInputs(`tfc:rock/mossy_bricks/${stone}_slab`) .itemOutputs(smallStoneDust.withCount(2)) .duration(4) @@ -2173,49 +2574,49 @@ const registerTFCRecipes = (event) => { //#region Стена // Сырой - event.recipes.gtceu.macerator(`raw_wall_${stone}_to_dust`) + e.recipes.gtceu.macerator(`raw_wall_${stone}_to_dust`) .itemInputs(`tfc:rock/raw/${stone}_wall`) .itemOutputs(stoneDust) .duration(4) .EUt(75) // Булыжник - event.recipes.gtceu.macerator(`cobble_wall_${stone}_to_dust`) + e.recipes.gtceu.macerator(`cobble_wall_${stone}_to_dust`) .itemInputs(`tfc:rock/cobble/${stone}_wall`) .itemOutputs(stoneDust) .duration(4) .EUt(75) // Гладкий - event.recipes.gtceu.macerator(`smooth_wall_${stone}_to_dust`) + e.recipes.gtceu.macerator(`smooth_wall_${stone}_to_dust`) .itemInputs(`tfc:rock/smooth/${stone}_wall`) .itemOutputs(stoneDust) .duration(4) .EUt(75) // Кирпичи - event.recipes.gtceu.macerator(`bricks_wall_${stone}_to_dust`) + e.recipes.gtceu.macerator(`bricks_wall_${stone}_to_dust`) .itemInputs(`tfc:rock/bricks/${stone}_wall`) .itemOutputs(stoneDust) .duration(4) .EUt(75) // Потрескавшиеся кирпичи - event.recipes.gtceu.macerator(`cracked_bricks_wall_${stone}_to_dust`) + e.recipes.gtceu.macerator(`cracked_bricks_wall_${stone}_to_dust`) .itemInputs(`tfc:rock/cracked_bricks/${stone}_wall`) .itemOutputs(stoneDust) .duration(4) .EUt(75) // Замшелый булыжник - event.recipes.gtceu.macerator(`mossy_cobble_wall_${stone}_to_dust`) + e.recipes.gtceu.macerator(`mossy_cobble_wall_${stone}_to_dust`) .itemInputs(`tfc:rock/mossy_cobble/${stone}_wall`) .itemOutputs(stoneDust) .duration(4) .EUt(75) // Замшелый кирпич - event.recipes.gtceu.macerator(`mossy_bricks_wall_${stone}_to_dust`) + e.recipes.gtceu.macerator(`mossy_bricks_wall_${stone}_to_dust`) .itemInputs(`tfc:rock/mossy_bricks/${stone}_wall`) .itemOutputs(stoneDust) .duration(4) @@ -2224,14 +2625,14 @@ const registerTFCRecipes = (event) => { //#endregion // Резной кирпич - event.recipes.gtceu.macerator(`chiseled_${stone}_to_dust`) + e.recipes.gtceu.macerator(`chiseled_${stone}_to_dust`) .itemInputs(`tfc:rock/chiseled/${stone}`) .itemOutputs(stoneDust) .duration(4) .EUt(75) // Укрепленный - event.recipes.gtceu.macerator(`hardened_${stone}_to_dust`) + e.recipes.gtceu.macerator(`hardened_${stone}_to_dust`) .itemInputs(`tfc:rock/hardened/${stone}`) .itemOutputs(stoneDust.withCount(2)) .duration(8) @@ -2245,19 +2646,17 @@ const registerTFCRecipes = (event) => { //#region Песок // Песок душ -> Желтый песок - // TODO: Включить после добавления ада - /* - event.recipes.gtceu.centrifuge('soul_sand_separation') + e.recipes.gtceu.centrifuge('tfg:soul_sand_separation') .itemInputs('minecraft:soul_sand') .chancedOutput('tfc:sand/yellow', 9000, 130) .chancedOutput('gtceu:small_saltpeter_dust', 8000, 480) .chancedOutput('gtceu:tiny_coal_dust', 2000, 340) .outputFluids(Fluid.of('gtceu:oil', 80)) .duration(200) - .EUt(80)*/ - + .EUt(80) + // Нефтеносный -> Желтый песок - event.recipes.gtceu.centrifuge('oilsands_ore_separation') + e.recipes.gtceu.centrifuge('oilsands_ore_separation') .itemInputs('#forge:ores/oilsands') .chancedOutput('tfc:sand/yellow', 5000, 5000) .outputFluids(Fluid.of('gtceu:oil', 2000)) @@ -2265,7 +2664,7 @@ const registerTFCRecipes = (event) => { .EUt(30) // Пыль нефтеносного песка -> Желтый песок - event.recipes.gtceu.centrifuge('oilsands_dust_separation') + e.recipes.gtceu.centrifuge('oilsands_dust_separation') .itemInputs('gtceu:oilsands_dust') .chancedOutput('tfc:sand/yellow', 5000, 5000) .outputFluids(Fluid.of('gtceu:oil', 2000)) @@ -2273,7 +2672,7 @@ const registerTFCRecipes = (event) => { .EUt(30) // Земля -> Желтый песок - event.recipes.gtceu.centrifuge('dirt_separation') + e.recipes.gtceu.centrifuge('dirt_separation') .itemInputs('#tfc:dirt') .chancedOutput('gtceu:plant_ball', 1250, 700) .chancedOutput('tfc:sand/yellow', 5000, 1200) @@ -2284,303 +2683,250 @@ const registerTFCRecipes = (event) => { // Рецепты где нужно итерироваться по всем цветам global.SAND_COLORS.forEach(sandColor => { // Песчанник -> Песок - event.recipes.gtceu.forge_hammer(`raw_${sandColor}_sandstone_to_sand`) + e.recipes.gtceu.forge_hammer(`raw_${sandColor}_sandstone_to_sand`) .itemInputs(`tfc:raw_sandstone/${sandColor}`) .itemOutputs(`tfc:sand/${sandColor}`) .duration(400) .EUt(2) // Гладкий песчанник -> Песок - event.recipes.gtceu.forge_hammer(`smooth_${sandColor}_sandstone_to_sand`) + e.recipes.gtceu.forge_hammer(`smooth_${sandColor}_sandstone_to_sand`) .itemInputs(`tfc:smooth_sandstone/${sandColor}`) .itemOutputs(`tfc:sand/${sandColor}`) .duration(400) .EUt(2) // Обрезанный песчанник -> Песок - event.recipes.gtceu.forge_hammer(`cut_${sandColor}_sandstone_to_sand`) + e.recipes.gtceu.forge_hammer(`cut_${sandColor}_sandstone_to_sand`) .itemInputs(`tfc:cut_sandstone/${sandColor}`) .itemOutputs(`tfc:sand/${sandColor}`) .duration(400) .EUt(2) // Песок -> Песчанник - event.recipes.gtceu.compressor(`sand_${sandColor}_to_sandstone`) + e.recipes.gtceu.compressor(`sand_${sandColor}_to_sandstone`) .itemInputs(`4x tfc:sand/${sandColor}`) .itemOutputs(`tfc:raw_sandstone/${sandColor}`) .duration(800) .EUt(2) // Песчанник -> Гладкий песчанник - event.stonecutting(`tfc:smooth_sandstone/${sandColor}`, `tfc:raw_sandstone/${sandColor}`) + e.stonecutting(`tfc:smooth_sandstone/${sandColor}`, `tfc:raw_sandstone/${sandColor}`) .id(`tfg:stonecutting/raw_sandstone_${sandColor}_to_smooth_sandstone`) - generateCutterRecipe(event, `tfc:raw_sandstone/${sandColor}`, 3, `tfc:smooth_sandstone/${sandColor}`, 100, 8, `raw_sandstone_${sandColor}_to_smooth_sandstone`) + generateCutterRecipe(e, `tfc:raw_sandstone/${sandColor}`, 3, `tfc:smooth_sandstone/${sandColor}`, 100, 8, `raw_sandstone_${sandColor}_to_smooth_sandstone`) // Песчанник -> Обрезанный песчанник - event.stonecutting(`tfc:cut_sandstone/${sandColor}`, `tfc:raw_sandstone/${sandColor}`) + e.stonecutting(`tfc:cut_sandstone/${sandColor}`, `tfc:raw_sandstone/${sandColor}`) .id(`raw_sandstone_${sandColor}_to_cut_sandstone`) - generateCutterRecipe(event, `tfc:raw_sandstone/${sandColor}`, 4, `tfc:cut_sandstone/${sandColor}`, 100, 8, `cut_sandstone_${sandColor}_to_smooth_sandstone`) + generateCutterRecipe(e, `tfc:raw_sandstone/${sandColor}`, 4, `tfc:cut_sandstone/${sandColor}`, 100, 8, `cut_sandstone_${sandColor}_to_smooth_sandstone`) // Песчанник -> Ступень - event.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_stairs` }) + e.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_stairs` }) - event.stonecutting(`tfc:raw_sandstone/${sandColor}_stairs`, `tfc:raw_sandstone/${sandColor}`) + e.stonecutting(`tfc:raw_sandstone/${sandColor}_stairs`, `tfc:raw_sandstone/${sandColor}`) .id(`tfg:stonecutting/${sandColor}_sandstone_to_stairs`) - generateCutterRecipe(event, `tfc:raw_sandstone/${sandColor}`, 0, `tfc:raw_sandstone/${sandColor}_stairs`, 100, 8, `${sandColor}_sandstone_to_stairs`) + generateCutterRecipe(e, `tfc:raw_sandstone/${sandColor}`, 0, `tfc:raw_sandstone/${sandColor}_stairs`, 100, 8, `${sandColor}_sandstone_to_stairs`) // Песчанник -> Плита - event.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_slab` }) + e.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_slab` }) - event.stonecutting(`2x tfc:raw_sandstone/${sandColor}_slab`, `tfc:raw_sandstone/${sandColor}`) + e.stonecutting(`2x tfc:raw_sandstone/${sandColor}_slab`, `tfc:raw_sandstone/${sandColor}`) .id(`tfg:stonecutting/${sandColor}_sandstone_to_slabs`) - generateCutterRecipe(event, `tfc:raw_sandstone/${sandColor}`, 1, `2x tfc:raw_sandstone/${sandColor}_slab`, 100, 8, `${sandColor}_sandstone_to_slab`) + generateCutterRecipe(e, `tfc:raw_sandstone/${sandColor}`, 1, `2x tfc:raw_sandstone/${sandColor}_slab`, 100, 8, `${sandColor}_sandstone_to_slab`) // Песчанник -> Стена - event.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_wall` }) + e.remove({ id: `tfc:crafting/sandstone/${sandColor}_raw_wall` }) - event.stonecutting(`tfc:raw_sandstone/${sandColor}_wall`, `tfc:raw_sandstone/${sandColor}`) + e.stonecutting(`tfc:raw_sandstone/${sandColor}_wall`, `tfc:raw_sandstone/${sandColor}`) .id(`tfg:stonecutting/${sandColor}_sandstone_to_wall`) - generateCutterRecipe(event, `tfc:raw_sandstone/${sandColor}`, 2, `tfc:raw_sandstone/${sandColor}_wall`, 100, 8, `${sandColor}_sandstone_to_wall`) + generateCutterRecipe(e, `tfc:raw_sandstone/${sandColor}`, 2, `tfc:raw_sandstone/${sandColor}_wall`, 100, 8, `${sandColor}_sandstone_to_wall`) // Гладкий песчанник -> Ступень - event.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_stairs` }) + e.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_stairs` }) - event.stonecutting(`tfc:smooth_sandstone/${sandColor}_stairs`, `tfc:smooth_sandstone/${sandColor}`) + e.stonecutting(`tfc:smooth_sandstone/${sandColor}_stairs`, `tfc:smooth_sandstone/${sandColor}`) .id(`tfg:stonecutting/${sandColor}_smooth_sandstone_to_stairs`) - generateCutterRecipe(event, `tfc:smooth_sandstone/${sandColor}`, 0, `tfc:smooth_sandstone/${sandColor}_stairs`, 100, 8, `${sandColor}_smooth_sandstone_to_stairs`) + generateCutterRecipe(e, `tfc:smooth_sandstone/${sandColor}`, 0, `tfc:smooth_sandstone/${sandColor}_stairs`, 100, 8, `${sandColor}_smooth_sandstone_to_stairs`) // Гладкий песчанник -> Плита - event.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_slab` }) + e.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_slab` }) - event.stonecutting(`2x tfc:smooth_sandstone/${sandColor}_slab`, `tfc:smooth_sandstone/${sandColor}`) + e.stonecutting(`2x tfc:smooth_sandstone/${sandColor}_slab`, `tfc:smooth_sandstone/${sandColor}`) .id(`tfg:stonecutting/${sandColor}_smooth_sandstone_to_slab`) - generateCutterRecipe(event, `tfc:smooth_sandstone/${sandColor}`, 1, `2x tfc:smooth_sandstone/${sandColor}_slab`, 100, 8, `${sandColor}_smooth_sandstone_to_slab`) + generateCutterRecipe(e, `tfc:smooth_sandstone/${sandColor}`, 1, `2x tfc:smooth_sandstone/${sandColor}_slab`, 100, 8, `${sandColor}_smooth_sandstone_to_slab`) // Гладкий песчанник -> Стена - event.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_wall` }) + e.remove({ id: `tfc:crafting/sandstone/${sandColor}_smooth_wall` }) - event.stonecutting(`tfc:smooth_sandstone/${sandColor}_wall`, `tfc:smooth_sandstone/${sandColor}`) + e.stonecutting(`tfc:smooth_sandstone/${sandColor}_wall`, `tfc:smooth_sandstone/${sandColor}`) .id(`tfg:stonecutting/${sandColor}_smooth_sandstone_to_wall`) - generateCutterRecipe(event, `tfc:smooth_sandstone/${sandColor}`, 2, `tfc:smooth_sandstone/${sandColor}_wall`, 100, 8, `${sandColor}_smooth_sandstone_to_wall`) + generateCutterRecipe(e, `tfc:smooth_sandstone/${sandColor}`, 2, `tfc:smooth_sandstone/${sandColor}_wall`, 100, 8, `${sandColor}_smooth_sandstone_to_wall`) // Обрезанный песчанник -> Ступень - event.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_stairs` }) + e.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_stairs` }) - event.stonecutting(`tfc:cut_sandstone/${sandColor}_stairs`, `tfc:cut_sandstone/${sandColor}`) + e.stonecutting(`tfc:cut_sandstone/${sandColor}_stairs`, `tfc:cut_sandstone/${sandColor}`) .id(`tfg:stonecutting/${sandColor}_cut_sandstone_to_stairs`) - generateCutterRecipe(event, `tfc:cut_sandstone/${sandColor}`, 0, `tfc:cut_sandstone/${sandColor}_stairs`, 100, 8, `${sandColor}_cut_sandstone_to_stairs`) + generateCutterRecipe(e, `tfc:cut_sandstone/${sandColor}`, 0, `tfc:cut_sandstone/${sandColor}_stairs`, 100, 8, `${sandColor}_cut_sandstone_to_stairs`) // Обрезанный песчанник -> Плита - event.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_slab` }) + e.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_slab` }) - event.stonecutting(`2x tfc:cut_sandstone/${sandColor}_slab`, `tfc:cut_sandstone/${sandColor}`) + e.stonecutting(`2x tfc:cut_sandstone/${sandColor}_slab`, `tfc:cut_sandstone/${sandColor}`) .id(`tfg:stonecutting/${sandColor}_cut_sandstone_to_slab`) - generateCutterRecipe(event, `tfc:cut_sandstone/${sandColor}`, 1, `2x tfc:cut_sandstone/${sandColor}_slab`, 100, 8, `${sandColor}_cut_sandstone_to_slab`) + generateCutterRecipe(e, `tfc:cut_sandstone/${sandColor}`, 1, `2x tfc:cut_sandstone/${sandColor}_slab`, 100, 8, `${sandColor}_cut_sandstone_to_slab`) // Обрезанный песчанник -> Стена - event.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_wall` }) + e.remove({ id: `tfc:crafting/sandstone/${sandColor}_cut_wall` }) - event.stonecutting(`tfc:cut_sandstone/${sandColor}_wall`, `tfc:cut_sandstone/${sandColor}`) + e.stonecutting(`tfc:cut_sandstone/${sandColor}_wall`, `tfc:cut_sandstone/${sandColor}`) .id(`tfg:stonecutting/${sandColor}_cut_sandstone_to_wall`) - generateCutterRecipe(event, `tfc:cut_sandstone/${sandColor}`, 2, `tfc:cut_sandstone/${sandColor}_wall`, 100, 8, `${sandColor}_cut_sandstone_to_wall`) + generateCutterRecipe(e, `tfc:cut_sandstone/${sandColor}`, 2, `tfc:cut_sandstone/${sandColor}_wall`, 100, 8, `${sandColor}_cut_sandstone_to_wall`) }) - + // Коричневый гравий -> Песок - event.recipes.gtceu.forge_hammer('brown_gravel_to_sand') + e.recipes.gtceu.forge_hammer('brown_gravel_to_sand') .itemInputs('#tfc:brown_gravel') .itemOutputs('tfc:sand/brown') .duration(400) .EUt(2) // Белый гравий -> Песок - event.recipes.gtceu.forge_hammer('white_gravel_to_sand') + e.recipes.gtceu.forge_hammer('white_gravel_to_sand') .itemInputs('#tfc:white_gravel') .itemOutputs('tfc:sand/white') .duration(400) .EUt(2) // Черный гравий -> Песок - event.recipes.gtceu.forge_hammer('black_gravel_to_sand') + e.recipes.gtceu.forge_hammer('black_gravel_to_sand') .itemInputs('#tfc:black_gravel') .itemOutputs('tfc:sand/black') .duration(400) .EUt(2) // Красный гравий -> Песок - event.recipes.gtceu.forge_hammer('red_gravel_to_sand') + e.recipes.gtceu.forge_hammer('red_gravel_to_sand') .itemInputs('#tfc:red_gravel') .itemOutputs('tfc:sand/red') .duration(400) .EUt(2) // Желтый гравий -> Песок - event.recipes.gtceu.forge_hammer('yellow_gravel_to_sand') + e.recipes.gtceu.forge_hammer('yellow_gravel_to_sand') .itemInputs('#tfc:yellow_gravel') .itemOutputs('tfc:sand/yellow') .duration(400) .EUt(2) // Зеленый гравий -> Песок - event.recipes.gtceu.forge_hammer('green_gravel_to_sand') + e.recipes.gtceu.forge_hammer('green_gravel_to_sand') .itemInputs('#tfc:green_gravel') .itemOutputs('tfc:sand/green') .duration(400) .EUt(2) // Розовый гравий -> Песок - event.recipes.gtceu.forge_hammer('pink_gravel_to_sand') + e.recipes.gtceu.forge_hammer('pink_gravel_to_sand') .itemInputs('#tfc:pink_gravel') .itemOutputs('tfc:sand/pink') .duration(400) .EUt(2) //#endregion - - //#region Дерево - - // Какие то рецепты дерева - global.TFC_WOOD_TYPES.forEach(wood => { - event.remove({ id: `tfc:crafting/wood/${wood}_axle` }) - event.remove({ id: `tfc:crafting/wood/${wood}_bladed_axle` }) - event.remove({ id: `tfc:crafting/wood/${wood}_encased_axle` }) - event.remove({ id: `tfc:crafting/wood/${wood}_clutch` }) - event.remove({ id: `tfc:crafting/wood/${wood}_gear_box` }) - event.remove({ id: `tfc:crafting/wood/${wood}_water_wheel` }) - - // Бревна -> Пиломатериалы - generateCutterRecipe(event, `#tfc:${wood}_logs`, null, `16x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_log`) - // Доски -> Пиломатериалы - generateCutterRecipe(event, `tfc:wood/planks/${wood}`, null, `4x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_planks`) - - // Ступень -> Пиломатериалы - generateCutterRecipe(event, `tfc:wood/planks/${wood}_stairs`, null, `3x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_stairs`) - - - // Плита -> Пиломатериалы - generateCutterRecipe(event, `tfc:wood/planks/${wood}_slab`, null, `2x tfc:wood/lumber/${wood}`, 400, 10, `${wood}_lumber_from_slab`) - - // ? -> Деревянная нажимная пластина - event.shaped(`tfc:wood/planks/${wood}_pressure_plate`, [ - 'ABA', - 'CDC', - 'AEA' - ], { - A: '#forge:screws/wood', - B: '#tfc:hammers', - C: `tfc:wood/planks/${wood}_slab`, - D: '#forge:springs', - E: '#forge:tools/screwdrivers' - }).id(`tfc:crafting/wood/${wood}_pressure_plate`) - - event.recipes.gtceu.assembler(`${wood}_pressure_plate`) - .itemInputs('#forge:springs', `2x tfc:wood/planks/${wood}_slab`) - .circuit(0) - .itemOutputs(`2x tfc:wood/planks/${wood}_pressure_plate`) - .duration(50) - .EUt(2) - - // ? -> Деревянная кнопка - event.remove({ id: `tfc:crafting/wood/${wood}_button` }) - - generateCutterRecipe(event, `tfc:wood/planks/${wood}_pressure_plate`, null, `6x tfc:wood/planks/${wood}_button`, 50, 2, `${wood}_button`) - - }) - - //#endregion - //#region Рецепты порошков // Удаление рецептов - event.remove({ id: 'tfc:quern/amethyst' }) - event.remove({ id: 'tfc:quern/amethyst_cut' }) - event.remove({ id: 'tfc:quern/blaze_rod' }) - event.remove({ id: 'tfc:quern/borax' }) - event.remove({ id: 'tfc:quern/charcoal' }) - event.remove({ id: 'tfc:quern/cinnabar' }) - event.remove({ id: 'tfc:quern/cryolite' }) - event.remove({ id: 'tfc:quern/diamond' }) - event.remove({ id: 'tfc:quern/diamond_cut' }) - event.remove({ id: 'tfc:quern/emerald' }) - event.remove({ id: 'tfc:quern/emerald_cut' }) - event.remove({ id: 'tfc:quern/graphite' }) - event.remove({ id: 'tfc:quern/lapis_lazuli' }) - event.remove({ id: 'tfc:quern/lapis_lazuli_cut' }) - event.remove({ id: 'tfc:quern/normal_bismuthinite' }) - event.remove({ id: 'tfc:quern/normal_cassiterite' }) - event.remove({ id: 'tfc:quern/normal_garnierite' }) - event.remove({ id: 'tfc:quern/normal_hematite' }) - event.remove({ id: 'tfc:quern/normal_limonite' }) - event.remove({ id: 'tfc:quern/normal_magnetite' }) - event.remove({ id: 'tfc:quern/normal_malachite' }) - event.remove({ id: 'tfc:quern/normal_native_copper' }) - event.remove({ id: 'tfc:quern/normal_native_gold' }) - event.remove({ id: 'tfc:quern/normal_native_silver' }) - event.remove({ id: 'tfc:quern/normal_sphalerite' }) - event.remove({ id: 'tfc:quern/normal_tetrahedrite' }) - event.remove({ id: 'tfc:quern/opal' }) - event.remove({ id: 'tfc:quern/opal_cut' }) - event.remove({ id: 'tfc:quern/poor_bismuthinite' }) - event.remove({ id: 'tfc:quern/poor_cassiterite' }) - event.remove({ id: 'tfc:quern/poor_garnierite' }) - event.remove({ id: 'tfc:quern/poor_hematite' }) - event.remove({ id: 'tfc:quern/poor_limonite' }) - event.remove({ id: 'tfc:quern/poor_magnetite' }) - event.remove({ id: 'tfc:quern/poor_malachite' }) - event.remove({ id: 'tfc:quern/poor_native_copper' }) - event.remove({ id: 'tfc:quern/poor_native_gold' }) - event.remove({ id: 'tfc:quern/poor_native_silver' }) - event.remove({ id: 'tfc:quern/poor_sphalerite' }) - event.remove({ id: 'tfc:quern/poor_tetrahedrite' }) - event.remove({ id: 'tfc:quern/pyrite' }) - event.remove({ id: 'tfc:quern/pyrite_cut' }) - event.remove({ id: 'tfc:quern/raw_limestone' }) - event.remove({ id: 'tfc:quern/rich_bismuthinite' }) - event.remove({ id: 'tfc:quern/rich_cassiterite' }) - event.remove({ id: 'tfc:quern/rich_garnierite' }) - event.remove({ id: 'tfc:quern/rich_hematite' }) - event.remove({ id: 'tfc:quern/rich_limonite' }) - event.remove({ id: 'tfc:quern/rich_magnetite' }) - event.remove({ id: 'tfc:quern/rich_malachite' }) - event.remove({ id: 'tfc:quern/rich_native_copper' }) - event.remove({ id: 'tfc:quern/rich_native_gold' }) - event.remove({ id: 'tfc:quern/rich_native_silver' }) - event.remove({ id: 'tfc:quern/rich_sphalerite' }) - event.remove({ id: 'tfc:quern/rich_tetrahedrite' }) - event.remove({ id: 'tfc:quern/ruby' }) - event.remove({ id: 'tfc:quern/ruby_cut' }) - event.remove({ id: 'tfc:quern/salt' }) - event.remove({ id: 'tfc:quern/saltpeter' }) - event.remove({ id: 'tfc:quern/sapphire' }) - event.remove({ id: 'tfc:quern/sapphire_cut' }) - event.remove({ id: 'tfc:quern/sulfur' }) - event.remove({ id: 'tfc:quern/sylvite' }) - event.remove({ id: 'tfc:quern/topaz' }) - event.remove({ id: 'tfc:quern/topaz_cut' }) + e.remove({ id: 'tfc:quern/amethyst' }) + e.remove({ id: 'tfc:quern/amethyst_cut' }) + e.remove({ id: 'tfc:quern/blaze_rod' }) + e.remove({ id: 'tfc:quern/borax' }) + e.remove({ id: 'tfc:quern/charcoal' }) + e.remove({ id: 'tfc:quern/cinnabar' }) + e.remove({ id: 'tfc:quern/cryolite' }) + e.remove({ id: 'tfc:quern/diamond' }) + e.remove({ id: 'tfc:quern/diamond_cut' }) + e.remove({ id: 'tfc:quern/emerald' }) + e.remove({ id: 'tfc:quern/emerald_cut' }) + e.remove({ id: 'tfc:quern/graphite' }) + e.remove({ id: 'tfc:quern/lapis_lazuli' }) + e.remove({ id: 'tfc:quern/lapis_lazuli_cut' }) + e.remove({ id: 'tfc:quern/normal_bismuthinite' }) + e.remove({ id: 'tfc:quern/normal_cassiterite' }) + e.remove({ id: 'tfc:quern/normal_garnierite' }) + e.remove({ id: 'tfc:quern/normal_hematite' }) + e.remove({ id: 'tfc:quern/normal_limonite' }) + e.remove({ id: 'tfc:quern/normal_magnetite' }) + e.remove({ id: 'tfc:quern/normal_malachite' }) + e.remove({ id: 'tfc:quern/normal_native_copper' }) + e.remove({ id: 'tfc:quern/normal_native_gold' }) + e.remove({ id: 'tfc:quern/normal_native_silver' }) + e.remove({ id: 'tfc:quern/normal_sphalerite' }) + e.remove({ id: 'tfc:quern/normal_tetrahedrite' }) + e.remove({ id: 'tfc:quern/opal' }) + e.remove({ id: 'tfc:quern/opal_cut' }) + e.remove({ id: 'tfc:quern/poor_bismuthinite' }) + e.remove({ id: 'tfc:quern/poor_cassiterite' }) + e.remove({ id: 'tfc:quern/poor_garnierite' }) + e.remove({ id: 'tfc:quern/poor_hematite' }) + e.remove({ id: 'tfc:quern/poor_limonite' }) + e.remove({ id: 'tfc:quern/poor_magnetite' }) + e.remove({ id: 'tfc:quern/poor_malachite' }) + e.remove({ id: 'tfc:quern/poor_native_copper' }) + e.remove({ id: 'tfc:quern/poor_native_gold' }) + e.remove({ id: 'tfc:quern/poor_native_silver' }) + e.remove({ id: 'tfc:quern/poor_sphalerite' }) + e.remove({ id: 'tfc:quern/poor_tetrahedrite' }) + e.remove({ id: 'tfc:quern/pyrite' }) + e.remove({ id: 'tfc:quern/pyrite_cut' }) + e.remove({ id: 'tfc:quern/raw_limestone' }) + e.remove({ id: 'tfc:quern/rich_bismuthinite' }) + e.remove({ id: 'tfc:quern/rich_cassiterite' }) + e.remove({ id: 'tfc:quern/rich_garnierite' }) + e.remove({ id: 'tfc:quern/rich_hematite' }) + e.remove({ id: 'tfc:quern/rich_limonite' }) + e.remove({ id: 'tfc:quern/rich_magnetite' }) + e.remove({ id: 'tfc:quern/rich_malachite' }) + e.remove({ id: 'tfc:quern/rich_native_copper' }) + e.remove({ id: 'tfc:quern/rich_native_gold' }) + e.remove({ id: 'tfc:quern/rich_native_silver' }) + e.remove({ id: 'tfc:quern/rich_sphalerite' }) + e.remove({ id: 'tfc:quern/rich_tetrahedrite' }) + e.remove({ id: 'tfc:quern/ruby' }) + e.remove({ id: 'tfc:quern/ruby_cut' }) + e.remove({ id: 'tfc:quern/salt' }) + e.remove({ id: 'tfc:quern/saltpeter' }) + e.remove({ id: 'tfc:quern/sapphire' }) + e.remove({ id: 'tfc:quern/sapphire_cut' }) + e.remove({ id: 'tfc:quern/sulfur' }) + e.remove({ id: 'tfc:quern/sylvite' }) + e.remove({ id: 'tfc:quern/topaz' }) + e.remove({ id: 'tfc:quern/topaz_cut' }) // Добавление рецептов global.TFC_QUERN_POWDER_RECIPE_COMPONENTS.forEach(element => { - event.recipes.gtceu.macerator(`tfg:${element.name}`) + e.recipes.gtceu.macerator(`tfg:${element.name}`) .itemInputs(element.input) .itemOutputs(element.output) .duration(60) .EUt(2) - event.recipes.tfc.quern(element.output, element.input) + e.recipes.tfc.quern(element.output, element.input) .id(`tfg:quern/${element.name}`) - event.recipes.createMilling(element.output, element.input) + e.recipes.createMilling(element.output, element.input) .id(`tfg:milling/${element.name}`) }) @@ -2590,17 +2936,17 @@ const registerTFCRecipes = (event) => { global.TFC_QUERN_GRAIN_RECIPE_COMPONENTS.forEach(element => { - event.recipes.gtceu.macerator(`tfg:${element.name}`) + e.recipes.gtceu.macerator(`tfg:${element.name}`) .itemInputs(element.input) .itemOutputs(element.output) .chancedOutput('tfc:straw', 7000, 500) .duration(200) .EUt(16) - event.recipes.tfc.quern(element.output, element.input) + e.recipes.tfc.quern(element.output, element.input) .id(`tfg:quern/${element.name}`) - event.recipes.createMilling(element.output, element.input) + e.recipes.createMilling(element.output, element.input) .id(`tfg:milling/${element.name}`) }) @@ -2609,13 +2955,13 @@ const registerTFCRecipes = (event) => { //#region Рецепты муки global.TFC_QUERN_FLOUR_RECIPE_COMPONENTS.forEach(element => { - event.recipes.gtceu.macerator(`tfg:${element.name}`) + e.recipes.gtceu.macerator(`tfg:${element.name}`) .itemInputs(element.input) .itemOutputs(element.output) .duration(200) .EUt(16) - event.recipes.createMilling(element.output, element.input) + e.recipes.createMilling(element.output, element.input) .id(`tfg:milling/${element.name}`) }) @@ -2624,7 +2970,7 @@ const registerTFCRecipes = (event) => { //#region Рецепты обжарки мяса global.TFC_FURNACE_MEAT_RECIPE_COMPONENTS.forEach(element => { - event.smelting(element.output, element.input) + e.smelting(element.output, element.input) .id(`tfg:smelting/${element.name}`) }) @@ -2633,15 +2979,15 @@ const registerTFCRecipes = (event) => { //#region Рецепты обжарки форм global.TFC_FURNACE_MOLD_RECIPE_COMPONENTS.forEach(element => { - event.smelting(element.output, element.input) + e.smelting(element.output, element.input) .id(`tfg:smelting/${element.name}`) }) global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.smelting(`tfc:ceramic/${dye}_glazed_vessel`, `tfc:ceramic/${dye}_unfired_vessel`) + e.smelting(`tfc:ceramic/${dye}_glazed_vessel`, `tfc:ceramic/${dye}_unfired_vessel`) .id(`tfg:smelting/${dye}_glazed_vessel`) - event.smelting(`tfc:ceramic/large_vessel/${dye}`, `tfc:ceramic/unfired_large_vessel/${dye}`) + e.smelting(`tfc:ceramic/large_vessel/${dye}`, `tfc:ceramic/unfired_large_vessel/${dye}`) .id(`tfg:smelting/${dye}_large_vessel`) }) @@ -2651,14 +2997,14 @@ const registerTFCRecipes = (event) => { //#region Обычный сосуд - event.recipes.gtceu.chemical_bath(`unfired_vessel_decolor`) + e.recipes.gtceu.chemical_bath(`unfired_vessel_decolor`) .itemInputs('#tfg:colorized_unfired_vessels') .inputFluids(Fluid.of(`gtceu:chlorine`, 36)) .itemOutputs('tfc:ceramic/unfired_vessel') .duration(300) .EUt(4) - event.recipes.gtceu.chemical_bath(`fired_vessel_decolor`) + e.recipes.gtceu.chemical_bath(`fired_vessel_decolor`) .itemInputs('#tfg:colorized_fired_vessels') .inputFluids(Fluid.of(`gtceu:chlorine`, 36)) .itemOutputs('tfc:ceramic/vessel') @@ -2666,14 +3012,14 @@ const registerTFCRecipes = (event) => { .EUt(4) global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.recipes.gtceu.chemical_bath(`${dye}_unfired_vessel`) + e.recipes.gtceu.chemical_bath(`${dye}_unfired_vessel`) .itemInputs('tfc:ceramic/unfired_vessel') .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 36)) .itemOutputs(`tfc:ceramic/${dye}_unfired_vessel`) .duration(150) .EUt(4) - event.recipes.gtceu.chemical_bath(`${dye}_vessel`) + e.recipes.gtceu.chemical_bath(`${dye}_vessel`) .itemInputs('tfc:ceramic/vessel') .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 36)) .itemOutputs(`tfc:ceramic/${dye}_glazed_vessel`) @@ -2685,14 +3031,14 @@ const registerTFCRecipes = (event) => { //#region Большой сосуд - event.recipes.gtceu.chemical_bath(`unfired_large_vessel_decolor`) + e.recipes.gtceu.chemical_bath(`unfired_large_vessel_decolor`) .itemInputs('#tfg:colorized_unfired_large_vessels') .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) .itemOutputs('tfc:ceramic/unfired_large_vessel') .duration(300) .EUt(4) - event.recipes.gtceu.chemical_bath(`fired_large_vessel_decolor`) + e.recipes.gtceu.chemical_bath(`fired_large_vessel_decolor`) .itemInputs('#tfg:colorized_fired_large_vessels') .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) .itemOutputs('tfc:ceramic/large_vessel') @@ -2700,14 +3046,14 @@ const registerTFCRecipes = (event) => { .EUt(4) global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.recipes.gtceu.chemical_bath(`${dye}_large_unfired_vessel`) + e.recipes.gtceu.chemical_bath(`${dye}_large_unfired_vessel`) .itemInputs('tfc:ceramic/unfired_large_vessel') .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 72)) .itemOutputs(`tfc:ceramic/unfired_large_vessel/${dye}`) .duration(150) .EUt(4) - event.recipes.gtceu.chemical_bath(`${dye}_large_vessel`) + e.recipes.gtceu.chemical_bath(`${dye}_large_vessel`) .itemInputs('tfc:ceramic/large_vessel') .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 72)) .itemOutputs(`tfc:ceramic/large_vessel/${dye}`) @@ -2721,11 +3067,11 @@ const registerTFCRecipes = (event) => { //#region Удаление рецептов лопастей ветряной мельницы - event.remove({ id: `tfc:crafting/windmill_blade` }) - event.remove({ id: `tfc:barrel/dye/bleach_windmill_blades` }) + e.remove({ id: `tfc:crafting/windmill_blade` }) + e.remove({ id: `tfc:barrel/dye/bleach_windmill_blades` }) global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.remove({ id: `tfc:barrel/dye/${dye}_windmill_blade` }) + e.remove({ id: `tfc:barrel/dye/${dye}_windmill_blade` }) }) //#endregion @@ -2735,18 +3081,18 @@ const registerTFCRecipes = (event) => { //#region Топор // Инструмент - event.remove({ id: `tfc:crafting/stone/axe_igneous_extrusive` }) - event.remove({ id: `tfc:crafting/stone/axe_igneous_intrusive` }) - event.remove({ id: `tfc:crafting/stone/axe_metamorphic` }) - event.remove({ id: `tfc:crafting/stone/axe_sedimentary` }) + e.remove({ id: `tfc:crafting/stone/axe_igneous_extrusive` }) + e.remove({ id: `tfc:crafting/stone/axe_igneous_intrusive` }) + e.remove({ id: `tfc:crafting/stone/axe_metamorphic` }) + e.remove({ id: `tfc:crafting/stone/axe_sedimentary` }) // Оголовья - event.remove({ id: `tfc:rock_knapping/axe_head_igneous_extrusive` }) - event.remove({ id: `tfc:rock_knapping/axe_head_igneous_intrusive` }) - event.remove({ id: `tfc:rock_knapping/axe_head_metamorphic` }) - event.remove({ id: `tfc:rock_knapping/axe_head_sedimentary` }) + e.remove({ id: `tfc:rock_knapping/axe_head_igneous_extrusive` }) + e.remove({ id: `tfc:rock_knapping/axe_head_igneous_intrusive` }) + e.remove({ id: `tfc:rock_knapping/axe_head_metamorphic` }) + e.remove({ id: `tfc:rock_knapping/axe_head_sedimentary` }) - event.recipes.tfc.knapping('gtceu:stone_axe_head', 'tfc:rock', [ + e.recipes.tfc.knapping('gtceu:stone_axe_head', 'tfc:rock', [ " X ", "XXXX ", "XXXXX", @@ -2762,18 +3108,18 @@ const registerTFCRecipes = (event) => { //#region Молот // Инструмент - event.remove({ id: `tfc:crafting/stone/hammer_igneous_extrusive` }) - event.remove({ id: `tfc:crafting/stone/hammer_igneous_intrusive` }) - event.remove({ id: `tfc:crafting/stone/hammer_metamorphic` }) - event.remove({ id: `tfc:crafting/stone/hammer_sedimentary` }) + e.remove({ id: `tfc:crafting/stone/hammer_igneous_extrusive` }) + e.remove({ id: `tfc:crafting/stone/hammer_igneous_intrusive` }) + e.remove({ id: `tfc:crafting/stone/hammer_metamorphic` }) + e.remove({ id: `tfc:crafting/stone/hammer_sedimentary` }) // Оголовья - event.remove({ id: `tfc:rock_knapping/hammer_head_igneous_extrusive` }) - event.remove({ id: `tfc:rock_knapping/hammer_head_igneous_intrusive` }) - event.remove({ id: `tfc:rock_knapping/hammer_head_metamorphic` }) - event.remove({ id: `tfc:rock_knapping/hammer_head_sedimentary` }) + e.remove({ id: `tfc:rock_knapping/hammer_head_igneous_extrusive` }) + e.remove({ id: `tfc:rock_knapping/hammer_head_igneous_intrusive` }) + e.remove({ id: `tfc:rock_knapping/hammer_head_metamorphic` }) + e.remove({ id: `tfc:rock_knapping/hammer_head_sedimentary` }) - event.recipes.tfc.knapping('gtceu:stone_hammer_head', 'tfc:rock', [ + e.recipes.tfc.knapping('gtceu:stone_hammer_head', 'tfc:rock', [ "XXXXX", "XXXXX", " X " @@ -2787,26 +3133,26 @@ const registerTFCRecipes = (event) => { //#region Мотыга // Инструмент - event.remove({ id: `tfc:crafting/stone/hoe_igneous_extrusive` }) - event.remove({ id: `tfc:crafting/stone/hoe_igneous_intrusive` }) - event.remove({ id: `tfc:crafting/stone/hoe_metamorphic` }) - event.remove({ id: `tfc:crafting/stone/hoe_sedimentary` }) + e.remove({ id: `tfc:crafting/stone/hoe_igneous_extrusive` }) + e.remove({ id: `tfc:crafting/stone/hoe_igneous_intrusive` }) + e.remove({ id: `tfc:crafting/stone/hoe_metamorphic` }) + e.remove({ id: `tfc:crafting/stone/hoe_sedimentary` }) // Оголовья - event.remove({ id: `tfc:rock_knapping/hoe_head_igneous_extrusive` }) - event.remove({ id: `tfc:rock_knapping/hoe_head_1_igneous_extrusive` }) - event.remove({ id: `tfc:rock_knapping/hoe_head_2_igneous_extrusive` }) - event.remove({ id: `tfc:rock_knapping/hoe_head_igneous_intrusive` }) - event.remove({ id: `tfc:rock_knapping/hoe_head_1_igneous_intrusive` }) - event.remove({ id: `tfc:rock_knapping/hoe_head_2_igneous_intrusive` }) - event.remove({ id: `tfc:rock_knapping/hoe_head_metamorphic` }) - event.remove({ id: `tfc:rock_knapping/hoe_head_1_metamorphic` }) - event.remove({ id: `tfc:rock_knapping/hoe_head_2_metamorphic` }) - event.remove({ id: `tfc:rock_knapping/hoe_head_sedimentary` }) - event.remove({ id: `tfc:rock_knapping/hoe_head_1_sedimentary` }) - event.remove({ id: `tfc:rock_knapping/hoe_head_2_sedimentary` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_igneous_extrusive` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_1_igneous_extrusive` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_2_igneous_extrusive` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_igneous_intrusive` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_1_igneous_intrusive` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_2_igneous_intrusive` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_metamorphic` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_1_metamorphic` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_2_metamorphic` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_sedimentary` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_1_sedimentary` }) + e.remove({ id: `tfc:rock_knapping/hoe_head_2_sedimentary` }) - event.recipes.tfc.knapping('gtceu:stone_hoe_head', 'tfc:rock', [ + e.recipes.tfc.knapping('gtceu:stone_hoe_head', 'tfc:rock', [ "XXXXX", " XX" ]) @@ -2814,7 +3160,7 @@ const registerTFCRecipes = (event) => { .outsideSlotRequired(false) .id('tfg:rock_knapping/stone_hoe_head') - event.recipes.tfc.knapping('2x gtceu:stone_hoe_head', 'tfc:rock', [ + e.recipes.tfc.knapping('2x gtceu:stone_hoe_head', 'tfc:rock', [ "XXXXX", "XX ", " ", @@ -2825,7 +3171,7 @@ const registerTFCRecipes = (event) => { .outsideSlotRequired(false) .id('tfg:rock_knapping/stone_hoe_head_1') - event.recipes.tfc.knapping('2x gtceu:stone_hoe_head', 'tfc:rock', [ + e.recipes.tfc.knapping('2x gtceu:stone_hoe_head', 'tfc:rock', [ "XXXXX", "XX ", " ", @@ -2841,30 +3187,30 @@ const registerTFCRecipes = (event) => { //#region Нож // Инструмент - event.remove({ id: `tfc:crafting/stone/knife_igneous_extrusive` }) - event.remove({ id: `tfc:crafting/stone/knife_igneous_intrusive` }) - event.remove({ id: `tfc:crafting/stone/knife_metamorphic` }) - event.remove({ id: `tfc:crafting/stone/knife_sedimentary` }) + e.remove({ id: `tfc:crafting/stone/knife_igneous_extrusive` }) + e.remove({ id: `tfc:crafting/stone/knife_igneous_intrusive` }) + e.remove({ id: `tfc:crafting/stone/knife_metamorphic` }) + e.remove({ id: `tfc:crafting/stone/knife_sedimentary` }) // Оголовья - event.remove({ id: `tfc:rock_knapping/knife_head_igneous_extrusive` }) - event.remove({ id: `tfc:rock_knapping/knife_head_1_igneous_extrusive` }) - event.remove({ id: `tfc:rock_knapping/knife_head_2_igneous_extrusive` }) - event.remove({ id: `tfc:rock_knapping/knife_head_3_igneous_extrusive` }) - event.remove({ id: `tfc:rock_knapping/knife_head_igneous_intrusive` }) - event.remove({ id: `tfc:rock_knapping/knife_head_1_igneous_intrusive` }) - event.remove({ id: `tfc:rock_knapping/knife_head_2_igneous_intrusive` }) - event.remove({ id: `tfc:rock_knapping/knife_head_3_igneous_intrusive` }) - event.remove({ id: `tfc:rock_knapping/knife_head_metamorphic` }) - event.remove({ id: `tfc:rock_knapping/knife_head_1_metamorphic` }) - event.remove({ id: `tfc:rock_knapping/knife_head_2_metamorphic` }) - event.remove({ id: `tfc:rock_knapping/knife_head_3_metamorphic` }) - event.remove({ id: `tfc:rock_knapping/knife_head_sedimentary` }) - event.remove({ id: `tfc:rock_knapping/knife_head_1_sedimentary` }) - event.remove({ id: `tfc:rock_knapping/knife_head_2_sedimentary` }) - event.remove({ id: `tfc:rock_knapping/knife_head_3_sedimentary` }) + e.remove({ id: `tfc:rock_knapping/knife_head_igneous_extrusive` }) + e.remove({ id: `tfc:rock_knapping/knife_head_1_igneous_extrusive` }) + e.remove({ id: `tfc:rock_knapping/knife_head_2_igneous_extrusive` }) + e.remove({ id: `tfc:rock_knapping/knife_head_3_igneous_extrusive` }) + e.remove({ id: `tfc:rock_knapping/knife_head_igneous_intrusive` }) + e.remove({ id: `tfc:rock_knapping/knife_head_1_igneous_intrusive` }) + e.remove({ id: `tfc:rock_knapping/knife_head_2_igneous_intrusive` }) + e.remove({ id: `tfc:rock_knapping/knife_head_3_igneous_intrusive` }) + e.remove({ id: `tfc:rock_knapping/knife_head_metamorphic` }) + e.remove({ id: `tfc:rock_knapping/knife_head_1_metamorphic` }) + e.remove({ id: `tfc:rock_knapping/knife_head_2_metamorphic` }) + e.remove({ id: `tfc:rock_knapping/knife_head_3_metamorphic` }) + e.remove({ id: `tfc:rock_knapping/knife_head_sedimentary` }) + e.remove({ id: `tfc:rock_knapping/knife_head_1_sedimentary` }) + e.remove({ id: `tfc:rock_knapping/knife_head_2_sedimentary` }) + e.remove({ id: `tfc:rock_knapping/knife_head_3_sedimentary` }) - event.recipes.tfc.knapping('gtceu:stone_knife_head', 'tfc:rock', [ + e.recipes.tfc.knapping('gtceu:stone_knife_head', 'tfc:rock', [ "X ", "XX", "XX", @@ -2875,7 +3221,7 @@ const registerTFCRecipes = (event) => { .outsideSlotRequired(false) .id('tfg:rock_knapping/stone_knife_head') - event.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [ + e.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [ "X X ", "XX XX", "XX XX", @@ -2886,7 +3232,7 @@ const registerTFCRecipes = (event) => { .outsideSlotRequired(false) .id('tfg:rock_knapping/stone_knife_head_1') - event.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [ + e.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [ "X X", "XX XX", "XX XX", @@ -2897,7 +3243,7 @@ const registerTFCRecipes = (event) => { .outsideSlotRequired(false) .id('tfg:rock_knapping/stone_knife_head_2') - event.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [ + e.recipes.tfc.knapping('2x gtceu:stone_knife_head', 'tfc:rock', [ " X X ", "XX XX", "XX XX", @@ -2913,18 +3259,18 @@ const registerTFCRecipes = (event) => { //#region Лопата // Инструмент - event.remove({ id: `tfc:crafting/stone/shovel_igneous_extrusive` }) - event.remove({ id: `tfc:crafting/stone/shovel_igneous_intrusive` }) - event.remove({ id: `tfc:crafting/stone/shovel_metamorphic` }) - event.remove({ id: `tfc:crafting/stone/shovel_sedimentary` }) + e.remove({ id: `tfc:crafting/stone/shovel_igneous_extrusive` }) + e.remove({ id: `tfc:crafting/stone/shovel_igneous_intrusive` }) + e.remove({ id: `tfc:crafting/stone/shovel_metamorphic` }) + e.remove({ id: `tfc:crafting/stone/shovel_sedimentary` }) // Оголовья - event.remove({ id: `tfc:rock_knapping/shovel_head_igneous_extrusive` }) - event.remove({ id: `tfc:rock_knapping/shovel_head_igneous_intrusive` }) - event.remove({ id: `tfc:rock_knapping/shovel_head_metamorphic` }) - event.remove({ id: `tfc:rock_knapping/shovel_head_sedimentary` }) + e.remove({ id: `tfc:rock_knapping/shovel_head_igneous_extrusive` }) + e.remove({ id: `tfc:rock_knapping/shovel_head_igneous_intrusive` }) + e.remove({ id: `tfc:rock_knapping/shovel_head_metamorphic` }) + e.remove({ id: `tfc:rock_knapping/shovel_head_sedimentary` }) - event.recipes.tfc.knapping('gtceu:stone_shovel_head', 'tfc:rock', [ + e.recipes.tfc.knapping('gtceu:stone_shovel_head', 'tfc:rock', [ "XXX", "XXX", "XXX", @@ -2941,32 +3287,14 @@ const registerTFCRecipes = (event) => { //#region Рецепты электрической теплицы - // Дерево - global.TFC_WOOD_TYPES.forEach(wood => { - generateGreenHouseRecipe(event, `tfc:wood/sapling/${wood}`, 16000, `32x tfc:wood/log/${wood}`, `tfg:greenhouse/${wood}`) - }) - - // Семена фруктов - global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name) - }) - - // Семена овощей - global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name) - }) - - // Семена ягод - global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS.forEach(element => { - generateGreenHouseRecipe(event, element.input, element.fluid_amount, element.output, element.name) - }) + //#endregion //#region Рецепты плоского теста global.TFC_MIXER_FLATBREAD_DOUGH_RECIPE_COMPONENTS.forEach(element => { - event.recipes.gtceu.mixer(element.name) + e.recipes.gtceu.mixer(element.name) .itemInputs(element.input) .inputFluids(Fluid.of('minecraft:water', 100)) .itemOutputs(element.output) @@ -2979,7 +3307,7 @@ const registerTFCRecipes = (event) => { //#region Рецепты хлеба global.TFC_FURNACE_BREAD_RECIPE_COMPONENTS.forEach(element => { - event.smelting(element.output, element.input) + e.smelting(element.output, element.input) .id(`tfg:smelting/${element.name}`) }) @@ -2991,7 +3319,7 @@ const registerTFCRecipes = (event) => { let element = global.TFC_CLAY_TO_UNFIRED_MOLD_RECIPE_COMPONENTS[i]; - event.recipes.gtceu.assembler(`tfg:tfc/${element.name}`) + e.recipes.gtceu.assembler(`tfg:tfc/${element.name}`) .itemInputs(element.input) .circuit(i) .itemOutputs(element.output) @@ -3005,7 +3333,7 @@ const registerTFCRecipes = (event) => { //#region Стеклянные смеси в бутылки в ассемблере global.TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS.forEach(element => { - event.recipes.gtceu.alloy_smelter(`tfg:tfc/${element.name}`) + e.recipes.gtceu.alloy_smelter(`tfg:tfc/${element.name}`) .itemInputs(element.input) .notConsumable('gtceu:bottle_casting_mold') .itemOutputs(element.output) @@ -3017,13 +3345,13 @@ const registerTFCRecipes = (event) => { //#region Оливки - event.recipes.gtceu.macerator(`tfg:tfc/olive_paste`) + e.recipes.gtceu.macerator(`tfg:tfc/olive_paste`) .itemInputs('tfc:food/olive') .itemOutputs('2x tfc:olive_paste') .duration(60) .EUt(2) - event.recipes.createMilling('2x tfc:olive_paste', 'tfc:food/olive') + e.recipes.createMilling('2x tfc:olive_paste', 'tfc:food/olive') .id(`tfg:milling/tfc/olive_paste`) //#endregion @@ -3033,15 +3361,15 @@ const registerTFCRecipes = (event) => { //#endregion // Другое - event.remove({ id: `tfc:crafting/trip_hammer` }) - event.remove({ id: `tfc:anvil/steel_pump` }) - event.remove({ id: `tfc:crafting/steel_pump` }) - event.remove({ id: `tfc:crafting/crankshaft` }) + e.remove({ id: `tfc:crafting/trip_hammer` }) + e.remove({ id: `tfc:anvil/steel_pump` }) + e.remove({ id: `tfc:crafting/steel_pump` }) + e.remove({ id: `tfc:crafting/crankshaft` }) // Доменная печь - event.shaped('tfc:blast_furnace', [ + e.shaped('tfc:blast_furnace', [ 'AAA', 'ABA', 'AAA' @@ -3051,33 +3379,35 @@ const registerTFCRecipes = (event) => { }).id('tfc:crafting/blast_furnace') // Тыква -> Кусочки тыквы - event.recipes.minecraft.crafting_shaped('5x tfc:food/pumpkin_chunks', [ + e.remove({ id: 'tfc:crafting/pumpkin_chunks' }) + + e.shaped('4x tfc:food/pumpkin_chunks', [ 'AB' ], { A: '#tfc:knives', - B: 'tfc:pumpkin' - }) + B: TFC.ingredient.notRotten('tfc:pumpkin') + }).id('tfg:shaped/tfc/pumpkin_chunks') // Lime - event.smelting('tfc:powder/lime', 'tfc:powder/flux') + e.smelting('tfc:powder/lime', 'tfc:powder/flux') .id('tfg:smelting/lime') // Kaolinite Clay - event.smelting('tfc:kaolin_clay', 'tfc:powder/kaolinite') + e.smelting('tfc:kaolin_clay', 'tfc:powder/kaolinite') .id('tfg:smelting/kaolinite_clay') // Fire Brick - event.smelting('tfc:ceramic/fire_brick', 'gtceu:compressed_fireclay') + e.smelting('tfc:ceramic/fire_brick', 'gtceu:compressed_fireclay') .id('tfg:smelting/fireclay_brick') // Выпаривание соли - event.recipes.tfc.pot([], Fluid.of('tfc:salt_water', 625), 300, 1000) + e.recipes.tfc.pot([], Fluid.of('tfc:salt_water', 1000), 300, 250) .itemOutput('gtceu:small_salt_dust') .id('tfg:tfc/pot/salt') // Salt Water generateMixerRecipe( - event, + e, ['#forge:dusts/salt'], Fluid.of('minecraft:water', 1000), [], @@ -3090,7 +3420,7 @@ const registerTFCRecipes = (event) => { ) // Lamp Glass - event.recipes.gtceu.alloy_smelter(`tfg:tfc/lamp_glass`) + e.recipes.gtceu.alloy_smelter(`tfg:tfc/lamp_glass`) .itemInputs('#tfc:glass_batches') .notConsumable('#tfg:unfinished_lamps') .itemOutputs('tfc:lamp_glass') @@ -3098,7 +3428,7 @@ const registerTFCRecipes = (event) => { .EUt(2) // Glass lens - event.recipes.gtceu.alloy_smelter(`tfg:tfc/glass_lens`) + e.recipes.gtceu.alloy_smelter(`tfg:tfc/glass_lens`) .itemInputs('tfc:silica_glass_batch') .notConsumable('#forge:lenses') .itemOutputs('tfc:lens') @@ -3106,7 +3436,7 @@ const registerTFCRecipes = (event) => { .EUt(2) // Empty Jar - event.recipes.gtceu.assembler(`tfg:tfc/glass_jar`) + e.recipes.gtceu.assembler(`tfg:tfc/glass_jar`) .itemInputs('#tfc:glass_batches_tier_2') .circuit(2) .itemOutputs('tfc:empty_jar') @@ -3114,7 +3444,7 @@ const registerTFCRecipes = (event) => { .EUt(2) // Wool Yarn - event.recipes.gtceu.macerator('macerate_wool') + e.recipes.gtceu.macerator('macerate_wool') .itemInputs('#minecraft:wool') .itemOutputs('tfc:wool_yarn') .chancedOutput('tfc:wool_yarn', 9000, 0) @@ -3124,7 +3454,7 @@ const registerTFCRecipes = (event) => { .EUt(2) // LimeWater + Sand -> Mortar - event.recipes.gtceu.centrifuge('mortar') + e.recipes.gtceu.centrifuge('mortar') .itemInputs('#forge:sand') .inputFluids(Fluid.of('tfc:limewater', 100)) .itemOutputs('16x tfc:mortar') @@ -3132,7 +3462,7 @@ const registerTFCRecipes = (event) => { .EUt(8) // Brass Mechanism - event.recipes.gtceu.assembler('tfg:tfc/brass_mechanism') + e.recipes.gtceu.assembler('tfg:tfc/brass_mechanism') .itemInputs('#forge:plates/brass') .circuit(10) .itemOutputs('2x tfc:brass_mechanisms') @@ -3140,69 +3470,69 @@ const registerTFCRecipes = (event) => { .EUt(4) // 1x Small SheepSkin -> 1x Wool - event.recipes.gtceu.assembler('tfg:tfc/wool_1') + e.recipes.gtceu.assembler('tfg:tfc/wool_1') .itemInputs('tfc:small_sheepskin_hide') .itemOutputs('tfc:wool') .duration(100) .EUt(4) // 1x Medium SheepSkin -> 1x Wool - event.recipes.gtceu.assembler('tfg:tfc/wool_2') + e.recipes.gtceu.assembler('tfg:tfc/wool_2') .itemInputs('tfc:medium_sheepskin_hide') .itemOutputs('2x tfc:wool') .duration(100) .EUt(4) // 1x Large SheepSkin -> 1x Wool - event.recipes.gtceu.assembler('tfg:tfc/wool_3') + e.recipes.gtceu.assembler('tfg:tfc/wool_3') .itemInputs('tfc:large_sheepskin_hide') .itemOutputs('3x tfc:wool') .duration(100) .EUt(4) // Wool Yarn - event.recipes.gtceu.wiremill('tfg:tfc/wool_yarn') + e.recipes.gtceu.wiremill('tfg:tfc/wool_yarn') .itemInputs('tfc:wool') .itemOutputs('8x tfc:wool_yarn') .duration(100) .EUt(4) // Burlap Cloth - event.recipes.gtceu.assembler('tfg:tfc/burlap_cloth') + e.recipes.gtceu.assembler('tfg:tfc/burlap_cloth') .itemInputs('12x tfc:jute_fiber') .itemOutputs('tfc:burlap_cloth') .duration(100) .EUt(4) // Silk Cloth - event.recipes.gtceu.assembler('tfg:tfc/silk_cloth') + e.recipes.gtceu.assembler('tfg:tfc/silk_cloth') .itemInputs('24x minecraft:string') .itemOutputs('tfc:silk_cloth') .duration(100) .EUt(4) // Silk Cloth - event.recipes.gtceu.assembler('tfg:tfc/wool_cloth') + e.recipes.gtceu.assembler('tfg:tfc/wool_cloth') .itemInputs('16x tfc:wool_yarn') .itemOutputs('tfc:wool_cloth') .duration(100) .EUt(4) // Jute Fiber - generateMixerRecipe(event, 'tfc:jute', Fluid.of('minecraft:water', 200), 'tfc:jute_fiber', null, [], 100, 4, 16, 'tfg:tfc/jute_fiber') + generateMixerRecipe(e, 'tfc:jute', Fluid.of('minecraft:water', 200), 'tfc:jute_fiber', null, [], 100, 4, 16, 'tfg:tfc/jute_fiber') // Soda Ash - event.smelting('3x tfc:powder/soda_ash', 'tfc:food/dried_seaweed').id('tfg:smelting/dried_seaweed_to_soda') - event.smelting('3x tfc:powder/soda_ash', 'tfc:food/dried_kelp').id('tfg:smelting/dried_kelp_to_soda') + e.smelting('3x tfc:powder/soda_ash', 'tfc:food/dried_seaweed').id('tfg:smelting/dried_seaweed_to_soda') + e.smelting('3x tfc:powder/soda_ash', 'tfc:food/dried_kelp').id('tfg:smelting/dried_kelp_to_soda') //#region Обрушения - event.recipes.tfc.collapse('#tfg:rock_slabs').id('tfg:collapse/rock_slabs') - event.recipes.tfc.collapse('#tfg:rock_stairs').id('tfg:collapse/rock_stairs') - event.recipes.tfc.collapse('#tfg:rock_walls').id('tfg:collapse/rock_walls') + e.recipes.tfc.collapse('#tfg:rock_slabs').id('tfg:collapse/rock_slabs') + e.recipes.tfc.collapse('#tfg:rock_stairs').id('tfg:collapse/rock_stairs') + e.recipes.tfc.collapse('#tfg:rock_walls').id('tfg:collapse/rock_walls') global.TFC_STONE_TYPES.forEach(stoneType => { - event.custom({ + e.custom({ type: "tfc:collapse", ingredient: { tag: `forge:ores_in_ground/${stoneType}` @@ -3215,7 +3545,7 @@ const registerTFCRecipes = (event) => { //#region Выход: Свечи - event.recipes.gtceu.chemical_bath(`tfg:tfc/candle_decolor`) + e.recipes.gtceu.chemical_bath(`tfg:tfc/candle_decolor`) .itemInputs('#tfc:colored_candles') .inputFluids(Fluid.of(`gtceu:chlorine`, 72)) .itemOutputs('tfc:candle') @@ -3224,7 +3554,7 @@ const registerTFCRecipes = (event) => { global.MINECRAFT_DYE_NAMES.forEach(dye => { - event.recipes.gtceu.chemical_bath(`tfg:tfc/${dye}_candle`) + e.recipes.gtceu.chemical_bath(`tfg:tfc/${dye}_candle`) .itemInputs('tfc:candle') .inputFluids(Fluid.of(`gtceu:${dye}_dye`, 36)) .itemOutputs(`tfc:candle/${dye}`) @@ -3237,24 +3567,24 @@ const registerTFCRecipes = (event) => { //#region Алебастр - event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless('4x tfc:alabaster_brick', ['#forge:raw_materials/gypsum', '#tfc:chisels'])) + e.recipes.tfc.damage_inputs_shapeless_crafting(e.recipes.minecraft.crafting_shapeless('4x tfc:alabaster_brick', ['#forge:raw_materials/gypsum', '#tfc:chisels'])) .id('tfc:crafting/alabaster_brick/raw_gypsum') - event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless('2x tfc:alabaster_brick', ['#forge:poor_raw_materials/gypsum', '#tfc:chisels'])) + e.recipes.tfc.damage_inputs_shapeless_crafting(e.recipes.minecraft.crafting_shapeless('2x tfc:alabaster_brick', ['#forge:poor_raw_materials/gypsum', '#tfc:chisels'])) .id('tfc:crafting/alabaster_brick/poor_raw_gypsum') - event.recipes.tfc.damage_inputs_shapeless_crafting(event.recipes.minecraft.crafting_shapeless('6x tfc:alabaster_brick', ['#forge:rich_raw_materials/gypsum', '#tfc:chisels'])) + e.recipes.tfc.damage_inputs_shapeless_crafting(e.recipes.minecraft.crafting_shapeless('6x tfc:alabaster_brick', ['#forge:rich_raw_materials/gypsum', '#tfc:chisels'])) .id('tfc:crafting/alabaster_brick/rich_raw_gypsum') // Alabaster Brick - event.recipes.gtceu.assembler('tfc:alabaster/bricks') + e.recipes.gtceu.assembler('tfc:alabaster/bricks') .itemInputs('5x tfc:alabaster_brick') .inputFluids(Fluid.of('gtceu:concrete', 72)) .itemOutputs('4x tfc:alabaster/bricks') .duration(50) .EUt(2) - event.recipes.gtceu.chemical_bath('tfc:alabaster/bricks') + e.recipes.gtceu.chemical_bath('tfc:alabaster/bricks') .itemInputs('#tfc:colored_bricks_alabaster') .inputFluids(Fluid.of('gtceu:chlorine', 72)) .itemOutputs('tfc:alabaster/bricks') @@ -3262,7 +3592,7 @@ const registerTFCRecipes = (event) => { .EUt(2) for (let i = 0; i < 16; i++) { - event.recipes.gtceu.chemical_bath(`tfg:tfc/alabaster/bricks/${global.MINECRAFT_DYE_NAMES[i]}`) + e.recipes.gtceu.chemical_bath(`tfg:tfc/alabaster/bricks/${global.MINECRAFT_DYE_NAMES[i]}`) .itemInputs('tfc:alabaster/bricks') .inputFluids(Fluid.of(`gtceu:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 72)) .itemOutputs(`tfc:alabaster/bricks/${global.MINECRAFT_DYE_NAMES[i]}`) @@ -3271,28 +3601,28 @@ const registerTFCRecipes = (event) => { } // Raw Alabaster - event.recipes.gtceu.chemical_bath('tfc:alabaster/raw/poor_raw_gypsum') + e.recipes.gtceu.chemical_bath('tfc:alabaster/raw/poor_raw_gypsum') .itemInputs('gtceu:poor_raw_gypsum') .inputFluids(Fluid.of('tfc:limewater', 50)) .itemOutputs('tfc:alabaster/raw') .duration(400) .EUt(2) - event.recipes.gtceu.chemical_bath('tfc:alabaster/raw/raw_gypsum') + e.recipes.gtceu.chemical_bath('tfc:alabaster/raw/raw_gypsum') .itemInputs('gtceu:raw_gypsum') .inputFluids(Fluid.of('tfc:limewater', 100)) .itemOutputs('2x tfc:alabaster/raw') .duration(400) .EUt(2) - event.recipes.gtceu.chemical_bath('tfc:alabaster/raw/rich_raw_gypsum') + e.recipes.gtceu.chemical_bath('tfc:alabaster/raw/rich_raw_gypsum') .itemInputs('gtceu:rich_raw_gypsum') .inputFluids(Fluid.of('tfc:limewater', 150)) .itemOutputs('3x tfc:alabaster/raw') .duration(400) .EUt(2) - event.recipes.gtceu.chemical_bath('tfc:alabaster/raw') + e.recipes.gtceu.chemical_bath('tfc:alabaster/raw') .itemInputs('#tfc:colored_bricks_alabaster') .inputFluids(Fluid.of('gtceu:chlorine', 72)) .itemOutputs('tfc:alabaster/raw') @@ -3300,7 +3630,7 @@ const registerTFCRecipes = (event) => { .EUt(2) for (let i = 0; i < 16; i++) { - event.recipes.gtceu.chemical_bath(`tfg:tfc/alabaster/raw/${global.MINECRAFT_DYE_NAMES[i]}`) + e.recipes.gtceu.chemical_bath(`tfg:tfc/alabaster/raw/${global.MINECRAFT_DYE_NAMES[i]}`) .itemInputs('tfc:alabaster/raw') .inputFluids(Fluid.of(`gtceu:${global.MINECRAFT_DYE_NAMES[i]}_dye`, 72)) .itemOutputs(`tfc:alabaster/raw/${global.MINECRAFT_DYE_NAMES[i]}`) @@ -3309,4 +3639,46 @@ const registerTFCRecipes = (event) => { } //#endregion -} + + //#region Каолинитовая глина + e.shapeless('tfc:kaolin_clay', [ + 'minecraft:clay_ball', + 'gtceu:aluminium_dust', + ['gtceu:fullers_earth_dust', 'gtceu:silicon_dust', 'gtceu:silicon_dioxide_dust'], + ['minecraft:bone_meal', 'gtceu:calcium_dust'], + ['tfg:shale_dust', 'tfg:claystone_dust', 'tfg:limestone_dust', 'tfg:conglomerate_dust', 'tfg:dolomite_dust', 'tfg:chert_dust', 'tfg:chalk_dust'] + ]).id('tfg:tfc/kaolinite_clay') + //#endregion + + //#region Каолинитовая глина -> Порошок каолинита + e.recipes.createMilling('2x tfc:powder/kaolinite', 'tfc:kaolin_clay') + .id(`tfg:milling/tfc/kaolinite_powder`) + + e.recipes.gtceu.macerator('tfg:tfc/kaolinite_powder') + .itemInputs('tfc:kaolin_clay') + .itemOutputs('2x tfc:powder/kaolinite') + .EUt(2).duration(40) + //#endregion + + + //Fire bricks + e.recipes.gtceu.compressor('fire_bricks') + .itemInputs() + .itemOutputs('2x tfc:fire_bricks') + .duration(800) + .EUt(2) + + e.recipes.gtceu.extractor('fire_bricks_to_ceramic_fire_brick') + .itemInputs('tfc:fire_bricks') + .itemOutputs('2x tfc:ceramic/fire_brick') + .duration(800) + .EUt(2) + + //fire brick + e.recipes.gtceu.alloy_smelter('fire_bricks') + .itemInputs('tfc:fire_clay') + .notConsumable('gtceu:ingot_casting_mold') + .itemOutputs('tfc:ceramic/fire_brick') + .duration(800) + .EUt(2) +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfc/tags.js b/kubejs/server_scripts/tfc/tags.js index 2f026964f..b0c01a6ee 100644 --- a/kubejs/server_scripts/tfc/tags.js +++ b/kubejs/server_scripts/tfc/tags.js @@ -1,18 +1,16 @@ // priority: 0 const registerTFCItemTags = (event) => { - // Теги для соответствия инструментов TFC и GT - - GTMaterialRegistry.getRegisteredMaterials().forEach(material => { - if (material.hasProperty(PropertyKey.TOOL)) { - for (let [key, value] of Object.entries(global.GTCEU_TOOLTYPES_WHICH_HAS_TFC_DUPS)) { - var tool = ToolHelper.get(value, material) - if (!tool.isEmpty()) event.add(key, tool.getId()) - - event.add('tfc:usable_on_tool_rack', `#${key}`) - } - } - }) + //#region Возможность вешать инструменты GregTech на ToolRack + event.add('tfc:usable_on_tool_rack', '#forge:tools/swords') + event.add('tfc:usable_on_tool_rack', '#forge:tools/pickaxes') + event.add('tfc:usable_on_tool_rack', '#forge:tools/axes') + event.add('tfc:usable_on_tool_rack', '#forge:tools/shovels') + event.add('tfc:usable_on_tool_rack', '#forge:tools/hoes') + event.add('tfc:usable_on_tool_rack', '#forge:tools/hammers') + event.add('tfc:usable_on_tool_rack', '#forge:tools/knives') + event.add('tfc:usable_on_tool_rack', '#forge:tools/saws') + event.add('tfc:usable_on_tool_rack', '#forge:tools/scythes') event.add('tfc:usable_on_tool_rack', '#forge:tools/mining_hammers') event.add('tfc:usable_on_tool_rack', '#forge:tools/spades') @@ -25,16 +23,34 @@ const registerTFCItemTags = (event) => { event.add('tfc:usable_on_tool_rack', '#forge:tools/plungers') event.add('tfc:usable_on_tool_rack', '#forge:tools/mortars') event.add('tfc:usable_on_tool_rack', '#forge:tools/mallets') - event.add('tfc:usable_on_tool_rack', '#forge:tools/chainsaws') event.add('tfc:usable_on_tool_rack', '#forge:tools/buzzsaws') event.add('tfc:usable_on_tool_rack', '#forge:tools/drills') - - // Для складывания + //#endregion + + //#region Возможность GT инструментам выполнять те же действия, что и TFC + event.add('tfc:swords', '#forge:tools/swords') + event.add('tfc:pickaxes', '#forge:tools/pickaxes') + event.add('tfc:axes', '#forge:tools/axes') + event.add('tfc:shovels', '#forge:tools/shovels') + event.add('tfc:shovels', '#forge:tools/spades') + event.add('tfc:hoes', '#forge:tools/hoes') + event.add('tfc:hammers', '#forge:tools/hammers') + event.add('tfc:knives', '#forge:tools/knives') + event.add('tfc:saws', '#forge:tools/saws') + event.add('tfc:scythes', '#forge:tools/scythes') + //#endregion + + //#region Трушное удаление dusts у powders + event.remove('forge:dusts', '#tfc:powders') + //#endregion + + //#region Позволяет складывать все слитки и пластины в игре event.add('tfc:pileable_ingots', '#forge:ingots') event.add('tfc:pileable_sheets', '#forge:plates') + //#endregion - // Рыба + //#region Объединяем рыбу в 1 тег event.add('minecraft:fishes', 'tfc:food/calamari') event.add('minecraft:fishes', 'tfc:food/bluegill') event.add('minecraft:fishes', 'tfc:food/crappie') @@ -42,43 +58,49 @@ const registerTFCItemTags = (event) => { event.add('minecraft:fishes', 'tfc:food/largemouth_bass') event.add('minecraft:fishes', 'tfc:food/rainbow_trout') event.add('minecraft:fishes', 'tfc:food/smallmouth_bass') + //#endregion - // Чтобы жарились бревна из TFC в пиролиз. печке - // Почему нельзя просто добавить тег в тег? (допустим minecraft:logs), потому что из-за этого ломаются все рецепты minecraft:logs, магия... + //#region Чтобы жарились бревна из TFC в пиролиз. печке (Почему нельзя просто добавить тег в тег? (допустим minecraft:logs), потому что из-за этого ломаются все рецепты minecraft:logs, магия...) global.TFC_WOOD_TYPES.forEach(woodType => { event.add('minecraft:logs_that_burn', `#tfc:${woodType}_logs`) }) + //#endregion - // Определеяет какое оружие может появиться у зомбя/скелета в руках - // Мечи + //#region Позволяет скелетам и зомбям использовать GT оружие + // Мечи event.add('tfc:mob_mainhand_weapons', 'gtceu:bismuth_bronze_sword') event.add('tfc:mob_mainhand_weapons', 'gtceu:bronze_sword') event.add('tfc:mob_mainhand_weapons', 'gtceu:black_bronze_sword') + // Топоры event.add('tfc:mob_mainhand_weapons', 'gtceu:bismuth_bronze_axe') event.add('tfc:mob_mainhand_weapons', 'gtceu:bronze_axe') event.add('tfc:mob_mainhand_weapons', 'gtceu:black_bronze_axe') + // Косы event.add('tfc:mob_mainhand_weapons', 'gtceu:bismuth_bronze_scythe') event.add('tfc:mob_mainhand_weapons', 'gtceu:bronze_scythe') event.add('tfc:mob_mainhand_weapons', 'gtceu:black_bronze_scythe') + //#endregion - // Тэги для возможности использования разных углей в кузне + //#region Тэги для возможности использования разных углей в кузне event.add('tfc:forge_fuel', 'minecraft:coal') event.add('tfc:forge_fuel', 'gtceu:coke_gem') event.add('tfc:forge_fuel', 'gtceu:rich_raw_coal') event.add('tfc:forge_fuel', 'gtceu:raw_coal') event.add('tfc:forge_fuel', 'gtceu:poor_raw_coal') + //#endregion - // Тэги для сундуков, чтобы отличать их виды + //#region Тэги для сундуков, чтобы отличать их виды global.TFC_WOOD_TYPES.forEach(woodType => { event.add('tfg:default_chests', `tfc:wood/chest/${woodType}`) event.add('tfg:trapped_chests', `tfc:wood/trapped_chest/${woodType}`) - event.add('tfg:bladed_axles', `tfc:wood/bladed_axle/${woodType}`) + // event.add('tfg:bladed_axles', `tfc:wood/bladed_axle/${woodType}`) //todo: нахера я это добавлял? }) + //#endregion - // Теги для сосудов по цветам + //#region Теги для сосудов по цветам global.MINECRAFT_DYE_NAMES.forEach(dye => { event.add('tfg:colorized_unfired_vessels', `tfc:ceramic/${dye}_unfired_vessel`) event.add('tfg:colorized_fired_vessels', `tfc:ceramic/${dye}_glazed_vessel`) @@ -87,15 +109,18 @@ const registerTFCItemTags = (event) => { event.add('tfg:colorized_fired_large_vessels', `tfc:ceramic/large_vessel/${dye}`) }) + //#endregion - // Цвета гравия + //#region Объединяем гравий по цветам // Коричневый event.add('tfc:brown_gravel', 'tfc:rock/gravel/claystone') + // Белый event.add('tfc:white_gravel', 'tfc:rock/gravel/chalk') event.add('tfc:white_gravel', 'tfc:rock/gravel/diorite') event.add('tfc:white_gravel', 'tfc:rock/gravel/quartzite') event.add('tfc:white_gravel', 'tfc:rock/gravel/marble') + // Черный event.add('tfc:black_gravel', 'tfc:rock/gravel/basalt') event.add('tfc:black_gravel', 'tfc:rock/gravel/phyllite') @@ -104,24 +129,36 @@ const registerTFCItemTags = (event) => { event.add('tfc:black_gravel', 'tfc:rock/gravel/gabbro') event.add('tfc:black_gravel', 'tfc:rock/gravel/dolomite') event.add('tfc:black_gravel', 'tfc:rock/gravel/shale') + // Красный event.add('tfc:red_gravel', 'tfc:rock/gravel/chert') event.add('tfc:red_gravel', 'tfc:rock/gravel/rhyolite') + // Желтый event.add('tfc:yellow_gravel', 'tfc:rock/gravel/limestone') event.add('tfc:yellow_gravel', 'tfc:rock/gravel/slate') + // Зеленый event.add('tfc:green_gravel', 'tfc:rock/gravel/gneiss') event.add('tfc:green_gravel', 'tfc:rock/gravel/conglomerate') event.add('tfc:green_gravel', 'tfc:rock/gravel/schist') + // Розовый event.add('tfc:pink_gravel', 'tfc:rock/gravel/granite') + //#endregion - // Теги для объединения наковален - event.add('tfc:red_or_blue_anvil', 'tfc:metal/anvil/blue_steel') - event.add('tfc:red_or_blue_anvil', 'tfc:metal/anvil/red_steel') + //#region Теги для объединения наковален 2 уровня + event.add('tfg:tier_2_anvil', 'tfc:metal/anvil/bismuth_bronze') + event.add('tfg:tier_2_anvil', 'tfc:metal/anvil/bronze') + event.add('tfg:tier_2_anvil', 'tfc:metal/anvil/black_bronze') + //#endregion - // Теги для решеток + //#region Теги для объединения наковален 6 уровня + event.add('tfg:tier_6_anvil', 'tfc:metal/anvil/blue_steel') + event.add('tfg:tier_6_anvil', 'tfc:metal/anvil/red_steel') + //#endregion + + //#region Теги для объединения решеток event.add('tfg:metal_bars', 'tfc:metal/bars/bismuth_bronze') event.add('tfg:metal_bars', 'tfc:metal/bars/black_bronze') event.add('tfg:metal_bars', 'tfc:metal/bars/bronze') @@ -131,8 +168,9 @@ const registerTFCItemTags = (event) => { event.add('tfg:metal_bars', 'tfc:metal/bars/black_steel') event.add('tfg:metal_bars', 'tfc:metal/bars/blue_steel') event.add('tfg:metal_bars', 'tfc:metal/bars/red_steel') + //#endregion - // Тэги для цепей + //#region Теги для объединения цепей event.add('tfg:metal_chains', 'tfc:metal/chain/bismuth_bronze') event.add('tfg:metal_chains', 'tfc:metal/chain/black_bronze') event.add('tfg:metal_chains', 'tfc:metal/chain/bronze') @@ -142,8 +180,9 @@ const registerTFCItemTags = (event) => { event.add('tfg:metal_chains', 'tfc:metal/chain/black_steel') event.add('tfg:metal_chains', 'tfc:metal/chain/blue_steel') event.add('tfg:metal_chains', 'tfc:metal/chain/red_steel') - - // Теги для незаконченных ламп + //#endregion + + //#region Теги для объединения незаверешенных ламп event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/bismuth_bronze') event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/black_bronze') event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/bronze') @@ -153,8 +192,9 @@ const registerTFCItemTags = (event) => { event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/black_steel') event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/blue_steel') event.add('tfg:unfinished_lamps', 'tfc:metal/unfinished_lamp/red_steel') + //#endregion - // Теги для кораллов + //#region Теги для объединения кораллов event.add('tfc:corals', 'tfc:coral/tube_coral_fan') event.add('tfc:corals', 'tfc:coral/brain_coral_fan') event.add('tfc:corals', 'tfc:coral/bubble_coral_fan') @@ -175,8 +215,9 @@ const registerTFCItemTags = (event) => { event.add('tfc:corals', 'tfc:coral/brain_dead_coral') event.add('tfc:corals', 'tfc:coral/fire_dead_coral') event.add('tfc:corals', 'tfc:coral/horn_dead_coral') + //#endregion - // Теги для каменных ступенек тфк + //#region Теги для объединения ступеней, полублоков и стен соответственно global.TFC_STONE_TYPES.forEach(stoneTypeName => { global.TFC_ROCK_SLAB_BLOCK_TYPES.forEach(slabType => { event.add(`tfg:rock_slabs`, `tfc:rock/${slabType}/${stoneTypeName}_slab`) @@ -184,19 +225,32 @@ const registerTFCItemTags = (event) => { event.add(`tfg:rock_walls`, `tfc:rock/${slabType}/${stoneTypeName}_wall`) }) }) + //#endregion + + //#region Теги для обхединения яблок + event.add(`tfg:all_apples`, `tfc:food/red_apple`) + event.add(`tfg:all_apples`, `tfc:food/green_apple`) + //#endregion + + //#region Удаление тегов и скрытие руд + const ALL_TFC_ORES = Ingredient.of(/tfc:ore\/[^*]+\/[^*]+/).itemIds + + ALL_TFC_ORES.forEach(element => { + event.removeAllTagsFrom(element) + event.add('c:hidden_from_recipe_viewers', element) + }) + //#endregion // Удаление тегов у отключенных предметов global.TFC_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) event.add('c:hidden_from_recipe_viewers', item) }) - - // Удаление тегов у руд - event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") } const registerTFCBlockTags = (event) => { - // Теги для каменных ступенек тфк + + //#region Теги для объединения ступеней, полублоков и стен соответственно global.TFC_STONE_TYPES.forEach(stoneTypeName => { global.TFC_ROCK_SLAB_BLOCK_TYPES.forEach(slabType => { event.add(`tfg:rock_slabs`, `tfc:rock/${slabType}/${stoneTypeName}_slab`) @@ -204,86 +258,86 @@ const registerTFCBlockTags = (event) => { event.add(`tfg:rock_walls`, `tfc:rock/${slabType}/${stoneTypeName}_wall`) }) }) - - // Отключение ломания блоков установленных на полу + //#endregion + + //#region Отключение ломания блоков установленных на полу event.add('tfcdesirepaths:trample_blacklist', 'tfc:placed_item') - - // Возможность обрушения полу-блоков + //#endregion + + //#region Возможность обрушения полу-блоков event.add('tfc:can_collapse', '#tfg:rock_slabs') event.add('tfc:can_start_collapse', '#tfg:rock_slabs') event.add('tfc:can_trigger_collapse', '#tfg:rock_slabs') + //#endregion - // Возможность обрушения ступеней + //#region Возможность обрушения ступеней event.add('tfc:can_collapse', '#tfg:rock_stairs') event.add('tfc:can_start_collapse', '#tfg:rock_stairs') event.add('tfc:can_trigger_collapse', '#tfg:rock_stairs') + //#endregion - // Возможность обрушения стен + //#region Возможность обрушения стен event.add('tfc:can_collapse', '#tfg:rock_walls') event.add('tfc:can_start_collapse', '#tfg:rock_walls') event.add('tfc:can_trigger_collapse', '#tfg:rock_walls') + //#endregion - // Возможность обрушения руды + //#region Возможность обрушения руды event.add('tfc:can_collapse', '#forge:ores') event.add('tfc:can_start_collapse', '#forge:ores') event.add('tfc:can_trigger_collapse', '#forge:ores') - - event.add('tfc:monster_spawns_on', '#forge:ores') - event.add('tfc:prospectable', '#forge:ores') + //#endregion + //#region Разрешаем спавн мобов на руде + event.add('tfc:monster_spawns_on', '#forge:ores') + //#endregion + + //#region Разрешаем проспекторам тфк находить любые руды + event.add('tfc:prospectable', '#forge:ores') + //#endregion + + //#region Разрешаем отливать стекло в кастомных блоках + // GregTech блок латуни event.add('tfc:glass_basin_blocks', 'gtceu:brass_block') event.add('tfc:glass_pouring_table', 'gtceu:brass_block') + // Красная каолинитовая глина event.add('tfc:glass_basin_blocks', 'tfc:red_kaolin_clay') event.add('tfc:glass_pouring_table', 'tfc:red_kaolin_clay') + // Розовая каолинитовая глина event.add('tfc:glass_basin_blocks', 'tfc:pink_kaolin_clay') event.add('tfc:glass_pouring_table', 'tfc:pink_kaolin_clay') + // Белая каолинитовая глина event.add('tfc:glass_basin_blocks', 'tfc:white_kaolin_clay') event.add('tfc:glass_pouring_table', 'tfc:white_kaolin_clay') + //#endregion + + //#region Позволяем ТФК магме греть бойлер из Create + global.TFC_MAGMA_BLOCKS.forEach(el => { + event.add('create:passive_boiler_heaters', el) + }) + //#endregion + + //#region Удаление тегов и скрытие руд + const ALL_TFC_ORES = Ingredient.of(/tfc:ore\/[^*]+\/[^*]+/).itemIds + + ALL_TFC_ORES.forEach(element => { + event.removeAllTagsFrom(element) + event.add('c:hidden_from_recipe_viewers', element) + }) + //#endregion // Удаление тегов у отключенных предметов global.TFC_DISABLED_ITEMS.forEach(item => { event.removeAllTagsFrom(item) }) - - // Удаление тегов у руд - event.removeAllTagsFrom("/tfc:ore/[^*]+/[^*]+/") } const registerTFCFluidTags = (event) => { - // Удаление TFC металлов из возможных в форме слитка - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/bismuth') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/bismuth_bronze') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/bronze') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/black_bronze') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/brass') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/copper') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/gold') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/nickel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/rose_gold') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/silver') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/tin') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/zinc') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/sterling_silver') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/wrought_iron') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/black_steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/red_steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/blue_steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/cast_iron') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/pig_iron') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_black_steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_red_steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_blue_steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/weak_steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/weak_red_steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/weak_blue_steel') - event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/unknown') - - // Добавление GTCEu металлов в форму слитков + //#region Добавление GregTech металлов в форму слитков + // Обычные металлы event.add('tfc:usable_in_ingot_mold', 'gtceu:bismuth') event.add('tfc:usable_in_ingot_mold', 'gtceu:bismuth_bronze') event.add('tfc:usable_in_ingot_mold', 'gtceu:black_bronze') @@ -313,152 +367,214 @@ const registerTFCFluidTags = (event) => { event.add('tfc:usable_in_ingot_mold', 'tfg:weak_blue_steel') event.add('tfc:usable_in_ingot_mold', 'tfg:unknown') + // Кастомные металлы event.add('tfc:usable_in_ingot_mold', 'gtceu:red_alloy') event.add('tfc:usable_in_ingot_mold', 'gtceu:tin_alloy') + //#endregion - // + //#region Удаляем TFC металлов из формы слитка + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/bismuth') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/bismuth_bronze') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/bronze') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/black_bronze') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/brass') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/copper') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/gold') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/nickel') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/rose_gold') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/silver') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/tin') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/zinc') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/sterling_silver') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/wrought_iron') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/steel') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/black_steel') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/red_steel') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/blue_steel') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/cast_iron') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/pig_iron') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_steel') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_black_steel') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_red_steel') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/high_carbon_blue_steel') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/weak_steel') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/weak_red_steel') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/weak_blue_steel') + event.remove('tfc:usable_in_ingot_mold', 'tfc:metal/unknown') + //#endregion + + //#region Добавляем GregTech металлы в формы колокола event.add('tfc:usable_in_bell_mold', 'gtceu:bronze') event.add('tfc:usable_in_bell_mold', 'gtceu:gold') event.add('tfc:usable_in_bell_mold', 'gtceu:brass') + //#endregion - // + //#region Удаляем TFC металлы из формы колокола + event.remove('tfc:usable_in_bell_mold', "tfc:metal/bronze") + event.remove('tfc:usable_in_bell_mold', "tfc:metal/gold") + event.remove('tfc:usable_in_bell_mold', "tfc:metal/brass") + //#endregion + + //#region Добавляем GregTech металлы в формы оголовья event.add('tfc:usable_in_tool_head_mold', 'gtceu:copper') event.add('tfc:usable_in_tool_head_mold', 'gtceu:bismuth_bronze') event.add('tfc:usable_in_tool_head_mold', 'gtceu:black_bronze') event.add('tfc:usable_in_tool_head_mold', 'gtceu:bronze') + //#endregion - // + //#region Удаляем TFC металлы из формы оголовья + event.add('tfc:usable_in_tool_head_mold', 'tfc:metal/copper') + event.add('tfc:usable_in_tool_head_mold', 'tfc:metal/bismuth_bronze') + event.add('tfc:usable_in_tool_head_mold', 'tfc:metal/black_bronze') + event.add('tfc:usable_in_tool_head_mold', 'tfc:metal/bronze') + //#endregion + + //#region Добавляем жидкости в чашу event.add('tfc:usable_in_pot', 'tfg:latex') + //#endregion + + //#region Добавляем жидкости в бочку event.add('tfc:usable_in_barrel', 'tfg:latex') - event.add('tfc:usable_in_wooden_bucket', 'tfg:latex') - - // event.add('tfc:usable_in_barrel', 'gtceu:creosote') - event.add('tfc:usable_in_wooden_bucket', 'gtceu:creosote') - event.add('tfc:usable_in_red_steel_bucket', 'gtceu:creosote') - event.add('tfc:usable_in_blue_steel_bucket', 'gtceu:creosote') + //#endregion - // Добавляем тег для скрытия в EMI - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/bismuth') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/bismuth_bronze') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/bronze') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/black_bronze') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/brass') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/copper') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/gold') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/nickel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/rose_gold') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/silver') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/tin') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/zinc') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/sterling_silver') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/wrought_iron') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/black_steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/red_steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/blue_steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/cast_iron') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/pig_iron') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/high_carbon_steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/high_carbon_black_steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/high_carbon_red_steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/high_carbon_blue_steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/weak_steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/weak_red_steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/weak_blue_steel') - event.add('c:hidden_from_recipe_viewers', 'tfc:metal/unknown') + //#region Добавляем жидкости в деревянное ведро + event.add('tfc:usable_in_wooden_bucket', 'tfg:latex') + event.add('tfc:usable_in_wooden_bucket', 'gtceu:creosote') + //#endregion + + //#region Добавляем жидкости в красное ведро + event.add('tfc:usable_in_red_steel_bucket', 'gtceu:creosote') + //#endregion + + //#region Добавляем жидкости в синее ведро + event.add('tfc:usable_in_blue_steel_bucket', 'gtceu:creosote') + //#endregion + + //#region Скрываем неиспользуемые жидкости + const ALL_DISABLED_FLUIDS = [ + 'tfc:metal/bismuth', + 'tfc:metal/bismuth_bronze', + 'tfc:metal/bronze', + 'tfc:metal/black_bronze', + 'tfc:metal/brass', + 'tfc:metal/copper', + 'tfc:metal/gold', + 'tfc:metal/nickel', + 'tfc:metal/rose_gold', + 'tfc:metal/silver', + 'tfc:metal/tin', + 'tfc:metal/zinc', + 'tfc:metal/sterling_silver', + 'tfc:metal/wrought_iron', + 'tfc:metal/steel', + 'tfc:metal/black_steel', + 'tfc:metal/red_steel', + 'tfc:metal/blue_steel', + 'tfc:metal/cast_iron', + 'tfc:metal/pig_iron', + 'tfc:metal/high_carbon_steel', + 'tfc:metal/high_carbon_black_steel', + 'tfc:metal/high_carbon_red_steel', + 'tfc:metal/high_carbon_blue_steel', + 'tfc:metal/weak_steel', + 'tfc:metal/weak_red_steel', + 'tfc:metal/weak_blue_steel', + 'tfc:metal/unknown' + ] + + ALL_DISABLED_FLUIDS.forEach(fluid => { + event.add('c:hidden_from_recipe_viewers', fluid) + }) + //#endregion +} + +const registerTFCBiomeTags = (event) => { + + //#region Создаем тег со всеми TFC биомами + const ALL_TFC_BIOMES = [ + "tfc:badlands", + "tfc:canyons", + "tfc:deep_ocean", + "tfc:deep_ocean_trench", + "tfc:highlands", + "tfc:hills", + "tfc:inverted_badlands", + "tfc:lake", + "tfc:low_canyons", + "tfc:lowlands", + "tfc:mountain_lake", + "tfc:mountains", + "tfc:ocean", + "tfc:ocean_reef", + "tfc:oceanic_mountain_lake", + "tfc:oceanic_mountains", + "tfc:old_mountain_lake", + "tfc:old_mountains", + "tfc:plains", + "tfc:plateau", + "tfc:plateau_lake", + "tfc:river", + "tfc:rolling_hills", + "tfc:salt_marsh", + "tfc:shore", + "tfc:tidal_flats", + "tfc:volcanic_mountain_lake", + "tfc:volcanic_mountains", + "tfc:volcanic_oceanic_mountain_lake", + "tfc:volcanic_oceanic_mountains" + ] + + ALL_TFC_BIOMES.forEach(biome => { + event.add('tfg:is_tfc_overworld', biome) + }) + //#endregion } const registerTFCPlacedFeatures = (event) => { - // Удаление - event.remove('tfc:in_biome/veins', 'tfc:vein/surface_native_copper') - event.remove('tfc:in_biome/veins', 'tfc:vein/surface_malachite') - event.remove('tfc:in_biome/veins', 'tfc:vein/surface_tetrahedrite') - event.remove('tfc:in_biome/veins', 'tfc:vein/normal_malachite') - event.remove('tfc:in_biome/veins', 'tfc:vein/normal_tetrahedrite') - event.remove('tfc:in_biome/veins', 'tfc:vein/normal_native_gold') - event.remove('tfc:in_biome/veins', 'tfc:vein/rich_native_gold') - event.remove('tfc:in_biome/veins', 'tfc:vein/fake_native_gold') - event.remove('tfc:in_biome/veins', 'tfc:vein/surface_native_silver') - event.remove('tfc:in_biome/veins', 'tfc:vein/normal_native_silver') - event.remove('tfc:in_biome/veins', 'tfc:vein/surface_cassiterite') - event.remove('tfc:in_biome/veins', 'tfc:vein/surface_bismuthinite') - event.remove('tfc:in_biome/veins', 'tfc:vein/normal_bismuthinite') - event.remove('tfc:in_biome/veins', 'tfc:vein/surface_sphalerite') - event.remove('tfc:in_biome/veins', 'tfc:vein/normal_sphalerite') - event.remove('tfc:in_biome/veins', 'tfc:vein/surface_hematite') - event.remove('tfc:in_biome/veins', 'tfc:vein/surface_magnetite') - event.remove('tfc:in_biome/veins', 'tfc:vein/surface_limonite') - event.remove('tfc:in_biome/veins', 'tfc:vein/normal_garnierite') - event.remove('tfc:in_biome/veins', 'tfc:vein/gabbro_garnierite') - event.remove('tfc:in_biome/veins', 'tfc:vein/graphite') - event.remove('tfc:in_biome/veins', 'tfc:vein/lignite') - event.remove('tfc:in_biome/veins', 'tfc:vein/bituminous_coal') - event.remove('tfc:in_biome/veins', 'tfc:vein/sulfur') - event.remove('tfc:in_biome/veins', 'tfc:vein/cryolite') - event.remove('tfc:in_biome/veins', 'tfc:vein/cinnabar') - event.remove('tfc:in_biome/veins', 'tfc:vein/saltpeter') - event.remove('tfc:in_biome/veins', 'tfc:vein/sylvite') - event.remove('tfc:in_biome/veins', 'tfc:vein/borax') - event.remove('tfc:in_biome/veins', 'tfc:vein/gypsum') - event.remove('tfc:in_biome/veins', 'tfc:vein/halite') - event.remove('tfc:in_biome/veins', 'tfc:vein/lapis_lazuli') - event.remove('tfc:in_biome/veins', 'tfc:vein/diamond') - event.remove('tfc:in_biome/veins', 'tfc:vein/emerald') - event.remove('tfc:in_biome/veins', 'tfc:vein/amethyst') - event.remove('tfc:in_biome/veins', 'tfc:vein/opal') - event.remove('tfc:in_biome/veins', 'tfc:geode') + //#region Удаляем все руды TFC из генерации мира + const ALL_DISABLED_TFC_VEINS = [ + 'tfc:vein/surface_native_copper', + 'tfc:vein/surface_malachite', + 'tfc:vein/surface_tetrahedrite', + 'tfc:vein/normal_malachite', + 'tfc:vein/normal_tetrahedrite', + 'tfc:vein/normal_native_gold', + 'tfc:vein/rich_native_gold', + 'tfc:vein/fake_native_gold', + 'tfc:vein/surface_native_silver', + 'tfc:vein/normal_native_silver', + 'tfc:vein/surface_cassiterite', + 'tfc:vein/surface_bismuthinite', + 'tfc:vein/normal_bismuthinite', + 'tfc:vein/surface_sphalerite', + 'tfc:vein/normal_sphalerite', + 'tfc:vein/surface_hematite', + 'tfc:vein/surface_magnetite', + 'tfc:vein/surface_limonite', + 'tfc:vein/normal_garnierite', + 'tfc:vein/gabbro_garnierite', + 'tfc:vein/graphite', + 'tfc:vein/lignite', + 'tfc:vein/bituminous_coal', + 'tfc:vein/sulfur', + 'tfc:vein/cryolite', + 'tfc:vein/cinnabar', + 'tfc:vein/saltpeter', + 'tfc:vein/sylvite', + 'tfc:vein/borax', + 'tfc:vein/gypsum', + 'tfc:vein/halite', + 'tfc:vein/lapis_lazuli', + 'tfc:vein/diamond', + 'tfc:vein/emerald', + 'tfc:vein/amethyst', + 'tfc:vein/opal' + ] - // Добавление - event.add('tfc:in_biome/veins', 'tfg:vein/deep_garnet_amethyst') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_garnet_opal') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_gold') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_hematite') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_limonite') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_magnetite') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_molybdenum') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_naquadah') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_pitchblende') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_sapphire') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_scheelite') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_sheldonite') - event.add('tfc:in_biome/veins', 'tfg:vein/deep_topaz') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_apatite_') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_basaltic_sands') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_bauxite') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_beryllium') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_bismuthinite') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_cassiterite') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_certus_quartz') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_coal') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_copper') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_garnet_tin') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_garnierite') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_gold') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_graphite') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_hematite') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_spodumene') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_oil_sands') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_lapis') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_limonite') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_lubricant') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_magnetite') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_manganese') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_mica') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_monazite') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_olivine') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_redstone') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_salt') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_saltpeter') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_silver') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_sphalerite') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_sulfur') - event.add('tfc:in_biome/veins', 'tfg:vein/normal_tetrahedrite') - event.add('tfc:in_biome/veins', 'tfg:vein/surface_bismuthinite') - event.add('tfc:in_biome/veins', 'tfg:vein/surface_cassiterite') - event.add('tfc:in_biome/veins', 'tfg:vein/surface_copper') - event.add('tfc:in_biome/veins', 'tfg:vein/surface_sphalerite') - event.add('tfc:in_biome/veins', 'tfg:vein/surface_tetrahedrite') - event.add('tfc:in_biome/veins', 'tfg:geode') + ALL_DISABLED_TFC_VEINS.forEach(vein => { + event.remove('tfc:in_biome/veins', vein) + }) + //#endregion } diff --git a/kubejs/server_scripts/tfc_grooming_station/recipes.js b/kubejs/server_scripts/tfc_grooming_station/recipes.js index d8d58d98e..e206a8c72 100644 --- a/kubejs/server_scripts/tfc_grooming_station/recipes.js +++ b/kubejs/server_scripts/tfc_grooming_station/recipes.js @@ -1,7 +1,7 @@ // priority: 0 -const registerTFCGroomingStationRecipes = (event) => { - const materials = [ +const registerTFCGroomingStationRecipes = (e) => { + const GROOMING_MATERIALS = [ 'copper', 'bismuth_bronze', 'bronze', @@ -13,9 +13,10 @@ const registerTFCGroomingStationRecipes = (event) => { 'blue_steel' ] - materials.forEach(material => { - console.log(material) - event.shaped(`tfcgroomer:${material}_grooming_station`, [ + GROOMING_MATERIALS.forEach(material => { + e.remove({ id: `tfcgroomer:${material}_grooming_station` }) + + e.shaped(`tfcgroomer:${material}_grooming_station`, [ 'ABA', 'AAA', 'C C' @@ -25,4 +26,4 @@ const registerTFCGroomingStationRecipes = (event) => { C: 'tfc:wattle' }).id(`tfcgroomer:${material}_grooming_station`) }) -} +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfcea/recipes.js b/kubejs/server_scripts/tfcea/recipes.js index c6a96e870..6698addc3 100644 --- a/kubejs/server_scripts/tfcea/recipes.js +++ b/kubejs/server_scripts/tfcea/recipes.js @@ -1,7 +1,7 @@ const registerTfceaRecipes = (event) => { - //удаление рецептов мода + // Удаление рецептов мода event.remove({ mod: 'tfcea' }) event.shaped('tfcea:refrigerator', [ @@ -15,6 +15,6 @@ const registerTfceaRecipes = (event) => { D: 'gtceu:lv_fluid_regulator', E: 'gtceu:lv_machine_hull', F: 'gtceu:lv_electric_pump', - }).id('tfcea:refrigerator') + }).id('tfg:shaped/refrigerator') } \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/recipes.js b/kubejs/server_scripts/tfg/recipes.js new file mode 100644 index 000000000..6eeec8cdc --- /dev/null +++ b/kubejs/server_scripts/tfg/recipes.js @@ -0,0 +1,21 @@ +// priority: 0 + +const registerTFGRecipes = (e) => { + + //#region Copper Coil Block + + e.recipes.gtceu.assembler(`tfg:copper_coil_block`) + .itemInputs('8x gtceu:copper_double_wire', '8x #forge:foils/copper') + .inputFluids(Fluid.of('gtceu:tin_alloy', 144)) + .itemOutputs('tfg:copper_coil_block') + .EUt(16).duration(200) + + e.recipes.createSequencedAssembly([ + 'tfg:copper_coil_block', + ], 'gtceu:copper_frame', [ + e.recipes.createDeploying('tfg:unfinished_copper_coil_block', ['tfg:unfinished_copper_coil_block', 'gtceu:copper_double_wire']), + e.recipes.createDeploying('tfg:unfinished_copper_coil_block', ['tfg:unfinished_copper_coil_block', '#forge:foils/copper']), + ]).transitionalItem('tfg:unfinished_copper_coil_block').loops(8).id('tfg:sequenced_assembly/copper_coil_block') + + //#endregion +} \ No newline at end of file diff --git a/kubejs/server_scripts/tfg/tags.js b/kubejs/server_scripts/tfg/tags.js new file mode 100644 index 000000000..e67723a3f --- /dev/null +++ b/kubejs/server_scripts/tfg/tags.js @@ -0,0 +1,24 @@ +// priority: 0 + +const registerTFGItemTags = (event) => { + +} + +const registerTFGBlockTags = (event) => { + + +} + +const registerTFGFluidTags = (event) => { + +} + +const registerTFGBiomeTags = (event) => { + + +} + +const registerTFGPlacedFeatures = (event) => { + + +} diff --git a/kubejs/server_scripts/toolbelt/recipes.js b/kubejs/server_scripts/toolbelt/recipes.js index 60e8b81b7..bdfca422c 100644 --- a/kubejs/server_scripts/toolbelt/recipes.js +++ b/kubejs/server_scripts/toolbelt/recipes.js @@ -14,7 +14,7 @@ const registerToolBeltRecipes = (event) => { A: '#forge:string', B: '#forge:leather', C: '#forge:plates/wrought_iron' - }).id('tfg:toolbelt/shaped/pouch') + }).id('tfg:shaped/pouch') // ToolBelt с размером 2 event.shaped(Item.of('toolbelt:belt', {Size:2}), [ @@ -25,13 +25,13 @@ const registerToolBeltRecipes = (event) => { A: '#forge:string', B: '#forge:leather', C: '#forge:plates/wrought_iron' - }).id('tfg:toolbelt/shaped/belt_' + 2) + }).id('tfg:shaped/belt_2') // ToolBelt с размером 3 - 9 for (let i = 3; i < 10; i++) { event.shapeless(Item.of('toolbelt:belt', {Size:i}), [ Ingredient.of(Item.of('toolbelt:belt', {Size:i-1}).strongNBT()).or(Ingredient.of(Item.of('toolbelt:belt', {Size:i-1,Items:[]}).strongNBT())), 'toolbelt:pouch' - ]).id('tfg:toolbelt/shaped/belt_' + i) + ]).id(`tfg:shaped/belt_${i}`) } -} +} \ No newline at end of file diff --git a/kubejs/server_scripts/treetap/data.js b/kubejs/server_scripts/treetap/data.js index ccaafbb3f..ce68b2d0c 100644 --- a/kubejs/server_scripts/treetap/data.js +++ b/kubejs/server_scripts/treetap/data.js @@ -4,15 +4,6 @@ const registerTFCDataForTreeTap = (event) => { registerTreeTapHeats(event) } -/** - * event.itemHeat( - ingredient: Ingredient, - heatCapacity: number, - forgingTemperature: @Nullable number, - weldingTemperature: @Nullable number, - name?: string - ) - */ const registerTreeTapHeats = (event) => { event.itemHeat('treetap:tap', 0.2345, null, null) } \ No newline at end of file diff --git a/kubejs/server_scripts/treetap/recipes.js b/kubejs/server_scripts/treetap/recipes.js index 07722e040..10d04bfcf 100644 --- a/kubejs/server_scripts/treetap/recipes.js +++ b/kubejs/server_scripts/treetap/recipes.js @@ -1,21 +1,29 @@ // priority: 0 -const registerTreeTapRecipes = (event) => { +const registerTreeTapRecipes = (e) => { - // Удаление всех рецептов мода - event.remove({ mod: 'treetap' }) + //#region Treetap + e.remove({ id: 'treetap:tap' }) - // TreeTap - event.recipes.tfc.anvil('treetap:tap', '#forge:ingots/copper', [ 'draw_not_last', 'hit_not_last', 'shrink_last' ]) + e.recipes.tfc.anvil('treetap:tap', '#forge:ingots/copper', [ 'draw_not_last', 'hit_not_last', 'shrink_last' ]) .id('tfg:anvil/treetap') - // TreeTap Heating - event.recipes.tfc.heating('treetap:tap', 1080) + e.recipes.gtceu.assembler(`tfg:treetap`) + .itemInputs('#forge:ingots/copper') + .circuit(12) + .itemOutputs('treetap:tap') + .EUt(GTValues.VA[GTValues.ULV]).duration(100) + + //#endregion + + //#region Декрафт Treetap + e.recipes.tfc.heating('treetap:tap', 1080) .resultFluid(Fluid.of('gtceu:copper', 144)) .id('tfg:heating/treetap') + //#endregion - // Latex From Kapok - event.custom({ + //#region Рецепты Treetap + e.custom({ type: "treetap:tap_extract", log: { "item": "tfc:wood/log/kapok" @@ -38,4 +46,5 @@ const registerTreeTapRecipes = (event) => { } ] }).id('tfg:treetap/latex') + //#endregion } \ No newline at end of file diff --git a/kubejs/server_scripts/water_flasks/data.js b/kubejs/server_scripts/water_flasks/data.js index ae8860cb9..0168ed24f 100644 --- a/kubejs/server_scripts/water_flasks/data.js +++ b/kubejs/server_scripts/water_flasks/data.js @@ -4,15 +4,6 @@ const registerTFCDataForWaterFlasks = (event) => { registerWaterFlasksHeats(event) } -/** - * event.itemHeat( - ingredient: Ingredient, - heatCapacity: number, - forgingTemperature: @Nullable number, - weldingTemperature: @Nullable number, - name?: string - ) - */ const registerWaterFlasksHeats = (event) => { event.itemHeat('waterflasks:unfinished_iron_flask', 0.2345, null, null) event.itemHeat('waterflasks:broken_iron_flask', 0.2345, null, null) diff --git a/kubejs/server_scripts/water_flasks/recipes.js b/kubejs/server_scripts/water_flasks/recipes.js index 0ee9fec5a..b9d7551da 100644 --- a/kubejs/server_scripts/water_flasks/recipes.js +++ b/kubejs/server_scripts/water_flasks/recipes.js @@ -1,56 +1,48 @@ // priority: 0 -const registerWaterFlasksRecipes = (event) => { +const registerWaterFlasksRecipes = (e) => { // Декрафт Unfinished Water Flask - event.recipes.tfc.heating('waterflasks:unfinished_iron_flask', 1535) + e.recipes.tfc.heating('waterflasks:unfinished_iron_flask', 1535) .resultFluid(Fluid.of('gtceu:iron', 144)) - .id(`waterflasks:heating/wrought_iron_unfinished_iron_flask`) + .id(`tfg:heating/wrought_iron_unfinished_iron_flask`) // Декрафт Broken Water Flask - event.recipes.tfc.heating('waterflasks:broken_iron_flask', 1535) + e.recipes.tfc.heating('waterflasks:broken_iron_flask', 1535) .resultFluid(Fluid.of('gtceu:iron', 144)) - .id(`waterflasks:heating/wrought_iron_broken_iron_flask`) + .id(`tfg:heating/wrought_iron_broken_iron_flask`) // Декрафт Water Flask - event.recipes.tfc.heating('waterflasks:iron_flask', 1535) + e.recipes.tfc.heating('waterflasks:iron_flask', 1535) .resultFluid(Fluid.of('gtceu:iron', 144)) .useDurability(true) - .id(`waterflasks:heating/wrought_iron_iron_flask`) + .id(`tfg:heating/wrought_iron_iron_flask`) //#region Кожанная фласка - - event.recipes.gtceu.assembler('tfg:water_flasks/leather_flask') + e.recipes.gtceu.assembler('tfg:leather_flask') .itemInputs('3x #forge:leather', '2x #forge:string') .circuit(1) .itemOutputs('waterflasks:leather_flask') - .duration(250) - .EUt(16) + .EUt(16).duration(250) - event.recipes.gtceu.assembler('tfg:water_flasks/leather_flask_repair') + e.recipes.gtceu.assembler('tfg:leather_flask_repair') .itemInputs('waterflasks:broken_leather_flask', '#forge:leather', '2x #forge:string') .circuit(2) .itemOutputs('waterflasks:leather_flask') - .duration(250) - .EUt(16) - + .EUt(16).duration(250) //#endregion //#region Железная фласка - - event.recipes.gtceu.assembler('tfg:water_flasks/iron_flask') - .itemInputs('tfc:burlap_cloth', '#forge:string', '#forge:leather', '#forge:plates/wrought_iron') + e.recipes.gtceu.assembler('tfg:iron_flask') + .itemInputs('tfc:burlap_cloth', '#forge:string', '#forge:leather', '#tfg:all_iron_plates') .circuit(1) .itemOutputs('waterflasks:iron_flask') - .duration(250) - .EUt(16) + .EUt(16).duration(250) - event.recipes.gtceu.assembler('tfg:water_flasks/iron_flask_repair') + e.recipes.gtceu.assembler('tfg:iron_flask_repair') .itemInputs('waterflasks:broken_iron_flask', 'tfc:burlap_cloth', '#forge:string', '#forge:leather') .circuit(2) .itemOutputs('waterflasks:iron_flask') - .duration(250) - .EUt(16) - + .EUt(16).duration(250) //#endregion } \ No newline at end of file diff --git a/kubejs/startup_scripts/advancedperipherals/constants.js b/kubejs/startup_scripts/advancedperipherals/constants.js new file mode 100644 index 000000000..7e34eb6f7 --- /dev/null +++ b/kubejs/startup_scripts/advancedperipherals/constants.js @@ -0,0 +1,10 @@ +// priority: 0 + +global.ADVANCED_PERIPHERALS_DISABLED_ITEMS = [ + 'advancedperipherals:colony_integrator', + 'advancedperipherals:rs_bridge', + + 'advancedperipherals:chunk_controller', + 'advancedperipherals:computer_tool', +] + diff --git a/kubejs/startup_scripts/alekiroofs/constants.js b/kubejs/startup_scripts/alekiroofs/constants.js new file mode 100644 index 000000000..a37c9bb08 --- /dev/null +++ b/kubejs/startup_scripts/alekiroofs/constants.js @@ -0,0 +1,36 @@ +// priority: 0 + +global.ALEKI_ROOFS_DISABLED_ITEMS = [ + "alekiroofs:mud_brick_roofing", + "alekiroofs:sandstone_roofing", + "alekiroofs:smooth_sandstone_roofing", + "alekiroofs:red_sandstone_roofing", + "alekiroofs:smooth_red_sandstone_roofing", + "alekiroofs:oak_roofing", + "alekiroofs:spruce_roofing", + "alekiroofs:birch_roofing", + "alekiroofs:jungle_roofing", + "alekiroofs:acacia_roofing", + "alekiroofs:dark_oak_roofing", + "alekiroofs:mangrove_roofing", + "alekiroofs:cherry_roofing", + "alekiroofs:crimson_roofing", + "alekiroofs:warped_roofing", + "alekiroofs:cobbled_deepslate_roofing", + "alekiroofs:polished_deepslate_roofing", + "alekiroofs:deepslate_tile_roofing", + "alekiroofs:deepslate_brick_roofing", + "alekiroofs:andesite_roofing", + "alekiroofs:polished_andesite_roofing", + "alekiroofs:granite_roofing", + "alekiroofs:polished_granite_roofing", + "alekiroofs:diorite_roofing", + "alekiroofs:polished_diorite_roofing", + "alekiroofs:stone_roofing", + "alekiroofs:cobblestone_roofing", + "alekiroofs:mossy_cobblestone_roofing", + "alekiroofs:stone_brick_roofing", + "alekiroofs:mossy_stone_brick_roofing", + "alekiroofs:purpur_roofing", + "alekiroofs:end_stone_brick_roofing", +]; \ No newline at end of file diff --git a/kubejs/startup_scripts/alekiships/constants.js b/kubejs/startup_scripts/alekiships/constants.js new file mode 100644 index 000000000..94187ee10 --- /dev/null +++ b/kubejs/startup_scripts/alekiships/constants.js @@ -0,0 +1,7 @@ +// priority: 0 + +global.ALEKI_SHIPS_DISABLED_ITEMS = [ + 'alekiships:cannon', + 'alekiships:watercraft_frame_angled', + 'alekiships:watercraft_frame_flat' +] \ No newline at end of file diff --git a/kubejs/startup_scripts/beneath/constants.js b/kubejs/startup_scripts/beneath/constants.js new file mode 100644 index 000000000..4cbb48e75 --- /dev/null +++ b/kubejs/startup_scripts/beneath/constants.js @@ -0,0 +1,10 @@ +// priority: 0 + +global.BENEATH_DISABLED_ITEMS = [ + +]; + +global.BENEATH_WOOD_TYPES = [ + 'warped', + 'crimson' +]; \ No newline at end of file diff --git a/kubejs/startup_scripts/firmaciv/blocks.js b/kubejs/startup_scripts/firmaciv/blocks.js index f9a3a5c57..833cd702f 100644 --- a/kubejs/startup_scripts/firmaciv/blocks.js +++ b/kubejs/startup_scripts/firmaciv/blocks.js @@ -1,8 +1,8 @@ // priority: 0 const modifyFirmaCivBlocks = (event) => { - event.modify('firmaciv:cleat', block => { - block.requiresTool = false - block.destroySpeed = 0.1 - }) + // event.modify('firmaciv:cleat', block => { + // block.requiresTool = false + // block.destroySpeed = 0.1 + // }) } \ No newline at end of file diff --git a/kubejs/startup_scripts/firmalife/constants.js b/kubejs/startup_scripts/firmalife/constants.js index 27b131cf2..b4e032881 100644 --- a/kubejs/startup_scripts/firmalife/constants.js +++ b/kubejs/startup_scripts/firmalife/constants.js @@ -2,7 +2,7 @@ /** * Список хранит предметы, - * у которых должны быть удалены тэги и они должны быть скрыты в REI. + * у которых должны быть удалены тэги и они должны быть скрыты в EMI. */ global.FIRMALIFE_DISABLED_ITEMS = [ @@ -37,6 +37,10 @@ global.FIRMALIFE_DISABLED_ITEMS = [ 'firmalife:pumping_station' ]; +/** + * Список хранит предметы, + * у которых должны быть скрыты в EMI. + */ global.FIRMALIFE_HIDED_ITEMS = [ 'firmalife:weathered_copper_greenhouse_wall', 'firmalife:weathered_copper_greenhouse_panel_wall', @@ -93,10 +97,10 @@ global.FIRMALIFE_HIDED_ITEMS = [ 'firmalife:weathered_treated_wood_greenhouse_port' ]; - -global.FIRMALIFE_ORE_MATERIALS = [ - 'chromite' -]; +//todo: to remove +// global.FIRMALIFE_ORE_MATERIALS = [ +// 'chromite' +// ]; global.FIRMALIFE_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = [ { input: 'firmalife:plant/cocoa_sapling', fluid_amount: 8000, output: '3x firmalife:food/cocoa_beans', name: 'cocoa_beans' }, diff --git a/kubejs/startup_scripts/gregtech/blocks.js b/kubejs/startup_scripts/gregtech/blocks.js new file mode 100644 index 000000000..062d4e17e --- /dev/null +++ b/kubejs/startup_scripts/gregtech/blocks.js @@ -0,0 +1,18 @@ +// priority: 0 + +const registerGregTechBlocks = (event) => { + + //todo: + event.create('tfg:copper_coil_block', 'gtceu:coil') + .temperature(500) + .level(0) + .energyDiscount(1) + .tier(0) + .coilMaterial(() => GTMaterials.get('copper')) + .hardness(2) + .requiresTool(true) + .tagBlock("mineable/pickaxe") + .tagBlock("forge:mineable/wrench") + .soundType('metal') + .material('metal') +} \ No newline at end of file diff --git a/kubejs/startup_scripts/gregtech/constants.js b/kubejs/startup_scripts/gregtech/constants.js new file mode 100644 index 000000000..fbdc3bacb --- /dev/null +++ b/kubejs/startup_scripts/gregtech/constants.js @@ -0,0 +1,94 @@ +// priority: 0 + +global.GTCEU_DISABLED_ITEMS = [ + //#region Резиновое + 'gtceu:rubber_sapling', + 'gtceu:rubber_log', + 'gtceu:rubber_leaves', + 'gtceu:stripped_rubber_log', + 'gtceu:rubber_wood', + 'gtceu:stripped_rubber_wood', + 'gtceu:rubber_planks', + 'gtceu:rubber_slab', + 'gtceu:rubber_fence', + 'gtceu:rubber_sign', + 'gtceu:rubber_hanging_sign', + 'gtceu:rubber_pressure_plate', + 'gtceu:rubber_trapdoor', + 'gtceu:rubber_stairs', + 'gtceu:rubber_button', + 'gtceu:rubber_fence_gate', + 'gtceu:rubber_door', + 'gtceu:rubber_boat', + 'gtceu:rubber_chest_boat', + //#endregion + + //#region Обработанное + 'gtceu:treated_wood_slab', + 'gtceu:treated_wood_fence', + 'gtceu:treated_wood_sign', + 'gtceu:treated_wood_hanging_sign', + 'gtceu:treated_wood_pressure_plate', + 'gtceu:treated_wood_trapdoor', + 'gtceu:treated_wood_stairs', + 'gtceu:treated_wood_button', + 'gtceu:treated_wood_fence_gate', + 'gtceu:treated_wood_door', + 'gtceu:treated_wood_boat', + 'gtceu:treated_wood_chest_boat', + //#endregion + + //#region Примитивная помпа + 'gtceu:infinite_water_cover', + 'gtceu:pump_deck', + 'gtceu:pump_hatch', + 'gtceu:primitive_pump', + //#endregion + + //#region Примитивная домна + 'gtceu:primitive_blast_furnace', + //#endregion + + // Другое + 'gtceu:firebrick', + 'gtceu:firebricks', + +]; + +global.GTCEU_HIDED_ITEMS = [ + 'gtceu:netherrack_dust', + 'gtceu:small_netherrack_dust', + 'gtceu:tiny_netherrack_dust' +]; + +global.GTCEU_WOOD_TYPES = [ + "rubber", + "treated" +]; + +global.TFG_EXTRUDER_MOLDS = [ + 'tfg:mining_hammer_head_extruder_mold', + 'tfg:sword_head_extruder_mold', + 'tfg:pickaxe_head_extruder_mold', + 'tfg:shovel_head_extruder_mold', + 'tfg:axe_head_extruder_mold', + 'tfg:hoe_head_extruder_mold', + 'tfg:scythe_head_extruder_mold', + 'tfg:file_head_extruder_mold', + 'tfg:hammer_head_extruder_mold', + 'tfg:saw_head_extruder_mold', + 'tfg:knife_head_extruder_mold', + 'tfg:butchery_knife_head_extruder_mold', + 'tfg:spade_head_extruder_mold', + 'tfg:propick_head_extruder_mold', + 'tfg:javelin_head_extruder_mold', + 'tfg:chisel_head_extruder_mold', + 'tfg:mace_head_extruder_mold' +]; + +global.TFG_CASTING_MOLDS = [ + 'tfg:lamp_casting_mold', + 'tfg:trapdoor_casting_mold', + 'tfg:chain_casting_mold', + 'tfg:bell_casting_mold' +]; \ No newline at end of file diff --git a/kubejs/startup_scripts/gregtech/items.js b/kubejs/startup_scripts/gregtech/items.js new file mode 100644 index 000000000..2d6ea7918 --- /dev/null +++ b/kubejs/startup_scripts/gregtech/items.js @@ -0,0 +1,32 @@ +// priority: 0 + +const registerGregTechItems = (event) => { + event.create('tfg:unfinished_vacuum_tube', 'create:sequenced_assembly') + event.create('tfg:unfinished_basic_electronic_circuit', 'create:sequenced_assembly') + event.create('tfg:unfinished_copper_coil_block', 'create:sequenced_assembly') + + // Extrudel Molds + event.create('tfg:mining_hammer_head_extruder_mold') + event.create('tfg:sword_head_extruder_mold') + event.create('tfg:pickaxe_head_extruder_mold') + event.create('tfg:shovel_head_extruder_mold') + event.create('tfg:axe_head_extruder_mold') + event.create('tfg:hoe_head_extruder_mold') + event.create('tfg:scythe_head_extruder_mold') + event.create('tfg:file_head_extruder_mold') + event.create('tfg:hammer_head_extruder_mold') + event.create('tfg:saw_head_extruder_mold') + event.create('tfg:knife_head_extruder_mold') + event.create('tfg:butchery_knife_head_extruder_mold') + event.create('tfg:spade_head_extruder_mold') + event.create('tfg:propick_head_extruder_mold') + event.create('tfg:javelin_head_extruder_mold') + event.create('tfg:chisel_head_extruder_mold') + event.create('tfg:mace_head_extruder_mold') + + // Other Molds + event.create('tfg:lamp_casting_mold') + event.create('tfg:trapdoor_casting_mold') + event.create('tfg:chain_casting_mold') + event.create('tfg:bell_casting_mold') +} \ No newline at end of file diff --git a/kubejs/startup_scripts/gtceu/machines.js b/kubejs/startup_scripts/gregtech/machines.js similarity index 86% rename from kubejs/startup_scripts/gtceu/machines.js rename to kubejs/startup_scripts/gregtech/machines.js index 0a415b613..3ccd4fa1f 100644 --- a/kubejs/startup_scripts/gtceu/machines.js +++ b/kubejs/startup_scripts/gregtech/machines.js @@ -1,6 +1,8 @@ // priority: 0 -const registerGTCEuMachines = (event) => { +const registerGregTechMachines = (event) => { + + // Регистрация мультиблока теплицы event.create('greenhouse', 'multiblock') .rotationState(RotationState.NON_Y_AXIS) .recipeType('greenhouse') @@ -24,20 +26,23 @@ const registerGTCEuMachines = (event) => { ) .workableCasingRenderer('gtceu:block/casings/solid/machine_casing_solid_steel', 'gtceu:block/multiblock/implosion_compressor', false) + // Регистрация мультиблока (хз как перевести, короче конвертит энергию физическую в энергию электрическую) event.create('alternator', 'multiblock') .rotationState(RotationState.NON_Y_AXIS) .recipeType('alternator') + .appearanceBlock(GTBlocks.CASING_STEEL_SOLID) + .generator(true) .pattern(definition => FactoryBlockPattern.start() .aisle("CWC", "CWC", "#W#") .aisle("CWC", "K#E", "CWC") .aisle("CWI", "CWA", "#W#") .where('A', Predicates.controller(Predicates.blocks(definition.get()))) - .where('W', Predicates.blocks('gtceu:cupronickel_coil_block')) + .where('I', Predicates.abilities(PartAbility.IMPORT_ITEMS).setExactLimit(1)) + .where('W', Predicates.blocks('tfg:copper_coil_block')) .where("C", Predicates.blocks(GTBlocks.CASING_STEEL_SOLID.get())) .where('#', Predicates.any()) .where('K', Predicates.abilities(PartAbility.INPUT_KINETIC).setExactLimit(1)) .where('E', Predicates.abilities(PartAbility.OUTPUT_ENERGY).setExactLimit(1)) - .where('I', Predicates.abilities(PartAbility.IMPORT_ITEMS).setExactLimit(1)) .build() ) .workableCasingRenderer( diff --git a/kubejs/startup_scripts/gregtech/material_info.js b/kubejs/startup_scripts/gregtech/material_info.js new file mode 100644 index 000000000..b52134c6f --- /dev/null +++ b/kubejs/startup_scripts/gregtech/material_info.js @@ -0,0 +1,88 @@ +// priority: 0 + + +const registerGregTechMaterialInfo = (event) => { + + //! отключено для проверки + //#region Ванильное незер дерево + // global.MINECRAFT_NETHER_WOOD_TYPES.forEach(woodName => { + // const trapdoor = Item.of(`minecraft:${woodName}_trapdoors`).of(`minecraft:${woodName}_trapdoor`) + // const pressurePlate = Item.of(`minecraft:${woodName}_pressure_plate`) + // const button = Item.of(`minecraft:${woodName}_button`) + // const sign = Item.of(`minecraft:${woodName}_sign`) + // const hangingSign = Item.of(`minecraft:${woodName}_hanging_sign`) + + // const trapdoorMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) + // const pressurePlateMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) + // const buttonMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M / 9)) + // const signMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) + // const hangingButtonMaterialInfo = new ItemMaterialInfo(new MaterialStack(GTMaterials.Wood, GTValues.M)) + + // event.add(trapdoor, trapdoorMaterialInfo); + // event.add(pressurePlate, pressurePlateMaterialInfo); + // event.add(button, buttonMaterialInfo); + // event.add(sign, signMaterialInfo); + // event.add(hangingSign, hangingButtonMaterialInfo); + + // }) + //#endregion + + //#region ТФК дерево + // global.WOOD_BLOCK_TYPES.forEach(wood => { + // event.add(wood.tag, new ItemMaterialInfo(wood.material)); + // }) + //#endregion + + + //#region Дерево + // ChemicalHelper.ITEM_MATERIAL_INFO.remove(Item.of('minecraft:acacia_planks')) + + // global.MINECRAFT_ALL_WOOD_TYPES.forEach(woodType => { + // event.remove(`minecraft:${woodType}_planks`) + // event.remove(`minecraft:${woodType}_stairs`) + // event.remove(`minecraft:${woodType}_slab`) + // event.remove(`minecraft:${woodType}_fence`) + // event.remove(`minecraft:${woodType}_fence_gate`) + // event.remove(`minecraft:${woodType}_door`) + // event.remove(`minecraft:${woodType}_button`) + // event.remove(`minecraft:${woodType}_boat`) + // }) + + // Сундуки + // removeMaterialInfo(Blocks.CHEST); + // removeMaterialInfo(Blocks.TRAPPED_CHEST); + + // Верстаки + // removeMaterialInfo(Blocks.CRAFTING_TABLE); + + //#endregion + + // const testMaterial1 = GTMaterials.Copper; + // const testMaterial2 = GTMaterials.Tin; + + // const b = new ItemMaterialInfo( + // new MaterialStack(testMaterial1, GTValues.M), + // new MaterialStack(testMaterial2, GTValues.M) + // ); + + // event.remove("minecraft:acacia_planks"); + + // event.add("minecraft:acacia_planks", b); +} + +// private static void processDoubleIngot(TagPrefix prefix, Material material, TFCProperty property, Consumer provider) { +// var ingotStack = ChemicalHelper.get(ingot, material); +// var doubleIngotStack = ChemicalHelper.get(prefix, material); +// +// EXTRACTOR_RECIPES.recipeBuilder(TFGCore.id("extract_" + material.getName() + "_double_ingot")) +// .EUt(VA[ULV]).duration((int) material.getMass()) +// .inputItems(doubleIngotStack) +// .outputFluids(material.getFluid(288)) +// .save(provider); +// +// MACERATOR_RECIPES.recipeBuilder(TFGCore.id("macerate_" + material.getName() + "_double_ingot")) +// .EUt(VA[ULV]).duration((int) material.getMass()) +// .inputItems(doubleIngotStack) +// .outputItems(dust, material, 2) +// .save(provider); +// } diff --git a/kubejs/startup_scripts/gtceu/recipe_types.js b/kubejs/startup_scripts/gregtech/recipe_types.js similarity index 80% rename from kubejs/startup_scripts/gtceu/recipe_types.js rename to kubejs/startup_scripts/gregtech/recipe_types.js index eb4144c95..829c53603 100644 --- a/kubejs/startup_scripts/gtceu/recipe_types.js +++ b/kubejs/startup_scripts/gregtech/recipe_types.js @@ -1,15 +1,15 @@ // priority: 0 -const registerGTCEuRecipeTypes = (event) => { +const registerGregTechRecipeTypes = (event) => { event.create('greenhouse') - .category('greenhouse') + .category('multiblock') .setEUIO('in') .setMaxIOSize(3, 4, 1, 0) .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) .setSound(GTSoundEntries.BATH) event.create('alternator') - .category('alternator') + .category('multiblock') .setEUIO('out') .setMaxIOSize(1, 0, 0, 0) .setProgressBar(GuiTextures.PROGRESS_BAR_ARROW, FillDirection.LEFT_TO_RIGHT) diff --git a/kubejs/startup_scripts/gregtech/world_gen_layers.js b/kubejs/startup_scripts/gregtech/world_gen_layers.js new file mode 100644 index 000000000..8c1c40697 --- /dev/null +++ b/kubejs/startup_scripts/gregtech/world_gen_layers.js @@ -0,0 +1,145 @@ +// priority: 0 + +const registerGregTechWorldGenLayers = (event) => { + + // Здесь куча конченных переменных. Почему? + // А потому что мы не можем использовать у руды несколько слоев для гена и з-за этого приходится говнить. + // Спасибо разрабам. + + const ALL = ['#tfc:rock/raw'] + + const IE = [ + 'tfc:rock/raw/rhyolite', + 'tfc:rock/raw/basalt', + 'tfc:rock/raw/andesite', + 'tfc:rock/raw/dacite' + ] + + const II = [ + 'tfc:rock/raw/granite', + 'tfc:rock/raw/diorite', + 'tfc:rock/raw/gabbro' + ] + + const M = [ + 'tfc:rock/raw/quartzite', + 'tfc:rock/raw/slate', + 'tfc:rock/raw/phyllite', + 'tfc:rock/raw/schist', + 'tfc:rock/raw/gneiss', + 'tfc:rock/raw/marble' + ] + + const S = [ + 'tfc:rock/raw/shale', + 'tfc:rock/raw/claystone', + 'tfc:rock/raw/limestone', + 'tfc:rock/raw/conglomerate', + 'tfc:rock/raw/dolomite', + 'tfc:rock/raw/chert', + 'tfc:rock/raw/chalk' + ] + + const SQSG = [ + 'tfc:rock/raw/shale', + 'tfc:rock/raw/quartzite', + 'tfc:rock/raw/schist', + 'tfc:rock/raw/gneiss', + ] + + const GG = [ + 'tfc:rock/raw/granite', + 'tfc:rock/raw/gneiss', + ] + + const GB = [ + 'tfc:rock/raw/granite', + 'tfc:rock/raw/basalt' + ] + + const SCL = [ + 'tfc:rock/raw/shale', + 'tfc:rock/raw/claystone', + 'tfc:rock/raw/limestone', + ] + + const Granite = [ + 'tfc:rock/raw/granite' + ] + + const Gabbro = [ + 'tfc:rock/raw/gabbro' + ] + + // Слои + + event.create('tfg_tfc_all') + .targets(ALL) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_ie') + .targets(IE) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_ii') + .targets(II) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_m') + .targets(M) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_s') + .targets(S) + .dimensions('minecraft:overworld') + + // Кастомные + + event.create('tfg_tfc_ii_m') + .targets([].concat(II, M)) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_ii_s') + .targets([].concat(II, S)) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_ie_m') + .targets([].concat(IE, M)) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_ie_s') + .targets([].concat(IE, S)) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_ie_ii') + .targets([].concat(IE, II)) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_m_s') + .targets([].concat(M, S)) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_s_q_s_g') + .targets(SQSG) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_g_g') + .targets(GG) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_g_b') + .targets(GB) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_gabbro') + .targets(Gabbro) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_s_c_l') + .targets(SCL) + .dimensions('minecraft:overworld') + + event.create('tfg_tfc_granite') + .targets(Granite) + .dimensions('minecraft:overworld') +} \ No newline at end of file diff --git a/kubejs/startup_scripts/gtceu/blocks.js b/kubejs/startup_scripts/gtceu/blocks.js deleted file mode 100644 index d389a83f2..000000000 --- a/kubejs/startup_scripts/gtceu/blocks.js +++ /dev/null @@ -1,5 +0,0 @@ -// priority: 0 - -const registerGTCEuBlocks = (event) => { - -} \ No newline at end of file diff --git a/kubejs/startup_scripts/gtceu/constants.js b/kubejs/startup_scripts/gtceu/constants.js deleted file mode 100644 index 95da95dae..000000000 --- a/kubejs/startup_scripts/gtceu/constants.js +++ /dev/null @@ -1,55 +0,0 @@ -// priority: 0 - -global.GTCEU_DISABLED_ITEMS = [ - // Пыль пшеницы - 'gtceu:wheat_dust', - 'gtceu:small_wheat_dust', - 'gtceu:tiny_wheat_dust', - - // Bronze Machines - 'gtceu:bronze_machine_casing', - 'gtceu:steam_miner', - 'gtceu:lp_steam_extractor', - 'gtceu:lp_steam_macerator', - 'gtceu:lp_steam_compressor', - 'gtceu:lp_steam_forge_hammer', - 'gtceu:lp_steam_furnace', - 'gtceu:lp_steam_alloy_smelter', - 'gtceu:lp_steam_rock_crusher', - - // Примитивная помпа - 'gtceu:infinite_water_cover', - 'gtceu:pump_deck', - 'gtceu:pump_hatch', - 'gtceu:primitive_pump', - - // Другое - 'gtceu:flint_mortar', - 'gtceu:flint_knife', - 'gtceu:firebrick', - 'gtceu:firebricks', - 'gtceu:wood_drum', - 'gtceu:primitive_blast_furnace', - - 'gtceu:wood_screwdriver_tip', - 'gtceu:wood_wrench_tip', - 'gtceu:wood_drill_head', - 'gtceu:wood_chainsaw_head', - - 'gtceu:stone_drill_head', - 'gtceu:stone_chainsaw_head', - 'gtceu:stone_buzz_saw_blade', - 'gtceu:stone_wrench_tip', - - 'gtceu:rubber_sapling', - 'gtceu:rubber_log', - 'gtceu:rubber_leaves', - 'gtceu:rubber_planks', - -]; - -global.GTCEU_HIDED_ITEMS = [ - 'gtceu:netherrack_dust', - 'gtceu:small_netherrack_dust', - 'gtceu:tiny_netherrack_dust' -]; \ No newline at end of file diff --git a/kubejs/startup_scripts/gtceu/items.js b/kubejs/startup_scripts/gtceu/items.js deleted file mode 100644 index 488cc5e9b..000000000 --- a/kubejs/startup_scripts/gtceu/items.js +++ /dev/null @@ -1,6 +0,0 @@ -// priority: 0 - -const registerGTCEuItems = (event) => { - event.create('tfg:unfinished_vacuum_tube', 'create:sequenced_assembly') - event.create('tfg:unfinished_basic_electronic_circuit', 'create:sequenced_assembly') -} \ No newline at end of file diff --git a/kubejs/startup_scripts/gtceu/material_info.js b/kubejs/startup_scripts/gtceu/material_info.js deleted file mode 100644 index 07238979e..000000000 --- a/kubejs/startup_scripts/gtceu/material_info.js +++ /dev/null @@ -1,37 +0,0 @@ -// priority: 0 - -const registerGTCEuMaterialInfo = (event) => { - //#region Дерево - - global.VANILLA_WOOD_TYPES.forEach(woodType => { - event.remove(`minecraft:${woodType}_planks`) - event.remove(`minecraft:${woodType}_stairs`) - event.remove(`minecraft:${woodType}_slab`) - event.remove(`minecraft:${woodType}_fence`) - event.remove(`minecraft:${woodType}_fence_gate`) - event.remove(`minecraft:${woodType}_door`) - event.remove(`minecraft:${woodType}_button`) - event.remove(`minecraft:${woodType}_boat`) - }) - - // Сундуки - // removeMaterialInfo(Blocks.CHEST); - // removeMaterialInfo(Blocks.TRAPPED_CHEST); - - // Верстаки - // removeMaterialInfo(Blocks.CRAFTING_TABLE); - - //#endregion - - // const testMaterial1 = GTMaterials.Copper; - // const testMaterial2 = GTMaterials.Tin; - - // const b = new ItemMaterialInfo( - // new MaterialStack(testMaterial1, GTValues.M), - // new MaterialStack(testMaterial2, GTValues.M) - // ); - - // event.remove("minecraft:acacia_planks"); - - // event.add("minecraft:acacia_planks", b); -}; diff --git a/kubejs/startup_scripts/main_startup_script.js b/kubejs/startup_scripts/main_startup_script.js index b36fa8b48..caae33c19 100644 --- a/kubejs/startup_scripts/main_startup_script.js +++ b/kubejs/startup_scripts/main_startup_script.js @@ -4,24 +4,21 @@ * Событие регистрации предметов. */ StartupEvents.registry('item', event => { - registerGTCEuItems(event) + registerGregTechItems(event) + registerMinecraftItems(event) }) /** * Событие регистрации блоков. */ StartupEvents.registry('block', event => { - registerGTCEuBlocks(event) - - + registerGregTechBlocks(event) }) /** * Событие изменения блоков. */ -BlockEvents.modification(event => { - modifyFirmaCivBlocks(event) -}) +BlockEvents.modification(event => {}) /** * Событие изменения предметов. @@ -37,19 +34,26 @@ StartupEvents.registry('fluid', event => {}) * Событие регистрации типов рецептов. */ GTCEuStartupEvents.registry('gtceu:recipe_type', event => { - registerGTCEuRecipeTypes(event) + registerGregTechRecipeTypes(event) }) /** * Событие регистрации механизмов. */ GTCEuStartupEvents.registry('gtceu:machine', event => { - registerGTCEuMachines(event) + registerGregTechMachines(event) +}) + +/** + * Событие регистрации слоев пород GTM. + */ +GTCEuStartupEvents.registry('gtceu:world_gen_layer', event => { + registerGregTechWorldGenLayers(event) }) /** * Событие регистрации информации о составе предмета. */ -// TFGStartupEvents.materialInfo(event => { -// registerGTCEuMaterialInfo(event) -// }) \ No newline at end of file +TFGStartupEvents.materialInfo(event => { + registerGregTechMaterialInfo(event) +}) \ No newline at end of file diff --git a/kubejs/startup_scripts/minecraft/constants.js b/kubejs/startup_scripts/minecraft/constants.js index 329cfd31d..705b0a659 100644 --- a/kubejs/startup_scripts/minecraft/constants.js +++ b/kubejs/startup_scripts/minecraft/constants.js @@ -5,7 +5,254 @@ * у которых должны быть удалены тэги и они должны быть скрыты в REI. */ global.MINECRAFT_DISABLED_ITEMS = [ - // Зараженные блоки + + //#region Дерево + + //#region Дуб + "minecraft:oak_wood", + "minecraft:oak_leaves", + "minecraft:oak_sapling", + "minecraft:stripped_oak_wood", + "minecraft:oak_log", + "minecraft:stripped_oak_log", + "minecraft:oak_planks", + "minecraft:oak_stairs", + "minecraft:oak_slab", + "minecraft:petrified_oak_slab", + "minecraft:oak_pressure_plate", + "minecraft:oak_fence", + "minecraft:oak_fence_gate", + "minecraft:oak_door", + "minecraft:oak_trapdoor", + "minecraft:oak_boat", + "minecraft:oak_chest_boat", + "minecraft:oak_sign", + "minecraft:oak_hanging_sign", + "minecraft:oak_button", + //#endregion + + //#region Темный дуб + "minecraft:dark_oak_planks", + "minecraft:dark_oak_sapling", + "minecraft:dark_oak_log", + "minecraft:stripped_dark_oak_log", + "minecraft:stripped_dark_oak_wood", + "minecraft:dark_oak_wood", + "minecraft:dark_oak_leaves", + "minecraft:dark_oak_slab", + "minecraft:dark_oak_fence", + "minecraft:dark_oak_stairs", + "minecraft:dark_oak_button", + "minecraft:dark_oak_pressure_plate", + "minecraft:dark_oak_door", + "minecraft:dark_oak_trapdoor", + "minecraft:dark_oak_fence_gate", + "minecraft:dark_oak_boat", + "minecraft:dark_oak_chest_boat", + "minecraft:dark_oak_sign", + "minecraft:dark_oak_hanging_sign", + //#endregion + + //#region Акация + "minecraft:acacia_planks", + "minecraft:acacia_sapling", + "minecraft:acacia_log", + "minecraft:stripped_acacia_log", + "minecraft:stripped_acacia_wood", + "minecraft:acacia_wood", + "minecraft:acacia_leaves", + "minecraft:acacia_slab", + "minecraft:acacia_fence", + "minecraft:acacia_stairs", + "minecraft:acacia_button", + "minecraft:acacia_pressure_plate", + "minecraft:acacia_door", + "minecraft:acacia_trapdoor", + "minecraft:acacia_fence_gate", + "minecraft:acacia_boat", + "minecraft:acacia_chest_boat", + "minecraft:acacia_sign", + "minecraft:acacia_hanging_sign", + //#endregion + + //#region Береза + "minecraft:birch_planks", + "minecraft:birch_sapling", + "minecraft:birch_log", + "minecraft:stripped_birch_log", + "minecraft:stripped_birch_wood", + "minecraft:birch_wood", + "minecraft:birch_leaves", + "minecraft:birch_slab", + "minecraft:birch_fence", + "minecraft:birch_stairs", + "minecraft:birch_button", + "minecraft:birch_pressure_plate", + "minecraft:birch_door", + "minecraft:birch_trapdoor", + "minecraft:birch_fence_gate", + "minecraft:birch_boat", + "minecraft:birch_chest_boat", + "minecraft:birch_sign", + "minecraft:birch_hanging_sign", + //#endregion + + //#region Тропическое + "minecraft:jungle_planks", + "minecraft:jungle_sapling", + "minecraft:jungle_log", + "minecraft:stripped_jungle_log", + "minecraft:stripped_jungle_wood", + "minecraft:jungle_wood", + "minecraft:jungle_leaves", + "minecraft:jungle_slab", + "minecraft:jungle_fence", + "minecraft:jungle_stairs", + "minecraft:jungle_button", + "minecraft:jungle_pressure_plate", + "minecraft:jungle_door", + "minecraft:jungle_trapdoor", + "minecraft:jungle_fence_gate", + "minecraft:jungle_boat", + "minecraft:jungle_chest_boat", + "minecraft:jungle_sign", + "minecraft:jungle_hanging_sign", + //#endregion + + //#region Ель + "minecraft:spruce_planks", + "minecraft:spruce_sapling", + "minecraft:spruce_log", + "minecraft:stripped_spruce_log", + "minecraft:stripped_spruce_wood", + "minecraft:spruce_wood", + "minecraft:spruce_leaves", + "minecraft:spruce_slab", + "minecraft:spruce_fence", + "minecraft:spruce_stairs", + "minecraft:spruce_button", + "minecraft:spruce_pressure_plate", + "minecraft:spruce_door", + "minecraft:spruce_trapdoor", + "minecraft:spruce_fence_gate", + "minecraft:spruce_boat", + "minecraft:spruce_chest_boat", + "minecraft:spruce_sign", + "minecraft:spruce_hanging_sign", + //#endregion + + //#region Вишня + "minecraft:cherry_planks", + "minecraft:cherry_sapling", + "minecraft:cherry_log", + "minecraft:stripped_cherry_log", + "minecraft:stripped_cherry_wood", + "minecraft:cherry_wood", + "minecraft:cherry_leaves", + "minecraft:cherry_slab", + "minecraft:cherry_fence", + "minecraft:cherry_stairs", + "minecraft:cherry_button", + "minecraft:cherry_pressure_plate", + "minecraft:cherry_door", + "minecraft:cherry_trapdoor", + "minecraft:cherry_fence_gate", + "minecraft:cherry_boat", + "minecraft:cherry_chest_boat", + "minecraft:cherry_sign", + "minecraft:cherry_hanging_sign", + //#endregion + + //#region Мангровое + "minecraft:mangrove_planks", + "minecraft:mangrove_propagule", + "minecraft:mangrove_log", + "minecraft:mangrove_roots", + "minecraft:muddy_mangrove_roots", + "minecraft:stripped_mangrove_log", + "minecraft:stripped_mangrove_wood", + "minecraft:mangrove_wood", + "minecraft:mangrove_leaves", + "minecraft:mangrove_slab", + "minecraft:mangrove_fence", + "minecraft:mangrove_stairs", + "minecraft:mangrove_button", + "minecraft:mangrove_pressure_plate", + "minecraft:mangrove_door", + "minecraft:mangrove_trapdoor", + "minecraft:mangrove_fence_gate", + "minecraft:mangrove_boat", + "minecraft:mangrove_chest_boat", + "minecraft:mangrove_sign", + "minecraft:mangrove_hanging_sign", + //#endregion + + //#region Бамбук + 'minecraft:bamboo_raft', + 'minecraft:bamboo_chest_raft', + //#endregion + + //#region Кримзон + 'minecraft:crimson_stem', + 'minecraft:crimson_hyphae', + 'minecraft:stripped_crimson_stem', + 'minecraft:stripped_crimson_hyphae', + 'minecraft:crimson_planks', + 'minecraft:crimson_stairs', + 'minecraft:crimson_slab', + 'minecraft:crimson_fence', + 'minecraft:crimson_fence_gate', + 'minecraft:crimson_door', + 'minecraft:crimson_trapdoor', + 'minecraft:crimson_pressure_plate', + 'minecraft:crimson_button', + 'minecraft:crimson_sign', + 'minecraft:crimson_hanging_sign', + //#endregion + + //#region Варпед + 'minecraft:warped_stem', + 'minecraft:warped_hyphae', + 'minecraft:stripped_warped_stem', + 'minecraft:stripped_warped_hyphae', + 'minecraft:warped_planks', + 'minecraft:warped_stairs', + 'minecraft:warped_slab', + 'minecraft:warped_fence', + 'minecraft:warped_fence_gate', + 'minecraft:warped_door', + 'minecraft:warped_trapdoor', + 'minecraft:warped_pressure_plate', + 'minecraft:warped_button', + 'minecraft:warped_sign', + 'minecraft:warped_hanging_sign', + //#endregion + + //#endregion + + //#region Руды + 'minecraft:coal_ore', + 'minecraft:iron_ore', + 'minecraft:copper_ore', + 'minecraft:gold_ore', + 'minecraft:redstone_ore', + 'minecraft:emerald_ore', + 'minecraft:lapis_ore', + 'minecraft:diamond_ore', + 'minecraft:deepslate_coal_ore', + 'minecraft:deepslate_iron_ore', + 'minecraft:deepslate_copper_ore', + 'minecraft:deepslate_gold_ore', + 'minecraft:deepslate_redstone_ore', + 'minecraft:deepslate_emerald_ore', + 'minecraft:deepslate_lapis_ore', + 'minecraft:deepslate_diamond_ore', + 'minecraft:nether_gold_ore', + 'minecraft:nether_quartz_ore', + 'minecraft:ancient_debris', + //#endregion + + //#region Зараженные блоки 'minecraft:infested_stone', 'minecraft:infested_cobblestone', 'minecraft:infested_stone_bricks', @@ -13,8 +260,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:infested_cracked_stone_bricks', 'minecraft:infested_chiseled_stone_bricks', 'minecraft:infested_deepslate', + //#endregion - // Каменные блоки + //#region Каменные блоки 'minecraft:stone', 'minecraft:stone_stairs', 'minecraft:stone_slab', @@ -40,8 +288,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:mossy_cobblestone_stairs', 'minecraft:mossy_cobblestone_slab', 'minecraft:mossy_cobblestone_wall', - - // Гранитовые блоки + //#endregion + + //#region Гранитовые блоки 'minecraft:granite', 'minecraft:granite_stairs', 'minecraft:granite_slab', @@ -49,8 +298,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:polished_granite', 'minecraft:polished_granite_stairs', 'minecraft:polished_granite_slab', + //#endregion - // Диоритовые блоки + //#region Диоритовые блоки 'minecraft:diorite', 'minecraft:diorite_stairs', 'minecraft:diorite_slab', @@ -58,8 +308,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:polished_diorite', 'minecraft:polished_diorite_stairs', 'minecraft:polished_diorite_slab', - - // Андезитовые блоки + //#endregion + + //#region Андезитовые блоки 'minecraft:andesite', 'minecraft:andesite_stairs', 'minecraft:andesite_slab', @@ -67,8 +318,17 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:polished_andesite', 'minecraft:polished_andesite_stairs', 'minecraft:polished_andesite_slab', + //#endregion - // Призмарин + //#region Эндерняк + 'minecraft:end_stone', + 'minecraft:end_stone_bricks', + 'minecraft:end_stone_brick_stairs', + 'minecraft:end_stone_brick_slab', + 'minecraft:end_stone_brick_wall', + //#endregion + + //#region Призмарин 'minecraft:prismarine', 'minecraft:prismarine_stairs', 'minecraft:prismarine_slab', @@ -79,17 +339,12 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:dark_prismarine', 'minecraft:dark_prismarine_stairs', 'minecraft:dark_prismarine_slab', + 'minecraft:prismarine_crystals', 'minecraft:prismarine_shard', + //#endregion - // Эндстоун - 'minecraft:end_stone', - 'minecraft:end_stone_bricks', - 'minecraft:end_stone_brick_stairs', - 'minecraft:end_stone_brick_slab', - 'minecraft:end_stone_brick_wall', - - // Сланец + //#region Глубоко-Сланец 'minecraft:cobbled_deepslate', 'minecraft:cobbled_deepslate_stairs', 'minecraft:cobbled_deepslate_slab', @@ -111,36 +366,17 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:cracked_deepslate_bricks', 'minecraft:deepslate', 'minecraft:reinforced_deepslate', + //#endregion - // Грязь + //#region Грязь 'minecraft:mud_brick_wall', 'minecraft:packed_mud', 'minecraft:mud_bricks', 'minecraft:mud_brick_stairs', 'minecraft:mud_brick_slab', - - // Руды - 'minecraft:coal_ore', - 'minecraft:iron_ore', - 'minecraft:copper_ore', - 'minecraft:gold_ore', - 'minecraft:redstone_ore', - 'minecraft:emerald_ore', - 'minecraft:lapis_ore', - 'minecraft:diamond_ore', - 'minecraft:deepslate_coal_ore', - 'minecraft:deepslate_iron_ore', - 'minecraft:deepslate_copper_ore', - 'minecraft:deepslate_gold_ore', - 'minecraft:deepslate_redstone_ore', - 'minecraft:deepslate_emerald_ore', - 'minecraft:deepslate_lapis_ore', - 'minecraft:deepslate_diamond_ore', - 'minecraft:nether_gold_ore', - 'minecraft:nether_quartz_ore', - 'minecraft:ancient_debris', - - // Песок + //#endregion + + //#region Песок 'minecraft:sandstone', 'minecraft:sandstone_stairs', 'minecraft:sandstone_slab', @@ -153,8 +389,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:chiseled_sandstone', 'minecraft:sand', 'minecraft:suspicious_sand', - - // Красный песок + //#endregion + + //#region Красный песок 'minecraft:red_sandstone', 'minecraft:red_sandstone_stairs', 'minecraft:red_sandstone_slab', @@ -166,8 +403,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:cut_red_sandstone_slab', 'minecraft:chiseled_red_sandstone', 'minecraft:red_sand', + //#endregion - // Кораллы + //#region Кораллы 'minecraft:horn_coral', 'minecraft:horn_coral_fan', 'minecraft:dead_brain_coral', @@ -188,186 +426,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:brain_coral_fan', 'minecraft:bubble_coral', 'minecraft:fire_coral', + //#endregion - // Дерево - // Дуб - "minecraft:oak_wood", - "minecraft:oak_leaves", - "minecraft:oak_sapling", - "minecraft:stripped_oak_wood", - "minecraft:oak_log", - "minecraft:stripped_oak_log", - "minecraft:oak_planks", - "minecraft:oak_stairs", - "minecraft:oak_slab", - "minecraft:petrified_oak_slab", - "minecraft:oak_pressure_plate", - "minecraft:oak_fence", - "minecraft:oak_fence_gate", - "minecraft:oak_door", - "minecraft:oak_trapdoor", - "minecraft:oak_boat", - "minecraft:oak_chest_boat", - "minecraft:oak_sign", - "minecraft:oak_hanging_sign", - "minecraft:oak_button", - - // Темный дуб - "minecraft:dark_oak_planks", - "minecraft:dark_oak_sapling", - "minecraft:dark_oak_log", - "minecraft:stripped_dark_oak_log", - "minecraft:stripped_dark_oak_wood", - "minecraft:dark_oak_wood", - "minecraft:dark_oak_leaves", - "minecraft:dark_oak_slab", - "minecraft:dark_oak_fence", - "minecraft:dark_oak_stairs", - "minecraft:dark_oak_button", - "minecraft:dark_oak_pressure_plate", - "minecraft:dark_oak_door", - "minecraft:dark_oak_trapdoor", - "minecraft:dark_oak_fence_gate", - "minecraft:dark_oak_boat", - "minecraft:dark_oak_chest_boat", - "minecraft:dark_oak_sign", - "minecraft:dark_oak_hanging_sign", - - // Акация - "minecraft:acacia_planks", - "minecraft:acacia_sapling", - "minecraft:acacia_log", - "minecraft:stripped_acacia_log", - "minecraft:stripped_acacia_wood", - "minecraft:acacia_wood", - "minecraft:acacia_leaves", - "minecraft:acacia_slab", - "minecraft:acacia_fence", - "minecraft:acacia_stairs", - "minecraft:acacia_button", - "minecraft:acacia_pressure_plate", - "minecraft:acacia_door", - "minecraft:acacia_trapdoor", - "minecraft:acacia_fence_gate", - "minecraft:acacia_boat", - "minecraft:acacia_chest_boat", - "minecraft:acacia_sign", - "minecraft:acacia_hanging_sign", - - // Береза - "minecraft:birch_planks", - "minecraft:birch_sapling", - "minecraft:birch_log", - "minecraft:stripped_birch_log", - "minecraft:stripped_birch_wood", - "minecraft:birch_wood", - "minecraft:birch_leaves", - "minecraft:birch_slab", - "minecraft:birch_fence", - "minecraft:birch_stairs", - "minecraft:birch_button", - "minecraft:birch_pressure_plate", - "minecraft:birch_door", - "minecraft:birch_trapdoor", - "minecraft:birch_fence_gate", - "minecraft:birch_boat", - "minecraft:birch_chest_boat", - "minecraft:birch_sign", - "minecraft:birch_hanging_sign", - - // Тропическое - "minecraft:jungle_planks", - "minecraft:jungle_sapling", - "minecraft:jungle_log", - "minecraft:stripped_jungle_log", - "minecraft:stripped_jungle_wood", - "minecraft:jungle_wood", - "minecraft:jungle_leaves", - "minecraft:jungle_slab", - "minecraft:jungle_fence", - "minecraft:jungle_stairs", - "minecraft:jungle_button", - "minecraft:jungle_pressure_plate", - "minecraft:jungle_door", - "minecraft:jungle_trapdoor", - "minecraft:jungle_fence_gate", - "minecraft:jungle_boat", - "minecraft:jungle_chest_boat", - "minecraft:jungle_sign", - "minecraft:jungle_hanging_sign", - - // Ель - "minecraft:spruce_planks", - "minecraft:spruce_sapling", - "minecraft:spruce_log", - "minecraft:stripped_spruce_log", - "minecraft:stripped_spruce_wood", - "minecraft:spruce_wood", - "minecraft:spruce_leaves", - "minecraft:spruce_slab", - "minecraft:spruce_fence", - "minecraft:spruce_stairs", - "minecraft:spruce_button", - "minecraft:spruce_pressure_plate", - "minecraft:spruce_door", - "minecraft:spruce_trapdoor", - "minecraft:spruce_fence_gate", - "minecraft:spruce_boat", - "minecraft:spruce_chest_boat", - "minecraft:spruce_sign", - "minecraft:spruce_hanging_sign", - - // Вишня - "minecraft:cherry_planks", - "minecraft:cherry_sapling", - "minecraft:cherry_log", - "minecraft:stripped_cherry_log", - "minecraft:stripped_cherry_wood", - "minecraft:cherry_wood", - "minecraft:cherry_leaves", - "minecraft:cherry_slab", - "minecraft:cherry_fence", - "minecraft:cherry_stairs", - "minecraft:cherry_button", - "minecraft:cherry_pressure_plate", - "minecraft:cherry_door", - "minecraft:cherry_trapdoor", - "minecraft:cherry_fence_gate", - "minecraft:cherry_boat", - "minecraft:cherry_chest_boat", - "minecraft:cherry_sign", - "minecraft:cherry_hanging_sign", - - // Мангровое - "minecraft:mangrove_planks", - "minecraft:mangrove_propagule", - "minecraft:mangrove_log", - "minecraft:mangrove_roots", - "minecraft:muddy_mangrove_roots", - "minecraft:stripped_mangrove_log", - "minecraft:stripped_mangrove_wood", - "minecraft:mangrove_wood", - "minecraft:mangrove_leaves", - "minecraft:mangrove_slab", - "minecraft:mangrove_fence", - "minecraft:mangrove_stairs", - "minecraft:mangrove_button", - "minecraft:mangrove_pressure_plate", - "minecraft:mangrove_door", - "minecraft:mangrove_trapdoor", - "minecraft:mangrove_fence_gate", - "minecraft:mangrove_boat", - "minecraft:mangrove_chest_boat", - "minecraft:mangrove_sign", - "minecraft:mangrove_hanging_sign", - - // Бамбук - 'minecraft:bamboo_sign', - 'minecraft:bamboo_hanging_sign', - 'minecraft:bamboo_raft', - 'minecraft:bamboo_chest_raft', - - // Шалкеры + //#region Шалкеры 'minecraft:shulker_box', 'minecraft:white_shulker_box', 'minecraft:orange_shulker_box', @@ -385,8 +446,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:green_shulker_box', 'minecraft:red_shulker_box', 'minecraft:black_shulker_box', + //#endregion - // Мясо + //#region Мясо 'minecraft:porkchop', 'minecraft:chicken', 'minecraft:mutton', @@ -397,15 +459,17 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:cooked_mutton', 'minecraft:cooked_rabbit', 'minecraft:cooked_beef', + //#endregion - // Семена + //#region Семяна 'minecraft:wheat_seeds', 'minecraft:pumpkin_seeds', 'minecraft:melon_seeds', 'minecraft:torchflower_seeds', 'minecraft:beetroot_seeds', - - // Инструменты + //#endregion + + //#region Инструменты "minecraft:wooden_sword", "minecraft:wooden_pickaxe", "minecraft:wooden_axe", @@ -441,8 +505,9 @@ global.MINECRAFT_DISABLED_ITEMS = [ "minecraft:netherite_axe", "minecraft:netherite_shovel", "minecraft:netherite_hoe", - - // Броня + //#endregion + + //#region Броня "minecraft:netherite_helmet", "minecraft:netherite_chestplate", "minecraft:netherite_leggings", @@ -467,8 +532,56 @@ global.MINECRAFT_DISABLED_ITEMS = [ "minecraft:iron_horse_armor", "minecraft:golden_horse_armor", "minecraft:diamond_horse_armor", + //#endregion - // Декоративные куски вазы + //#region Шаблоны брони + // 'minecraft:wayfinder_armor_trim_smithing_template', + // 'minecraft:netherite_upgrade_smithing_template', + // 'minecraft:dune_armor_trim_smithing_template', + // 'minecraft:snout_armor_trim_smithing_template', + // 'minecraft:shaper_armor_trim_smithing_template', + // 'minecraft:coast_armor_trim_smithing_template', + // 'minecraft:vex_armor_trim_smithing_template', + // 'minecraft:host_armor_trim_smithing_template', + // 'minecraft:rib_armor_trim_smithing_template', + // 'minecraft:silence_armor_trim_smithing_template', + // 'minecraft:spire_armor_trim_smithing_template', + // 'minecraft:tide_armor_trim_smithing_template', + // 'minecraft:eye_armor_trim_smithing_template', + // 'minecraft:raiser_armor_trim_smithing_template', + // 'minecraft:wild_armor_trim_smithing_template', + // 'minecraft:sentry_armor_trim_smithing_template', + // 'minecraft:ward_armor_trim_smithing_template', + //#endregion + + //#region Свечи + 'minecraft:candle', + 'minecraft:white_candle', + 'minecraft:light_gray_candle', + 'minecraft:gray_candle', + 'minecraft:black_candle', + 'minecraft:brown_candle', + 'minecraft:red_candle', + 'minecraft:orange_candle', + 'minecraft:yellow_candle', + 'minecraft:lime_candle', + 'minecraft:green_candle', + 'minecraft:cyan_candle', + 'minecraft:light_blue_candle', + 'minecraft:blue_candle', + 'minecraft:purple_candle', + 'minecraft:magenta_candle', + 'minecraft:pink_candle', + //#endregion + + //#region Мед + // 'minecraft:honeycomb', + // 'minecraft:honey_bottle', + // 'minecraft:honeycomb_block', + // 'minecraft:honey_block', + //#endregion + + //#region Декоративные куски вазы 'minecraft:danger_pottery_sherd', 'minecraft:explorer_pottery_sherd', 'minecraft:friend_pottery_sherd', @@ -489,44 +602,7 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:blade_pottery_sherd', 'minecraft:brewer_pottery_sherd', 'minecraft:burn_pottery_sherd', - - // Шаблоны брони - 'minecraft:wayfinder_armor_trim_smithing_template', - 'minecraft:netherite_upgrade_smithing_template', - 'minecraft:dune_armor_trim_smithing_template', - 'minecraft:snout_armor_trim_smithing_template', - 'minecraft:shaper_armor_trim_smithing_template', - 'minecraft:coast_armor_trim_smithing_template', - 'minecraft:vex_armor_trim_smithing_template', - 'minecraft:host_armor_trim_smithing_template', - 'minecraft:rib_armor_trim_smithing_template', - 'minecraft:silence_armor_trim_smithing_template', - 'minecraft:spire_armor_trim_smithing_template', - 'minecraft:tide_armor_trim_smithing_template', - 'minecraft:eye_armor_trim_smithing_template', - 'minecraft:raiser_armor_trim_smithing_template', - 'minecraft:wild_armor_trim_smithing_template', - 'minecraft:sentry_armor_trim_smithing_template', - 'minecraft:ward_armor_trim_smithing_template', - - // Свечи - 'minecraft:candle', - 'minecraft:white_candle', - 'minecraft:light_gray_candle', - 'minecraft:gray_candle', - 'minecraft:black_candle', - 'minecraft:brown_candle', - 'minecraft:red_candle', - 'minecraft:orange_candle', - 'minecraft:yellow_candle', - 'minecraft:lime_candle', - 'minecraft:green_candle', - 'minecraft:cyan_candle', - 'minecraft:light_blue_candle', - 'minecraft:blue_candle', - 'minecraft:purple_candle', - 'minecraft:magenta_candle', - 'minecraft:pink_candle', + //#endregion // Другое 'minecraft:calcite', @@ -663,9 +739,6 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:tropical_fish', 'minecraft:melon_slice', 'minecraft:beehive', - 'minecraft:honey_bottle', - 'minecraft:honeycomb_block', - 'minecraft:honey_block', 'minecraft:chorus_fruit', 'minecraft:popped_chorus_fruit', 'minecraft:purpur_pillar', @@ -675,7 +748,6 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:shears', 'minecraft:lantern', 'minecraft:soul_lantern', - 'minecraft:smithing_table', 'minecraft:smoker', 'minecraft:blast_furnace', 'minecraft:chiseled_bookshelf', @@ -723,103 +795,73 @@ global.MINECRAFT_DISABLED_ITEMS = [ 'minecraft:raw_iron_block', 'minecraft:raw_gold_block', 'minecraft:raw_copper_block', - 'minecraft:compass', 'minecraft:iron_bars', - 'minecraft:honeycomb', - - // Кримзон незер дерево - // TODO: Разблокировать после добавления ада - 'minecraft:crimson_stem', - 'minecraft:crimson_hyphae', - 'minecraft:stripped_crimson_stem', - 'minecraft:stripped_crimson_hyphae', - 'minecraft:crimson_planks', - 'minecraft:crimson_stairs', - 'minecraft:crimson_slab', - 'minecraft:crimson_fence', - 'minecraft:crimson_fence_gate', - 'minecraft:crimson_door', - 'minecraft:crimson_trapdoor', - 'minecraft:crimson_pressure_plate', - 'minecraft:crimson_button', - - // Варпед незер дерево - // TODO: Разблокировать после добавления ада - 'minecraft:warped_stem', - 'minecraft:warped_hyphae', - 'minecraft:stripped_warped_stem', - 'minecraft:stripped_warped_hyphae', - 'minecraft:warped_planks', - 'minecraft:warped_stairs', - 'minecraft:warped_slab', - 'minecraft:warped_fence', - 'minecraft:warped_fence_gate', - 'minecraft:warped_door', - 'minecraft:warped_trapdoor', - 'minecraft:warped_pressure_plate', - 'minecraft:warped_button', + 'minecraft:dragon_head', + 'minecraft:creeper_head', + 'minecraft:skeleton_skull', + 'minecraft:zombie_head', + 'minecraft:piglin_head', + 'minecraft:dragon_breath', + 'minecraft:phantom_membrane', // Куча незер блоков // TODO: Разблокировать после добавления ада - 'minecraft:polished_blackstone_bricks', - 'minecraft:cracked_polished_blackstone_bricks', - 'minecraft:polished_blackstone_brick_stairs', - 'minecraft:polished_blackstone_brick_slab', - 'minecraft:polished_blackstone_brick_wall', - 'minecraft:netherrack', - 'minecraft:nether_bricks', - 'minecraft:cracked_nether_bricks', - 'minecraft:nether_brick_stairs', - 'minecraft:nether_brick_slab', - 'minecraft:nether_brick_wall', - 'minecraft:nether_brick_fence', - 'minecraft:chiseled_nether_bricks', - 'minecraft:red_nether_bricks', - 'minecraft:red_nether_brick_stairs', - 'minecraft:red_nether_brick_slab', - 'minecraft:red_nether_brick_wall', - 'minecraft:basalt', - 'minecraft:smooth_basalt', - 'minecraft:polished_basalt', - 'minecraft:blackstone', - 'minecraft:gilded_blackstone', - 'minecraft:blackstone_stairs', - 'minecraft:blackstone_slab', - 'minecraft:blackstone_wall', - 'minecraft:chiseled_polished_blackstone', - 'minecraft:polished_blackstone', - 'minecraft:polished_blackstone_stairs', - 'minecraft:polished_blackstone_slab', - 'minecraft:polished_blackstone_wall', - 'minecraft:polished_blackstone_pressure_plate', - 'minecraft:polished_blackstone_button', + // 'minecraft:polished_blackstone_bricks', + // 'minecraft:cracked_polished_blackstone_bricks', + // 'minecraft:polished_blackstone_brick_stairs', + // 'minecraft:polished_blackstone_brick_slab', + // 'minecraft:polished_blackstone_brick_wall', + // 'minecraft:netherrack', + // 'minecraft:nether_bricks', + // 'minecraft:cracked_nether_bricks', + // 'minecraft:nether_brick_stairs', + // 'minecraft:nether_brick_slab', + // 'minecraft:nether_brick_wall', + // 'minecraft:nether_brick_fence', + // 'minecraft:chiseled_nether_bricks', + // 'minecraft:red_nether_bricks', + // 'minecraft:red_nether_brick_stairs', + // 'minecraft:red_nether_brick_slab', + // 'minecraft:red_nether_brick_wall', + // 'minecraft:basalt', + // 'minecraft:smooth_basalt', + // 'minecraft:polished_basalt', + // 'minecraft:blackstone', + // 'minecraft:gilded_blackstone', + // 'minecraft:blackstone_stairs', + // 'minecraft:blackstone_slab', + // 'minecraft:blackstone_wall', + // 'minecraft:chiseled_polished_blackstone', + // 'minecraft:polished_blackstone', + // 'minecraft:polished_blackstone_stairs', + // 'minecraft:polished_blackstone_slab', + // 'minecraft:polished_blackstone_wall', + // 'minecraft:polished_blackstone_pressure_plate', + // 'minecraft:polished_blackstone_button', // И еще куча незер блоков - // TODO: Разблокировать после добавления ада - 'minecraft:crying_obsidian', - 'minecraft:crimson_nylium', - 'minecraft:warped_nylium', - 'minecraft:soul_sand', - 'minecraft:soul_soil', - 'minecraft:nether_wart_block', - 'minecraft:warped_wart_block', - 'minecraft:shroomlight', - 'minecraft:crimson_fungus', - 'minecraft:piglin_head', - 'minecraft:zombie_head', - 'minecraft:skeleton_skull', - 'minecraft:nether_sprouts', - 'minecraft:warped_roots', - 'minecraft:dragon_head', - 'minecraft:creeper_head', - 'minecraft:wither_skeleton_skull', - 'minecraft:weeping_vines', - 'minecraft:crimson_roots', - 'minecraft:nether_brick', - 'minecraft:nether_wart', - 'minecraft:twisting_vines', - 'minecraft:warped_fungus', - 'minecraft:respawn_anchor', + // 'minecraft:crying_obsidian', + // 'minecraft:crimson_nylium', + // 'minecraft:warped_nylium', + // 'minecraft:soul_sand', + // 'minecraft:soul_soil', + // 'minecraft:nether_wart_block', + // 'minecraft:warped_wart_block', + // 'minecraft:shroomlight', + // 'minecraft:crimson_fungus', + // 'minecraft:piglin_head', + // 'minecraft:zombie_head', + // 'minecraft:skeleton_skull', + // 'minecraft:nether_sprouts', + // 'minecraft:warped_roots', + // 'minecraft:wither_skeleton_skull', + // 'minecraft:weeping_vines', + // 'minecraft:crimson_roots', + // 'minecraft:nether_brick', + // 'minecraft:nether_wart', + // 'minecraft:twisting_vines', + // 'minecraft:warped_fungus', + // 'minecraft:respawn_anchor', ]; global.MINECRAFT_HIDED_ITEMS = [ @@ -840,7 +882,7 @@ global.MINECRAFT_HIDED_ITEMS = [ 'minecraft:oxidized_cut_copper_slab',*/ ]; -global.VANILLA_WOOD_TYPES = [ +global.MINECRAFT_OVERWORLD_WOOD_TYPES = [ "oak", "spruce", "birch", @@ -849,11 +891,16 @@ global.VANILLA_WOOD_TYPES = [ "cherry", "dark_oak", "mangrove", - "crimson", // TODO: Разблокировать когда появится АД - "warped" // TODO: Разблокировать когда появится АД ]; -global.VANILLA_STONE_TYPES = [ +global.MINECRAFT_NETHER_WOOD_TYPES = [ + "crimson", + "warped" +]; + +global.MINECRAFT_ALL_WOOD_TYPES = global.MINECRAFT_OVERWORLD_WOOD_TYPES.concat(global.MINECRAFT_NETHER_WOOD_TYPES); + +global.MINECRAFT_STONE_TYPES = [ "sand", "red_sand", "gravel", @@ -899,3 +946,20 @@ global.MINECRAFT_COPPER_BLOCKS_RECIPE_COMPONENTS = [ { block: 'minecraft:waxed_weathered_copper', cutted: 'minecraft:waxed_weathered_cut_copper', stairs: 'minecraft:waxed_weathered_cut_copper_stairs', slabs: 'minecraft:waxed_weathered_cut_copper_slab', name: 'waxed_weathered_copper' }, { block: 'minecraft:waxed_oxidized_copper', cutted: 'minecraft:waxed_oxidized_cut_copper', stairs: 'minecraft:waxed_oxidized_cut_copper_stairs', slabs: 'minecraft:waxed_oxidized_cut_copper_slab', name: 'waxed_oxidized_copper' } ]; + +global.MINECRAFT_TRIM_MATERIALS = [ + 'minecraft:amethyst_shard', + 'gtceu:bismuth_ingot', + 'minecraft:diamond', + 'minecraft:emerald', + 'minecraft:gold_ingot', + 'minecraft:lapis_lazuli', + 'gtceu:opal_gem', + 'gtceu:raw_pyrite', + 'gtceu:rose_gold_ingot', + 'gtceu:ruby_gem', + 'gtceu:sapphire_gem', + 'gtceu:silver_ingot', + 'gtceu:sterling_silver_ingot', + 'gtceu:topaz_gem' +]; \ No newline at end of file diff --git a/kubejs/startup_scripts/minecraft/items.js b/kubejs/startup_scripts/minecraft/items.js new file mode 100644 index 000000000..160b6b31d --- /dev/null +++ b/kubejs/startup_scripts/minecraft/items.js @@ -0,0 +1,3 @@ +// priority: 0 + +const registerMinecraftItems = (event) => {} \ No newline at end of file diff --git a/kubejs/startup_scripts/tfc/constants.js b/kubejs/startup_scripts/tfc/constants.js index e1ae8b45c..dd0f26f5e 100644 --- a/kubejs/startup_scripts/tfc/constants.js +++ b/kubejs/startup_scripts/tfc/constants.js @@ -5,69 +5,6 @@ * у которых должны быть удалены тэги и они должны быть скрыты в REI. */ global.TFC_DISABLED_ITEMS = [ - // Blocks - 'tfc:metal/block/bismuth', - 'tfc:metal/block/bismuth_bronze', - 'tfc:metal/block/black_bronze', - 'tfc:metal/block/bronze', - 'tfc:metal/block/brass', - 'tfc:metal/block/copper', - 'tfc:metal/block/gold', - 'tfc:metal/block/nickel', - 'tfc:metal/block/rose_gold', - 'tfc:metal/block/silver', - 'tfc:metal/block/tin', - 'tfc:metal/block/zinc', - 'tfc:metal/block/sterling_silver', - 'tfc:metal/block/wrought_iron', - 'tfc:metal/block/cast_iron', - 'tfc:metal/block/steel', - 'tfc:metal/block/black_steel', - 'tfc:metal/block/blue_steel', - 'tfc:metal/block/red_steel', - - // Stairs - 'tfc:metal/block/bismuth_stairs', - 'tfc:metal/block/bismuth_bronze_stairs', - 'tfc:metal/block/black_bronze_stairs', - 'tfc:metal/block/bronze_stairs', - 'tfc:metal/block/brass_stairs', - 'tfc:metal/block/copper_stairs', - 'tfc:metal/block/gold_stairs', - 'tfc:metal/block/nickel_stairs', - 'tfc:metal/block/rose_gold_stairs', - 'tfc:metal/block/silver_stairs', - 'tfc:metal/block/tin_stairs', - 'tfc:metal/block/zinc_stairs', - 'tfc:metal/block/sterling_silver_stairs', - 'tfc:metal/block/wrought_iron_stairs', - 'tfc:metal/block/cast_iron_stairs', - 'tfc:metal/block/steel_stairs', - 'tfc:metal/block/black_steel_stairs', - 'tfc:metal/block/blue_steel_stairs', - 'tfc:metal/block/red_steel_stairs', - - // Slabs - 'tfc:metal/block/bismuth_slab', - 'tfc:metal/block/bismuth_bronze_slab', - 'tfc:metal/block/black_bronze_slab', - 'tfc:metal/block/bronze_slab', - 'tfc:metal/block/brass_slab', - 'tfc:metal/block/copper_slab', - 'tfc:metal/block/gold_slab', - 'tfc:metal/block/nickel_slab', - 'tfc:metal/block/rose_gold_slab', - 'tfc:metal/block/silver_slab', - 'tfc:metal/block/tin_slab', - 'tfc:metal/block/zinc_slab', - 'tfc:metal/block/sterling_silver_slab', - 'tfc:metal/block/wrought_iron_slab', - 'tfc:metal/block/cast_iron_slab', - 'tfc:metal/block/steel_slab', - 'tfc:metal/block/black_steel_slab', - 'tfc:metal/block/blue_steel_slab', - 'tfc:metal/block/red_steel_slab', - // Ingots "tfc:metal/ingot/bismuth", "tfc:metal/ingot/bismuth_bronze", @@ -109,7 +46,7 @@ global.TFC_DISABLED_ITEMS = [ "tfc:metal/double_ingot/cast_iron", "tfc:metal/double_ingot/copper", "tfc:metal/double_ingot/gold", - + // Sheets "tfc:metal/sheet/bismuth", "tfc:metal/sheet/bismuth_bronze", @@ -131,7 +68,7 @@ global.TFC_DISABLED_ITEMS = [ "tfc:metal/sheet/tin", "tfc:metal/sheet/zinc", "tfc:metal/sheet/cast_iron", - + // Double Sheets "tfc:metal/double_sheet/bismuth", "tfc:metal/double_sheet/bismuth_bronze", @@ -153,7 +90,7 @@ global.TFC_DISABLED_ITEMS = [ "tfc:metal/double_sheet/tin", "tfc:metal/double_sheet/zinc", "tfc:metal/double_sheet/cast_iron", - + // Rods "tfc:metal/rod/bismuth", "tfc:metal/rod/bismuth_bronze", @@ -175,252 +112,252 @@ global.TFC_DISABLED_ITEMS = [ "tfc:metal/rod/tin", "tfc:metal/rod/zinc", "tfc:metal/rod/cast_iron", - + // Tool Heads // Copper - 'tfc:metal/pickaxe/copper', - 'tfc:metal/pickaxe_head/copper', - 'tfc:metal/axe/copper', - 'tfc:metal/axe_head/copper', - 'tfc:metal/shovel/copper', - 'tfc:metal/shovel_head/copper', - 'tfc:metal/hoe/copper', - 'tfc:metal/hoe_head/copper', - 'tfc:metal/hammer/copper', - 'tfc:metal/hammer_head/copper', - 'tfc:metal/saw/copper', - 'tfc:metal/saw_blade/copper', - 'tfc:metal/sword/copper', - 'tfc:metal/sword_blade/copper', - 'tfc:metal/knife/copper', - 'tfc:metal/knife_blade/copper', - 'tfc:metal/scythe/copper', + 'tfc:metal/pickaxe/copper', + 'tfc:metal/pickaxe_head/copper', + 'tfc:metal/axe/copper', + 'tfc:metal/axe_head/copper', + 'tfc:metal/shovel/copper', + 'tfc:metal/shovel_head/copper', + 'tfc:metal/hoe/copper', + 'tfc:metal/hoe_head/copper', + 'tfc:metal/hammer/copper', + 'tfc:metal/hammer_head/copper', + 'tfc:metal/saw/copper', + 'tfc:metal/saw_blade/copper', + 'tfc:metal/sword/copper', + 'tfc:metal/sword_blade/copper', + 'tfc:metal/knife/copper', + 'tfc:metal/knife_blade/copper', + 'tfc:metal/scythe/copper', 'tfc:metal/scythe_blade/copper', // Bismuth Bronze - 'tfc:metal/pickaxe/bismuth_bronze', - 'tfc:metal/pickaxe_head/bismuth_bronze', - 'tfc:metal/axe/bismuth_bronze', - 'tfc:metal/axe_head/bismuth_bronze', - 'tfc:metal/shovel/bismuth_bronze', - 'tfc:metal/shovel_head/bismuth_bronze', - 'tfc:metal/hoe/bismuth_bronze', - 'tfc:metal/hoe_head/bismuth_bronze', - 'tfc:metal/hammer/bismuth_bronze', - 'tfc:metal/hammer_head/bismuth_bronze', - 'tfc:metal/saw/bismuth_bronze', - 'tfc:metal/saw_blade/bismuth_bronze', - 'tfc:metal/sword/bismuth_bronze', - 'tfc:metal/sword_blade/bismuth_bronze', - 'tfc:metal/knife/bismuth_bronze', - 'tfc:metal/knife_blade/bismuth_bronze', - 'tfc:metal/scythe/bismuth_bronze', + 'tfc:metal/pickaxe/bismuth_bronze', + 'tfc:metal/pickaxe_head/bismuth_bronze', + 'tfc:metal/axe/bismuth_bronze', + 'tfc:metal/axe_head/bismuth_bronze', + 'tfc:metal/shovel/bismuth_bronze', + 'tfc:metal/shovel_head/bismuth_bronze', + 'tfc:metal/hoe/bismuth_bronze', + 'tfc:metal/hoe_head/bismuth_bronze', + 'tfc:metal/hammer/bismuth_bronze', + 'tfc:metal/hammer_head/bismuth_bronze', + 'tfc:metal/saw/bismuth_bronze', + 'tfc:metal/saw_blade/bismuth_bronze', + 'tfc:metal/sword/bismuth_bronze', + 'tfc:metal/sword_blade/bismuth_bronze', + 'tfc:metal/knife/bismuth_bronze', + 'tfc:metal/knife_blade/bismuth_bronze', + 'tfc:metal/scythe/bismuth_bronze', 'tfc:metal/scythe_blade/bismuth_bronze', // Bronze - 'tfc:metal/pickaxe/bronze', - 'tfc:metal/pickaxe_head/bronze', - 'tfc:metal/axe/bronze', - 'tfc:metal/axe_head/bronze', - 'tfc:metal/shovel/bronze', - 'tfc:metal/shovel_head/bronze', - 'tfc:metal/hoe/bronze', - 'tfc:metal/hoe_head/bronze', - 'tfc:metal/hammer/bronze', - 'tfc:metal/hammer_head/bronze', - 'tfc:metal/saw/bronze', - 'tfc:metal/saw_blade/bronze', - 'tfc:metal/sword/bronze', - 'tfc:metal/sword_blade/bronze', - 'tfc:metal/knife/bronze', - 'tfc:metal/knife_blade/bronze', - 'tfc:metal/scythe/bronze', + 'tfc:metal/pickaxe/bronze', + 'tfc:metal/pickaxe_head/bronze', + 'tfc:metal/axe/bronze', + 'tfc:metal/axe_head/bronze', + 'tfc:metal/shovel/bronze', + 'tfc:metal/shovel_head/bronze', + 'tfc:metal/hoe/bronze', + 'tfc:metal/hoe_head/bronze', + 'tfc:metal/hammer/bronze', + 'tfc:metal/hammer_head/bronze', + 'tfc:metal/saw/bronze', + 'tfc:metal/saw_blade/bronze', + 'tfc:metal/sword/bronze', + 'tfc:metal/sword_blade/bronze', + 'tfc:metal/knife/bronze', + 'tfc:metal/knife_blade/bronze', + 'tfc:metal/scythe/bronze', 'tfc:metal/scythe_blade/bronze', // Black Bronze - 'tfc:metal/pickaxe/black_bronze', - 'tfc:metal/pickaxe_head/black_bronze', - 'tfc:metal/axe/black_bronze', - 'tfc:metal/axe_head/black_bronze', - 'tfc:metal/shovel/black_bronze', - 'tfc:metal/shovel_head/black_bronze', - 'tfc:metal/hoe/black_bronze', - 'tfc:metal/hoe_head/black_bronze', - 'tfc:metal/hammer/black_bronze', - 'tfc:metal/hammer_head/black_bronze', - 'tfc:metal/saw/black_bronze', - 'tfc:metal/saw_blade/black_bronze', - 'tfc:metal/sword/black_bronze', - 'tfc:metal/sword_blade/black_bronze', - 'tfc:metal/knife/black_bronze', - 'tfc:metal/knife_blade/black_bronze', - 'tfc:metal/scythe/black_bronze', + 'tfc:metal/pickaxe/black_bronze', + 'tfc:metal/pickaxe_head/black_bronze', + 'tfc:metal/axe/black_bronze', + 'tfc:metal/axe_head/black_bronze', + 'tfc:metal/shovel/black_bronze', + 'tfc:metal/shovel_head/black_bronze', + 'tfc:metal/hoe/black_bronze', + 'tfc:metal/hoe_head/black_bronze', + 'tfc:metal/hammer/black_bronze', + 'tfc:metal/hammer_head/black_bronze', + 'tfc:metal/saw/black_bronze', + 'tfc:metal/saw_blade/black_bronze', + 'tfc:metal/sword/black_bronze', + 'tfc:metal/sword_blade/black_bronze', + 'tfc:metal/knife/black_bronze', + 'tfc:metal/knife_blade/black_bronze', + 'tfc:metal/scythe/black_bronze', 'tfc:metal/scythe_blade/black_bronze', // Wrought Iron - 'tfc:metal/pickaxe/wrought_iron', - 'tfc:metal/pickaxe_head/wrought_iron', - 'tfc:metal/axe/wrought_iron', - 'tfc:metal/axe_head/wrought_iron', - 'tfc:metal/shovel/wrought_iron', - 'tfc:metal/shovel_head/wrought_iron', - 'tfc:metal/hoe/wrought_iron', - 'tfc:metal/hoe_head/wrought_iron', - 'tfc:metal/hammer/wrought_iron', - 'tfc:metal/hammer_head/wrought_iron', - 'tfc:metal/saw/wrought_iron', - 'tfc:metal/saw_blade/wrought_iron', - 'tfc:metal/sword/wrought_iron', - 'tfc:metal/sword_blade/wrought_iron', - 'tfc:metal/knife/wrought_iron', - 'tfc:metal/knife_blade/wrought_iron', - 'tfc:metal/scythe/wrought_iron', + 'tfc:metal/pickaxe/wrought_iron', + 'tfc:metal/pickaxe_head/wrought_iron', + 'tfc:metal/axe/wrought_iron', + 'tfc:metal/axe_head/wrought_iron', + 'tfc:metal/shovel/wrought_iron', + 'tfc:metal/shovel_head/wrought_iron', + 'tfc:metal/hoe/wrought_iron', + 'tfc:metal/hoe_head/wrought_iron', + 'tfc:metal/hammer/wrought_iron', + 'tfc:metal/hammer_head/wrought_iron', + 'tfc:metal/saw/wrought_iron', + 'tfc:metal/saw_blade/wrought_iron', + 'tfc:metal/sword/wrought_iron', + 'tfc:metal/sword_blade/wrought_iron', + 'tfc:metal/knife/wrought_iron', + 'tfc:metal/knife_blade/wrought_iron', + 'tfc:metal/scythe/wrought_iron', 'tfc:metal/scythe_blade/wrought_iron', // Steel - 'tfc:metal/pickaxe/steel', - 'tfc:metal/pickaxe_head/steel', - 'tfc:metal/axe/steel', - 'tfc:metal/axe_head/steel', - 'tfc:metal/shovel/steel', - 'tfc:metal/shovel_head/steel', - 'tfc:metal/hoe/steel', - 'tfc:metal/hoe_head/steel', - 'tfc:metal/hammer/steel', - 'tfc:metal/hammer_head/steel', - 'tfc:metal/saw/steel', - 'tfc:metal/saw_blade/steel', - 'tfc:metal/sword/steel', - 'tfc:metal/sword_blade/steel', - 'tfc:metal/knife/steel', - 'tfc:metal/knife_blade/steel', - 'tfc:metal/scythe/steel', + 'tfc:metal/pickaxe/steel', + 'tfc:metal/pickaxe_head/steel', + 'tfc:metal/axe/steel', + 'tfc:metal/axe_head/steel', + 'tfc:metal/shovel/steel', + 'tfc:metal/shovel_head/steel', + 'tfc:metal/hoe/steel', + 'tfc:metal/hoe_head/steel', + 'tfc:metal/hammer/steel', + 'tfc:metal/hammer_head/steel', + 'tfc:metal/saw/steel', + 'tfc:metal/saw_blade/steel', + 'tfc:metal/sword/steel', + 'tfc:metal/sword_blade/steel', + 'tfc:metal/knife/steel', + 'tfc:metal/knife_blade/steel', + 'tfc:metal/scythe/steel', 'tfc:metal/scythe_blade/steel', // Black Steel - 'tfc:metal/pickaxe/black_steel', - 'tfc:metal/pickaxe_head/black_steel', - 'tfc:metal/axe/black_steel', - 'tfc:metal/axe_head/black_steel', - 'tfc:metal/shovel/black_steel', - 'tfc:metal/shovel_head/black_steel', - 'tfc:metal/hoe/black_steel', - 'tfc:metal/hoe_head/black_steel', - 'tfc:metal/hammer/black_steel', - 'tfc:metal/hammer_head/black_steel', - 'tfc:metal/saw/black_steel', - 'tfc:metal/saw_blade/black_steel', - 'tfc:metal/sword/black_steel', - 'tfc:metal/sword_blade/black_steel', - 'tfc:metal/knife/black_steel', - 'tfc:metal/knife_blade/black_steel', - 'tfc:metal/scythe/black_steel', + 'tfc:metal/pickaxe/black_steel', + 'tfc:metal/pickaxe_head/black_steel', + 'tfc:metal/axe/black_steel', + 'tfc:metal/axe_head/black_steel', + 'tfc:metal/shovel/black_steel', + 'tfc:metal/shovel_head/black_steel', + 'tfc:metal/hoe/black_steel', + 'tfc:metal/hoe_head/black_steel', + 'tfc:metal/hammer/black_steel', + 'tfc:metal/hammer_head/black_steel', + 'tfc:metal/saw/black_steel', + 'tfc:metal/saw_blade/black_steel', + 'tfc:metal/sword/black_steel', + 'tfc:metal/sword_blade/black_steel', + 'tfc:metal/knife/black_steel', + 'tfc:metal/knife_blade/black_steel', + 'tfc:metal/scythe/black_steel', 'tfc:metal/scythe_blade/black_steel', // Red Steel - 'tfc:metal/pickaxe/red_steel', - 'tfc:metal/pickaxe_head/red_steel', - 'tfc:metal/axe/red_steel', - 'tfc:metal/axe_head/red_steel', - 'tfc:metal/shovel/red_steel', - 'tfc:metal/shovel_head/red_steel', - 'tfc:metal/hoe/red_steel', - 'tfc:metal/hoe_head/red_steel', - 'tfc:metal/hammer/red_steel', - 'tfc:metal/hammer_head/red_steel', - 'tfc:metal/saw/red_steel', - 'tfc:metal/saw_blade/red_steel', - 'tfc:metal/sword/red_steel', - 'tfc:metal/sword_blade/red_steel', - 'tfc:metal/knife/red_steel', - 'tfc:metal/knife_blade/red_steel', - 'tfc:metal/scythe/red_steel', + 'tfc:metal/pickaxe/red_steel', + 'tfc:metal/pickaxe_head/red_steel', + 'tfc:metal/axe/red_steel', + 'tfc:metal/axe_head/red_steel', + 'tfc:metal/shovel/red_steel', + 'tfc:metal/shovel_head/red_steel', + 'tfc:metal/hoe/red_steel', + 'tfc:metal/hoe_head/red_steel', + 'tfc:metal/hammer/red_steel', + 'tfc:metal/hammer_head/red_steel', + 'tfc:metal/saw/red_steel', + 'tfc:metal/saw_blade/red_steel', + 'tfc:metal/sword/red_steel', + 'tfc:metal/sword_blade/red_steel', + 'tfc:metal/knife/red_steel', + 'tfc:metal/knife_blade/red_steel', + 'tfc:metal/scythe/red_steel', 'tfc:metal/scythe_blade/red_steel', // Blue Steel - 'tfc:metal/pickaxe/blue_steel', - 'tfc:metal/pickaxe_head/blue_steel', - 'tfc:metal/axe/blue_steel', - 'tfc:metal/axe_head/blue_steel', - 'tfc:metal/shovel/blue_steel', - 'tfc:metal/shovel_head/blue_steel', - 'tfc:metal/hoe/blue_steel', - 'tfc:metal/hoe_head/blue_steel', - 'tfc:metal/hammer/blue_steel', - 'tfc:metal/hammer_head/blue_steel', - 'tfc:metal/saw/blue_steel', - 'tfc:metal/saw_blade/blue_steel', - 'tfc:metal/sword/blue_steel', - 'tfc:metal/sword_blade/blue_steel', - 'tfc:metal/knife/blue_steel', - 'tfc:metal/knife_blade/blue_steel', - 'tfc:metal/scythe/blue_steel', + 'tfc:metal/pickaxe/blue_steel', + 'tfc:metal/pickaxe_head/blue_steel', + 'tfc:metal/axe/blue_steel', + 'tfc:metal/axe_head/blue_steel', + 'tfc:metal/shovel/blue_steel', + 'tfc:metal/shovel_head/blue_steel', + 'tfc:metal/hoe/blue_steel', + 'tfc:metal/hoe_head/blue_steel', + 'tfc:metal/hammer/blue_steel', + 'tfc:metal/hammer_head/blue_steel', + 'tfc:metal/saw/blue_steel', + 'tfc:metal/saw_blade/blue_steel', + 'tfc:metal/sword/blue_steel', + 'tfc:metal/sword_blade/blue_steel', + 'tfc:metal/knife/blue_steel', + 'tfc:metal/knife_blade/blue_steel', + 'tfc:metal/scythe/blue_steel', 'tfc:metal/scythe_blade/blue_steel', - + // Ores - 'tfc:ore/poor_native_copper', - 'tfc:ore/normal_native_copper', + 'tfc:ore/poor_native_copper', + 'tfc:ore/normal_native_copper', 'tfc:ore/rich_native_copper', - 'tfc:ore/poor_native_gold', - 'tfc:ore/normal_native_gold', - 'tfc:ore/rich_native_gold', - 'tfc:ore/poor_hematite', - 'tfc:ore/normal_hematite', - 'tfc:ore/rich_hematite', - 'tfc:ore/rich_tetrahedrite', - 'tfc:ore/normal_tetrahedrite', + 'tfc:ore/poor_native_gold', + 'tfc:ore/normal_native_gold', + 'tfc:ore/rich_native_gold', + 'tfc:ore/poor_hematite', + 'tfc:ore/normal_hematite', + 'tfc:ore/rich_hematite', + 'tfc:ore/rich_tetrahedrite', + 'tfc:ore/normal_tetrahedrite', 'tfc:ore/poor_tetrahedrite', - 'tfc:ore/rich_sphalerite', - 'tfc:ore/normal_sphalerite', - 'tfc:ore/poor_sphalerite', - 'tfc:ore/rich_limonite', - 'tfc:ore/normal_limonite', - 'tfc:ore/poor_limonite', - 'tfc:ore/rich_magnetite', - 'tfc:ore/normal_magnetite', - 'tfc:ore/poor_magnetite', - 'tfc:ore/rich_malachite', - 'tfc:ore/normal_malachite', - 'tfc:ore/poor_malachite', - 'tfc:ore/rich_garnierite', - 'tfc:ore/normal_garnierite', - 'tfc:ore/poor_garnierite', - 'tfc:ore/rich_bismuthinite', - 'tfc:ore/normal_bismuthinite', - 'tfc:ore/poor_bismuthinite', - 'tfc:ore/rich_cassiterite', - 'tfc:ore/normal_cassiterite', - 'tfc:ore/poor_cassiterite', - 'tfc:ore/rich_native_silver', - 'tfc:ore/normal_native_silver', + 'tfc:ore/rich_sphalerite', + 'tfc:ore/normal_sphalerite', + 'tfc:ore/poor_sphalerite', + 'tfc:ore/rich_limonite', + 'tfc:ore/normal_limonite', + 'tfc:ore/poor_limonite', + 'tfc:ore/rich_magnetite', + 'tfc:ore/normal_magnetite', + 'tfc:ore/poor_magnetite', + 'tfc:ore/rich_malachite', + 'tfc:ore/normal_malachite', + 'tfc:ore/poor_malachite', + 'tfc:ore/rich_garnierite', + 'tfc:ore/normal_garnierite', + 'tfc:ore/poor_garnierite', + 'tfc:ore/rich_bismuthinite', + 'tfc:ore/normal_bismuthinite', + 'tfc:ore/poor_bismuthinite', + 'tfc:ore/rich_cassiterite', + 'tfc:ore/normal_cassiterite', + 'tfc:ore/poor_cassiterite', + 'tfc:ore/rich_native_silver', + 'tfc:ore/normal_native_silver', 'tfc:ore/poor_native_silver', // Gems - 'tfc:gem/amethyst', - 'tfc:gem/diamond', - 'tfc:gem/lapis_lazuli', - 'tfc:gem/emerald', - 'tfc:gem/pyrite', - 'tfc:gem/opal', - 'tfc:gem/ruby', - 'tfc:gem/sapphire', - 'tfc:gem/topaz', - 'tfc:ore/amethyst', - 'tfc:ore/diamond', - 'tfc:ore/lapis_lazuli', - 'tfc:ore/emerald', - 'tfc:ore/pyrite', - 'tfc:ore/opal', - 'tfc:ore/ruby', - 'tfc:ore/sapphire', + 'tfc:gem/amethyst', + 'tfc:gem/diamond', + 'tfc:gem/lapis_lazuli', + 'tfc:gem/emerald', + 'tfc:gem/pyrite', + 'tfc:gem/opal', + 'tfc:gem/ruby', + 'tfc:gem/sapphire', + 'tfc:gem/topaz', + 'tfc:ore/amethyst', + 'tfc:ore/diamond', + 'tfc:ore/lapis_lazuli', + 'tfc:ore/emerald', + 'tfc:ore/pyrite', + 'tfc:ore/opal', + 'tfc:ore/ruby', + 'tfc:ore/sapphire', 'tfc:ore/topaz', - 'tfc:ore/graphite', - 'tfc:ore/sulfur', - 'tfc:ore/cinnabar', - 'tfc:ore/cryolite', - 'tfc:ore/saltpeter', - 'tfc:ore/borax', + 'tfc:ore/graphite', + 'tfc:ore/sulfur', + 'tfc:ore/cinnabar', + 'tfc:ore/cryolite', + 'tfc:ore/saltpeter', + 'tfc:ore/borax', 'tfc:ore/sylvite', 'tfc:ore/bituminous_coal', 'tfc:ore/lignite', @@ -537,47 +474,47 @@ global.TFC_DISABLED_ITEMS = [ 'tfc:wood/gear_box/willow', // Water Wheels - 'tfc:wood/water_wheel/acacia', - 'tfc:wood/water_wheel/ash', + 'tfc:wood/water_wheel/acacia', + 'tfc:wood/water_wheel/ash', 'tfc:wood/water_wheel/aspen', - 'tfc:wood/water_wheel/birch', - 'tfc:wood/water_wheel/blackwood', - 'tfc:wood/water_wheel/chestnut', - 'tfc:wood/water_wheel/douglas_fir', - 'tfc:wood/water_wheel/hickory', - 'tfc:wood/water_wheel/kapok', - 'tfc:wood/water_wheel/mangrove', - 'tfc:wood/water_wheel/maple', - 'tfc:wood/water_wheel/oak', - 'tfc:wood/water_wheel/palm', - 'tfc:wood/water_wheel/pine', - 'tfc:wood/water_wheel/rosewood', - 'tfc:wood/water_wheel/sequoia', - 'tfc:wood/water_wheel/spruce', - 'tfc:wood/water_wheel/sycamore', - 'tfc:wood/water_wheel/white_cedar', + 'tfc:wood/water_wheel/birch', + 'tfc:wood/water_wheel/blackwood', + 'tfc:wood/water_wheel/chestnut', + 'tfc:wood/water_wheel/douglas_fir', + 'tfc:wood/water_wheel/hickory', + 'tfc:wood/water_wheel/kapok', + 'tfc:wood/water_wheel/mangrove', + 'tfc:wood/water_wheel/maple', + 'tfc:wood/water_wheel/oak', + 'tfc:wood/water_wheel/palm', + 'tfc:wood/water_wheel/pine', + 'tfc:wood/water_wheel/rosewood', + 'tfc:wood/water_wheel/sequoia', + 'tfc:wood/water_wheel/spruce', + 'tfc:wood/water_wheel/sycamore', + 'tfc:wood/water_wheel/white_cedar', 'tfc:wood/water_wheel/willow', // Boat - 'tfc:wood/boat/acacia', - 'tfc:wood/boat/ash', + 'tfc:wood/boat/acacia', + 'tfc:wood/boat/ash', 'tfc:wood/boat/aspen', - 'tfc:wood/boat/birch', - 'tfc:wood/boat/blackwood', - 'tfc:wood/boat/chestnut', - 'tfc:wood/boat/douglas_fir', - 'tfc:wood/boat/hickory', - 'tfc:wood/boat/kapok', - 'tfc:wood/boat/mangrove', - 'tfc:wood/boat/maple', - 'tfc:wood/boat/oak', - 'tfc:wood/boat/palm', - 'tfc:wood/boat/pine', - 'tfc:wood/boat/rosewood', - 'tfc:wood/boat/sequoia', - 'tfc:wood/boat/spruce', - 'tfc:wood/boat/sycamore', - 'tfc:wood/boat/white_cedar', + 'tfc:wood/boat/birch', + 'tfc:wood/boat/blackwood', + 'tfc:wood/boat/chestnut', + 'tfc:wood/boat/douglas_fir', + 'tfc:wood/boat/hickory', + 'tfc:wood/boat/kapok', + 'tfc:wood/boat/mangrove', + 'tfc:wood/boat/maple', + 'tfc:wood/boat/oak', + 'tfc:wood/boat/palm', + 'tfc:wood/boat/pine', + 'tfc:wood/boat/rosewood', + 'tfc:wood/boat/sequoia', + 'tfc:wood/boat/spruce', + 'tfc:wood/boat/sycamore', + 'tfc:wood/boat/white_cedar', 'tfc:wood/boat/willow', // Windmill Blades @@ -599,62 +536,62 @@ global.TFC_DISABLED_ITEMS = [ "tfc:black_windmill_blade", // Каменные инстрменты - 'tfc:stone/knife_head/igneous_extrusive', - 'tfc:stone/knife_head/igneous_intrusive', - 'tfc:stone/knife_head/metamorphic', - 'tfc:stone/knife_head/sedimentary', - - 'tfc:stone/knife/igneous_extrusive', - 'tfc:stone/knife/igneous_intrusive', + 'tfc:stone/knife_head/igneous_extrusive', + 'tfc:stone/knife_head/igneous_intrusive', + 'tfc:stone/knife_head/metamorphic', + 'tfc:stone/knife_head/sedimentary', + + 'tfc:stone/knife/igneous_extrusive', + 'tfc:stone/knife/igneous_intrusive', 'tfc:stone/knife/metamorphic', - 'tfc:stone/knife/sedimentary', - - 'tfc:stone/axe_head/igneous_extrusive', - 'tfc:stone/axe_head/igneous_intrusive', - 'tfc:stone/axe_head/metamorphic', - 'tfc:stone/axe_head/sedimentary', - - 'tfc:stone/axe/igneous_extrusive', - 'tfc:stone/axe/igneous_intrusive', - 'tfc:stone/axe/metamorphic', - 'tfc:stone/axe/sedimentary', - - 'tfc:stone/shovel_head/igneous_extrusive', - 'tfc:stone/shovel_head/igneous_intrusive', - 'tfc:stone/shovel_head/metamorphic', + 'tfc:stone/knife/sedimentary', + + 'tfc:stone/axe_head/igneous_extrusive', + 'tfc:stone/axe_head/igneous_intrusive', + 'tfc:stone/axe_head/metamorphic', + 'tfc:stone/axe_head/sedimentary', + + 'tfc:stone/axe/igneous_extrusive', + 'tfc:stone/axe/igneous_intrusive', + 'tfc:stone/axe/metamorphic', + 'tfc:stone/axe/sedimentary', + + 'tfc:stone/shovel_head/igneous_extrusive', + 'tfc:stone/shovel_head/igneous_intrusive', + 'tfc:stone/shovel_head/metamorphic', 'tfc:stone/shovel_head/sedimentary', - - 'tfc:stone/shovel/igneous_extrusive', - 'tfc:stone/shovel/igneous_intrusive', - 'tfc:stone/shovel/metamorphic', - 'tfc:stone/shovel/sedimentary', - - 'tfc:stone/hammer_head/igneous_extrusive', - 'tfc:stone/hammer_head/igneous_intrusive', - 'tfc:stone/hammer_head/metamorphic', - 'tfc:stone/hammer_head/sedimentary', - - 'tfc:stone/hammer/igneous_extrusive', - 'tfc:stone/hammer/igneous_intrusive', - 'tfc:stone/hammer/metamorphic', - 'tfc:stone/hammer/sedimentary', - - 'tfc:stone/hoe_head/igneous_extrusive', - 'tfc:stone/hoe_head/igneous_intrusive', - 'tfc:stone/hoe_head/metamorphic', - 'tfc:stone/hoe_head/sedimentary', - - 'tfc:stone/hoe/igneous_extrusive', - 'tfc:stone/hoe/igneous_intrusive', - 'tfc:stone/hoe/metamorphic', - 'tfc:stone/hoe/sedimentary', + + 'tfc:stone/shovel/igneous_extrusive', + 'tfc:stone/shovel/igneous_intrusive', + 'tfc:stone/shovel/metamorphic', + 'tfc:stone/shovel/sedimentary', + + 'tfc:stone/hammer_head/igneous_extrusive', + 'tfc:stone/hammer_head/igneous_intrusive', + 'tfc:stone/hammer_head/metamorphic', + 'tfc:stone/hammer_head/sedimentary', + + 'tfc:stone/hammer/igneous_extrusive', + 'tfc:stone/hammer/igneous_intrusive', + 'tfc:stone/hammer/metamorphic', + 'tfc:stone/hammer/sedimentary', + + 'tfc:stone/hoe_head/igneous_extrusive', + 'tfc:stone/hoe_head/igneous_intrusive', + 'tfc:stone/hoe_head/metamorphic', + 'tfc:stone/hoe_head/sedimentary', + + 'tfc:stone/hoe/igneous_extrusive', + 'tfc:stone/hoe/igneous_intrusive', + 'tfc:stone/hoe/metamorphic', + 'tfc:stone/hoe/sedimentary', // Other - "tfc:trip_hammer", + 'tfc:trip_hammer', 'tfc:steel_pipe', 'tfc:steel_pump', 'tfc:crankshaft', - 'tfc:hand_wheel_base', + 'tfc:hand_wheel_base', 'tfc:hand_wheel', ]; @@ -662,21 +599,21 @@ global.TFC_DISABLED_ITEMS = [ * Хранит список всех имен типов камней в TFC. */ global.TFC_STONE_TYPES = [ - 'gabbro', - 'shale', - 'claystone', - 'limestone', - 'conglomerate', - 'dolomite', - 'chert', - 'chalk', - 'rhyolite', - 'dacite', - 'quartzite', - 'slate', - 'phyllite', - 'schist', - 'gneiss', + 'gabbro', + 'shale', + 'claystone', + 'limestone', + 'conglomerate', + 'dolomite', + 'chert', + 'chalk', + 'rhyolite', + 'dacite', + 'quartzite', + 'slate', + 'phyllite', + 'schist', + 'gneiss', 'marble', 'basalt', // Есть в GT 'diorite', // Есть в GT @@ -707,6 +644,259 @@ global.TFC_WOOD_TYPES = [ "willow" ]; +global.WOOD_BLOCK_TYPES = { + "track": { + tag: "create:track", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "track_wide": { + tag: "create:track_wide", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "track_narrow": { + tag: "create:track_narrow", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "window": { + tag: "create:window", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "window_pane": { + tag: "create:window_pane", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "log": { + tag: "minecraft:logs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "stripped_log": { + tag: "minecraft:stripped_logs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "wood": { + tag: "minecraft:wood", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "stripped_wood": { + tag: "minecraft:stripped_logs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "leaves": { + tag: "minecraft:leaves", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "planks": { + tag: "minecraft:planks", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "sapling": { + tag: "minecraft:saplings", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "bookshelf": { + tag: "tfc:bookshelves", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "door": { + tag: "minecraft:doors", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "trapdoor": { + tag: "minecraft:trapdoors", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "fence": { + tag: "minecraft:fences", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "log_fence": { + tag: "minecraft:log_fence", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "fence_gate": { + tag: "minecraft:fence_gates", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "button": { + tag: "minecraft:buttons", + material: new MaterialStack(GTMaterials.Wood, GTValues.M / 9) + }, + "pressure_plate": { + tag: "minecraft:pressure_plates", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "slab": { + tag: "minecraft:slabs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "stairs": { + tag: "minecraft:stairs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "tool_rack": { + tag: "tfc:tool_racks", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "twig": { + tag: "tfc:twigs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "fallen_leaves": { + tag: "minecraft:fallen_leaves", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "workbench": { + tag: "tfc:workbenches", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "trapped_chest": { + tag: "tfg:trapped_chest", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "chest": { + tag: "tfg:default_chests", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "loom": { + tag: "minecraft:looms", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "sluice": { + tag: "tfc:sluices", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "barrel": { + tag: "tfc:barrels", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "lectern": { + tag: "minecraft:lecterns", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "scribing_table": { + tag: "tfc:scribing_tables", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "sewing_table": { + tag: "tfc:sewing_tables", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "jar_shelf": { + tag: "tfc:jar_shelves", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "axle": { + tag: "tfc:axles", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "blade_axle": { + tag: "tfc:blade_axles", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "encased_axle": { + tag: "tfc:encased_axles", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "clutch": { + tag: "tfc:clutches", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "gear_box": { + tag: "tfc:gear_boxes", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "water_wheel": { + tag: "tfc:water_wheels", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "lumber": { + tag: "tfc:lumber", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "boat": { + tag: "minecraft:boats", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "support": { + tag: "tfc:support_beams", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "chest_minecart": { + tag: "tfc:minecarts", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "sign": { + tag: "minecraft:signs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "handing_sign": { + tag: "minecraft:handing_signs", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "food_shelf": { + tag: "firmalife:food_shelves", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "hangers": { + tag: "firmalife:hangers", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "jarbnet": { + tag: "firmalife:jarbnets", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "roofing": { + tag: "alekiroofs:roofing", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "wheel": { + tag: "tfcastikorcarts:cart_wheel", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "supply_cart": { + tag: "tfcastikorcarts:supply_carts", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "plow": { + tag: "tfcastikorcarts:plows", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "animal_cart": { + tag: "tfcastikorcarts:animal_carts", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "big_barel": { + tag: "firmalife:big_barels", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "stomping_barel": { + tag: "firmalife:stomping_barels", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "barel_press": { + tag: "firmalife:barel_presses", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "wine_shelf": { + tag: "firmalife:wine_shelves", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "incomplete_track": { + tag: "create:incomplete_track", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "incomplete_track_wide": { + tag: "create:incomplete_track_wide", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + }, + "incomplete_track_narrow": { + tag: "create:incomplete_track_narrow", + material: new MaterialStack(GTMaterials.Wood, GTValues.M) + } +} + + + global.TFC_MUD_TYPES = [ 'silt', 'loam', @@ -900,37 +1090,37 @@ global.TFC_BATCH_TO_BOTTLE_ASSEMBLING_RECIPE_COMPONENTS = [ ]; global.TFC_FURNACE_MEAT_RECIPE_COMPONENTS = [ - { input: 'tfc:food/horse_meat', output: 'tfc:food/cooked_horse_meat', name: 'cooked_horse_meat' }, - { input: 'tfc:food/bear', output: 'tfc:food/cooked_bear', name: 'cooked_bear' }, - { input: 'tfc:food/mutton', output: 'tfc:food/cooked_mutton', name: 'cooked_mutton' }, - { input: 'tfc:food/pheasant', output: 'tfc:food/cooked_pheasant', name: 'cooked_pheasant' }, - { input: 'tfc:food/quail', output: 'tfc:food/cooked_quail', name: 'cooked_quail' }, - { input: 'tfc:food/chicken', output: 'tfc:food/cooked_chicken', name: 'cooked_chicken' }, - { input: 'tfc:food/pork', output: 'tfc:food/cooked_pork', name: 'cooked_pork' }, - { input: 'tfc:food/beef', output: 'tfc:food/cooked_beef', name: 'cooked_beef' }, - { input: 'tfc:food/crappie', output: 'tfc:food/cooked_crappie', name: 'cooked_crappie' }, - { input: 'tfc:food/lake_trout', output: 'tfc:food/cooked_lake_trout', name: 'cooked_lake_trout' }, - { input: 'tfc:food/largemouth_bass', output: 'tfc:food/cooked_largemouth_bass', name: 'cooked_largemouth_bass' }, - { input: 'tfc:food/rainbow_trout', output: 'tfc:food/cooked_rainbow_trout', name: 'cooked_rainbow_trout' }, - { input: 'tfc:food/salmon', output: 'tfc:food/cooked_salmon', name: 'cooked_salmon' }, - { input: 'tfc:food/smallmouth_bass', output: 'tfc:food/cooked_smallmouth_bass', name: 'cooked_smallmouth_bass' }, - { input: 'tfc:food/camelidae', output: 'tfc:food/cooked_camelidae', name: 'cooked_camelidae' }, - { input: 'tfc:food/frog_legs', output: 'tfc:food/cooked_frog_legs', name: 'cooked_frog_legs' }, - { input: 'tfc:food/gran_feline', output: 'tfc:food/cooked_gran_feline', name: 'cooked_gran_feline' }, - { input: 'tfc:food/turtle', output: 'tfc:food/cooked_turtle', name: 'cooked_turtle' }, - { input: 'tfc:food/cod', output: 'tfc:food/cooked_cod', name: 'cooked_cod' }, - { input: 'tfc:food/tropical_fish', output: 'tfc:food/cooked_tropical_fish', name: 'cooked_tropical_fish' }, - { input: 'tfc:food/calamari', output: 'tfc:food/cooked_calamari', name: 'cooked_calamari' }, - { input: 'tfc:food/shellfish', output: 'tfc:food/cooked_shellfish', name: 'cooked_shellfish' }, - { input: 'tfc:food/bluegill', output: 'tfc:food/cooked_bluegill', name: 'cooked_bluegill' }, - { input: 'tfc:food/turkey', output: 'tfc:food/cooked_turkey', name: 'cooked_turkey' }, - { input: 'tfc:food/peafowl', output: 'tfc:food/cooked_peafowl', name: 'cooked_peafowl' }, - { input: 'tfc:food/grouse', output: 'tfc:food/cooked_grouse', name: 'cooked_grouse' }, - { input: 'tfc:food/venison', output: 'tfc:food/cooked_venison', name: 'cooked_venison' }, - { input: 'tfc:food/wolf', output: 'tfc:food/cooked_wolf', name: 'cooked_wolf' }, - { input: 'tfc:food/rabbit', output: 'tfc:food/cooked_rabbit', name: 'cooked_rabbit' }, - { input: 'tfc:food/hyena', output: 'tfc:food/cooked_hyena', name: 'cooked_hyena' }, - { input: 'tfc:food/duck', output: 'tfc:food/cooked_duck', name: 'cooked_duck' }, + { input: 'tfc:food/horse_meat', output: 'tfc:food/cooked_horse_meat', name: 'cooked_horse_meat' }, + { input: 'tfc:food/bear', output: 'tfc:food/cooked_bear', name: 'cooked_bear' }, + { input: 'tfc:food/mutton', output: 'tfc:food/cooked_mutton', name: 'cooked_mutton' }, + { input: 'tfc:food/pheasant', output: 'tfc:food/cooked_pheasant', name: 'cooked_pheasant' }, + { input: 'tfc:food/quail', output: 'tfc:food/cooked_quail', name: 'cooked_quail' }, + { input: 'tfc:food/chicken', output: 'tfc:food/cooked_chicken', name: 'cooked_chicken' }, + { input: 'tfc:food/pork', output: 'tfc:food/cooked_pork', name: 'cooked_pork' }, + { input: 'tfc:food/beef', output: 'tfc:food/cooked_beef', name: 'cooked_beef' }, + { input: 'tfc:food/crappie', output: 'tfc:food/cooked_crappie', name: 'cooked_crappie' }, + { input: 'tfc:food/lake_trout', output: 'tfc:food/cooked_lake_trout', name: 'cooked_lake_trout' }, + { input: 'tfc:food/largemouth_bass', output: 'tfc:food/cooked_largemouth_bass', name: 'cooked_largemouth_bass' }, + { input: 'tfc:food/rainbow_trout', output: 'tfc:food/cooked_rainbow_trout', name: 'cooked_rainbow_trout' }, + { input: 'tfc:food/salmon', output: 'tfc:food/cooked_salmon', name: 'cooked_salmon' }, + { input: 'tfc:food/smallmouth_bass', output: 'tfc:food/cooked_smallmouth_bass', name: 'cooked_smallmouth_bass' }, + { input: 'tfc:food/camelidae', output: 'tfc:food/cooked_camelidae', name: 'cooked_camelidae' }, + { input: 'tfc:food/frog_legs', output: 'tfc:food/cooked_frog_legs', name: 'cooked_frog_legs' }, + { input: 'tfc:food/gran_feline', output: 'tfc:food/cooked_gran_feline', name: 'cooked_gran_feline' }, + { input: 'tfc:food/turtle', output: 'tfc:food/cooked_turtle', name: 'cooked_turtle' }, + { input: 'tfc:food/cod', output: 'tfc:food/cooked_cod', name: 'cooked_cod' }, + { input: 'tfc:food/tropical_fish', output: 'tfc:food/cooked_tropical_fish', name: 'cooked_tropical_fish' }, + { input: 'tfc:food/calamari', output: 'tfc:food/cooked_calamari', name: 'cooked_calamari' }, + { input: 'tfc:food/shellfish', output: 'tfc:food/cooked_shellfish', name: 'cooked_shellfish' }, + { input: 'tfc:food/bluegill', output: 'tfc:food/cooked_bluegill', name: 'cooked_bluegill' }, + { input: 'tfc:food/turkey', output: 'tfc:food/cooked_turkey', name: 'cooked_turkey' }, + { input: 'tfc:food/peafowl', output: 'tfc:food/cooked_peafowl', name: 'cooked_peafowl' }, + { input: 'tfc:food/grouse', output: 'tfc:food/cooked_grouse', name: 'cooked_grouse' }, + { input: 'tfc:food/venison', output: 'tfc:food/cooked_venison', name: 'cooked_venison' }, + { input: 'tfc:food/wolf', output: 'tfc:food/cooked_wolf', name: 'cooked_wolf' }, + { input: 'tfc:food/rabbit', output: 'tfc:food/cooked_rabbit', name: 'cooked_rabbit' }, + { input: 'tfc:food/hyena', output: 'tfc:food/cooked_hyena', name: 'cooked_hyena' }, + { input: 'tfc:food/duck', output: 'tfc:food/cooked_duck', name: 'cooked_duck' }, { input: 'tfc:food/chevon', output: 'tfc:food/cooked_chevon', name: 'cooked_chevon' }, { input: 'minecraft:egg', output: 'tfc:food/cooked_egg', name: 'cooked_egg' }, ]; @@ -1014,7 +1204,7 @@ global.TFC_GREENHOUSE_FRUIT_RECIPE_COMPONENTS = [ { input: 'tfc:plant/peach_sapling', fluid_amount: 8000, output: '3x tfc:food/peach', name: 'peach' }, { input: 'tfc:plant/plum_sapling', fluid_amount: 8000, output: '3x tfc:food/plum', name: 'plum' }, { input: 'tfc:plant/red_apple_sapling', fluid_amount: 8000, output: '3x tfc:food/red_apple', name: 'red_apple' }, - { input: 'tfc:plant/banana_sapling', fluid_amount:8000, output: '3x tfc:food/banana', name: 'banana' }, + { input: 'tfc:plant/banana_sapling', fluid_amount: 8000, output: '3x tfc:food/banana', name: 'banana' }, ]; global.TFC_GREENHOUSE_VEGETABLE_RECIPE_COMPONENTS = [ @@ -1057,7 +1247,12 @@ global.TFC_GREENHOUSE_BERRY_RECIPE_COMPONENTS = [ { input: 'tfc:plant/cranberry_bush', fluid_amount: 6000, output: '3x tfc:food/cranberry', name: 'cranberry' }, ]; -global.calcAmountOfMetal = (defaultAmount, percents) => { - const value = defaultAmount / (100 / percents) - return (value % 2 == 0) ? value : Math.round(value) - 1 -} \ No newline at end of file +global.TFC_MAGMA_BLOCKS = [ + 'tfc:rock/magma/granite', + 'tfc:rock/magma/diorite', + 'tfc:rock/magma/gabbro', + 'tfc:rock/magma/rhyolite', + 'tfc:rock/magma/basalt', + 'tfc:rock/magma/andesite', + 'tfc:rock/magma/dacite' +]; \ No newline at end of file diff --git a/mods b/mods index a5fd6b557..b43b5e13e 160000 --- a/mods +++ b/mods @@ -1 +1 @@ -Subproject commit a5fd6b55716faee52f573531340ecf7c1d9956fd +Subproject commit b43b5e13e20e447af0cf9b30c9254c64730c95ae