Merge branch '0.5.0' into quests

This commit is contained in:
Dmitry 2024-01-11 15:29:11 +07:00
commit b59b98fcfa
73 changed files with 2326 additions and 5440 deletions

View file

@ -1,24 +1,31 @@
AmbientSounds_*
BetterF3*
BetterPingDisplay-*
BetterThirdPerson-*
blur-*
cherishedworlds-*
clienttweaks-*
Controlling-*
cupboard-*
CraftPresence-*
defaultoptions-*
drippyloadingscreen_*
embeddium-*
embeddiumplus-*
entityculling-*
fancymenu_*
farsight-*
entityculling-*
drippyloadingscreen_*
notenoughanimations-*
oculus-*
REIPluginCompatibilities-*
blur-*
betterfoliage-*
CraftPresence-*
ChunkAnimator-*
firstperson-forge-*
invhud*
ItemPhysicLite_*
notenoughanimations-*
oculus-*
rubidium-extra-*
betterfoliage-*
ChunkAnimator-*
Searchables-*
konkrete_forge_*
MouseTweaks-*
dynamiclightsreforged-*
cherishedworlds-*
BetterPingDisplay-*
BetterThirdPerson-*
firstperson-forge-*
textrues_embeddium_options-*

1
.gitignore vendored
View file

@ -22,6 +22,7 @@ CustomSkinLoader/*
screenshots/*
shaderpacks/*
chiselsandbits/*
.vscode/
# Extensions
**/*.log

View file

@ -1,5 +1,31 @@
# Changelog
## [Unreleased]
### Изменения
- Исправлены текстуры ванильных кусков руды.
- Исправлены рецепты декрафта через продувку в воде из create у грязной пыль.
- Обновлен интерфейс.
- Добавлены оголовья для Spade.
- Добавлена ковка для Spade.
- MiningHammer теперь делаются из 2 слитков, значит их можно получить до создания экструдера.
- Добавлено больше рецептов через водную продувку из create gt руды.
- Добавлено больше рецептов через бросание в воду AE2.
- Исправлен баг, когда отлично выкованный статус на оголовии не перекладывался на сам инструмент.
- Исправление рецептов терминалов AE2.
- Добавлены 2 новые жилы, Oilsands и Spodumene, подробнее в таблице Excel.
- Обновлены 5 жил, подробнее в таблице Excel, там можно посмотреть изменения.
- Добавлена жидкостная жила с fresh водой.
- Интеграция ComputerCraft.
- Возвращен рецепт костной муки в CrushingWheels.
- Надеюсь исправлены квесты, которые не принимали инструмент как следует.
- Добавлено множестно новых рецептов для CrushingWheels и Milling из Create.
- Отключены рецепты пылей некоторых металлов, теперь их нужно смешивать в Mixer.
- Изменен рецепт досок из креозота.
- Изменен рецепт у лент из мода Exposure.
- Добавлены в TFC металлы Tin Alloy и Red Alloy, теперь их можно смешать и отлить в форму.
- Интеграция FirmaLife насколько это возможно (Удалены рецепты теплицы из нержавейки + скрыты некоторые блоки/жидкости) + заменены рецепты использующие нержавейку (что?).
- Некоторое обновление квестов.
## [0.4.3] - 06.01.2024
### Изменения
- Исправлен рецепт точного механизма из Create.

View file

@ -1,15 +1,15 @@
# TerraFirmaGreg - 1.20.x
<div align="center">
<a href="https://github.com/TerraFirmaGreg-Team/TFG-Modpack-1.20.x">
<img src="https://github.com/TerraFirmaGreg-Team/.github/blob/4980f6f22fd8a7ecab65230b87964c8db23efbc2/branding/logo.png?raw=true" alt="Logo" height="75">
<a href="https://github.com/TerraFirmaGreg-Team/Modpack-1.20.x">
<img src="https://github.com/TerraFirmaGreg-Team/.github/blob/main/branding/logo.png?raw=true" alt="Logo" height="75">
</a>
<br/>
<a href="https://discord.gg/terrafirmagreg">
<img src="https://cdn.jsdelivr.net/npm/@intergrav/devins-badges/assets/compact-minimal/social/discord-singular_vector.svg" alt="Chat on Discord"></a>
<a href="https://www.curseforge.com/minecraft/modpacks/terrafirmagreg/files?page=1&pageSize=20&version=1.20.2">
<a href="https://www.curseforge.com/minecraft/modpacks/terrafirmagreg/files?page=1&pageSize=20&version=1.20.1">
<img src="https://cdn.jsdelivr.net/npm/@intergrav/devins-badges/assets/compact-minimal/available/curseforge_vector.svg" alt="Available on СurseForge"></a>
<br/>
<p align="center">
@ -40,7 +40,7 @@ Also in the modpack there are other interesting mods that will allow you to pass
- [GregTech Modern](https://www.curseforge.com/minecraft/mc-mods/gregtechceu-modern)
- [Applied Energistics](https://www.curseforge.com/minecraft/mc-mods/ae2)
- [Create](https://www.curseforge.com/minecraft/mc-mods/create)
- [AdAstra](https://www.curseforge.com/minecraft/mc-mods/ad-astra)
- [Gregicality Rocketry](https://www.curseforge.com/minecraft/mc-mods/gcyr)
and others, also all these mods have addons to diversify the gameplay even more! To make it easier for you to start developing in this complex world, there are quests in the modpack, with the help of them you can get used to this unfriendly world.

View file

@ -1,80 +1,131 @@
[EmbeddiumPlus]
[embeddiumplus]
[EmbeddiumPlus.DynamicLights]
OnlyUpdateOnPositionChange = true
DynamicEntityLighting = true
#Allowed Values: OFF, SLOW, FAST, FASTEST, REALTIME
QualityMode = "REALTIME"
DynamicTileEntityLighting = true
#You can configure FPS overlay at the corner
[EmbeddiumPlus.fps_overlay]
[embeddiumplus.general]
#Configure FPS Display mode
#Complete mode gives you min FPS count and average count
#Allowed Values: OFF, SIMPLE, ADVANCED
DisplayMode = "OFF"
OverlayMargin = 12
#Configure max BlockEntity distance
[EmbeddiumPlus.block_entity_distance]
#Max horizontal render distance
#Value is squared, default was 64^2 (or 64x64)
maxHorizontalDistance = 4096
#Max vertical render distance
#Value is raw
maxVerticalDistance = 32
[EmbeddiumPlus.Misc]
RenderFog = true
HideJEI = false
CloudHeight = 128
#Allowed Values: OFF, FAST, FANCY
ChunkFadeInQuality = "FANCY"
fpsDisplay = "OFF"
#Shows GPU and memory usage onto FPS display
#Allowed Values: OFF, ON, GPU, RAM
fpsDisplaySystem = "OFF"
#Set Fullscreen mode
#Borderless let you change between screens more faster and move your mouse across monitors
#Allowed Values: WINDOWED, BORDERLESS, FULLSCREEN
BorderlessFullscreen = "FULLSCREEN"
ExtendedServerViewDistance = true
fullscreen = "WINDOWED"
#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
#Configure FPS Display margin
#Give some space between corner and text
#Range: 0 ~ 48
fpsDisplayMargin = 12
#Configure max Entity distance
[EmbeddiumPlus.entity_distance_limit]
#Max horizontal render distance
#Value is squared, default was 64^2 (or 64x64)
maxHorizontalDistance = 4096
#Turn on this feature
Enable = true
#List of entities to not be ignored when are out of configured radius.
#Accepts ResourceLocation and Mod IDs
#Example: "minecraft:bat" for specific entity or "alexmobs:*" for all mod specific entities
entityWhitelist = []
#Max vertical render distance
#Value is raw
maxVerticalDistance = 32
[embeddiumplus.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
#Toggles FastChest feature
#Without flywheel installed or using any backend, it increases FPS significatly on chest rooms
fastChests = false
#Toggles FastBeds feature
fastBeds = true
#Toggles Minecraft Fonts shadows
#Depending of the case may increase performance
#Gives a flat style text
fontShadows = false
#Configure TrueDarkness feature
#Section deprecated and removed soon (in favor of rework)
[EmbeddiumPlus.true_darkness]
#Sets darkness mode
#Depending of the option darkness can be less or more aggressive
#Allowed Values: PITCH_BLACK, REALLY_DARK, DARK, DIM
DarknessMode = "REALLY_DARK"
#Turn on this feature
Enable = true
[embeddiumplus.performance.distanceCulling]
[EmbeddiumPlus.true_darkness.Advanced]
IgnoreMoonPhase = false
BlockLightingOnly = false
[embeddiumplus.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
cullingDistanceX = 4096
#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 vertical max distance before cull entities
#Value is raw
#Range: 0 ~ 512
cullingDistanceY = 32
[embeddiumplus.performance.distanceCulling.tileEntities]
#Toggles distance culling for Block Entities
#Maybe you use another mod for that :(
enable = true
#Configure horizontal max distance before cull Block entities
#Value is squared, default was 64^2 (or 64x64)
#Range: > 0
cullingDistanceX = 4096
#Configure vertical max distance before cull Block entities
#Value is raw
#Range: 0 ~ 512
cullingDistanceY = 32
[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 = "REALTIME"
#Toggle if Entities should have dynamic lights
onEntities = true
updateOnlyOnPositionChange = 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 ~ 320
cloudsHeight = 128
#Toggle fog feature
#Fog was a vanilla feature, toggling off may increases performance
fog = true
[embeddiumplus.quality.darkness]
#Configure Darkness Mode
#Each config changes what is considered 'true darkness'
#Allowed Values: TOTAL_DARKNESS, PITCH_BLACK, DARK, DIM, OFF
mode = "PITCH_BLACK"
#Configure fog brightness on nether when darkness is enabled
#Range: 0.0 ~ 1.0
MaximumMoonBrightness = 0.25
endFogBright = 0.5
#Toggles if moon phases affects darkness in the overworld
affectedByMoonPhase = true
#Configure max moon brightness level with darkness
#Range: 0.0 ~ 1.0
MinimumMoonBrightness = 0.0
#Configure what dimension should use TrueDarkness
[EmbeddiumPlus.true_darkness.DimensionSettings]
DefaultSetting = false
#Range: 0.0 ~ 1.0
DarkNetherFogBrightness = 0.5
DarkWhenNoSkylight = false
Nether = false
Overworld = true
#Range: 0.0 ~ 1.0
DarkEndFogBrightness = 0.0
"Dark End?" = false
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
#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
#This option will be replaced with a whitelist in a near future
valueByDefault = false
#Disables all bright sources of darkness like moon or fog
#Only affects darkness effect
enableBlockLightOnly = false
#Toggle Darkness on Overworld dimension
enableOnOverworld = true

View file

@ -0,0 +1,9 @@
[mixin]
[mixin.languageScreen]
fastreload = true
[mixin.borderless]
f11 = true

462
config/emi.css Normal file
View file

@ -0,0 +1,462 @@
/** EMI Config */
#general {
/**
* Whether EMI is enabled and visible.
*/
enabled: true;
/**
* Whether cheating in items is enabled.
*/
cheat-mode: true;
/**
* How much EMI should use tooltips and popups to show controls and information.
*/
help-level: normal;
/**
* Where EMI should pull stacks from to populate the index.
*/
index-source: creative;
/**
* Whether normal search queries should include the tooltip.
*/
search-tooltip-by-default: true;
/**
* Whether normal search queries should include the mod name.
*/
search-mod-name-by-default: false;
/**
* Whether normal search queries should include the stack's tags.
*/
search-tags-by-default: false;
}
#ui {
/**
* Which action should be performed when clicking the recipe book.
*/
recipe-book-action: toggle-craftables;
/**
* Where to display status effects in the inventory.
*/
effect-location: top;
/**
* Whether to display a gray overlay when hovering over a stack.
*/
show-hover-overlay: true;
/**
* Whether to add mod name to tooltips
*/
append-mod-id: true;
/**
* Whether to add mod name to item tooltips, in case another mod provides behavior
*/
append-item-mod-id: true;
/**
* Prevents recipes being quick crafted from shifting around under the cursor.
*/
miscraft-prevention: true;
/**
* The unit to display fluids as.
*/
fluid-unit: millibuckets;
/**
* Whether to use the batched render system. Batching is faster, but may have
* incompatibilities with shaders or other mods.
*/
use-batched-renderer: true;
/**
* Whether to have the search bar in the center of the screen, instead of to the
* side.
*/
center-search-bar: true;
/**
* Which sidebar type to switch to when searching.
*/
search-sidebar-focus: index;
/**
* Which sidebar type to focus when the search is empty.
*/
empty-search-sidebar-focus: none;
/**
* The amount of vertical margin to give in the recipe screen.
*/
vertical-margin: 20;
/**
* The minimum width of the recipe screen in pixels. Controls how many tabs there
* can be, and where the page switching buttons go. The default is 176, the width
* of most screens.
*/
minimum-recipe-screen-width: 176;
/**
* Where to show workstations in the recipe screen
*/
workstation-location: bottom;
/**
* Display cost per batch when hovering a recipe output
*/
show-cost-per-batch: true;
/**
* Whether recipes should have a button to set as default.
*/
recipe-default-button: true;
/**
* Whether recipes should have a button to show the recipe tree.
*/
recipe-tree-button: true;
/**
* Whether recipes should have a button to fill the ingredients in a handler.
*/
recipe-fill-button: true;
/**
* Whether recipes should have a button to take a screenshot of the recipe.
*/
recipe-screenshot-button: false;
/**
* The GUI scale at which recipe screenshots are saved. Use 0 to use the current
* GUI scale.
*/
recipe-screenshot-scale: 0;
/**
* The pages in the left sidebar
*/
left-sidebar-pages: favorites;
/**
* The subpanels in the left sidebar
*/
left-sidebar-subpanels: none;
/**
* How many columns and rows of ingredients to limit the left sidebar to
*/
left-sidebar-size: 12, 100;
/**
* How much space to maintain between the left sidebar and obstructions, in pixels
*/
left-sidebar-margins: 2, 2, 2, 2;
/**
* Where to position the left sidebar
*/
left-sidebar-align: left, top;
/**
* Whether to render the header buttons and page count for the left sidebar
*/
left-sidebar-header: visible;
/**
* Which theme to use for the left sidebar
*/
left-sidebar-theme: transparent;
/**
* The pages in the right sidebar
*/
right-sidebar-pages: index, craftables;
/**
* The subpanels in the right sidebar
*/
right-sidebar-subpanels: none;
/**
* How many columns and rows of ingredients to limit the right sidebar to
*/
right-sidebar-size: 12, 100;
/**
* How much space to maintain between the right sidebar and obstructions, in pixels
*/
right-sidebar-margins: 2, 2, 2, 2;
/**
* Where to position the right sidebar
*/
right-sidebar-align: right, top;
/**
* Whether to render the header buttons and page count for the right sidebar
*/
right-sidebar-header: visible;
/**
* Which theme to use for the right sidebar
*/
right-sidebar-theme: transparent;
/**
* The pages in the top sidebar
*/
top-sidebar-pages: none;
/**
* The subpanels in the top sidebar
*/
top-sidebar-subpanels: none;
/**
* How many columns and rows of ingredients to limit the top sidebar to
*/
top-sidebar-size: 9, 9;
/**
* How much space to maintain between the top sidebar and obstructions, in pixels
*/
top-sidebar-margins: 2, 2, 2, 2;
/**
* Where to position the top sidebar
*/
top-sidebar-align: center, center;
/**
* Whether to render the header buttons and page count for the top sidebar
*/
top-sidebar-header: visible;
/**
* Which theme to use for the top sidebar
*/
top-sidebar-theme: transparent;
/**
* The pages in the bottom sidebar
*/
bottom-sidebar-pages: none;
/**
* The subpanels in the bottom sidebar
*/
bottom-sidebar-subpanels: none;
/**
* How many columns and rows of ingredients to limit the bottom sidebar to
*/
bottom-sidebar-size: 9, 9;
/**
* How much space to maintain between the bottom sidebar and obstructions, in
* pixels
*/
bottom-sidebar-margins: 2, 2, 2, 2;
/**
* Where to position the bottom sidebar
*/
bottom-sidebar-align: center, center;
/**
* Whether to render the header buttons and page count for the bottom sidebar
*/
bottom-sidebar-header: visible;
/**
* Which theme to use for the bottom sidebar
*/
bottom-sidebar-theme: transparent;
}
#binds {
/**
* Toggle the visibility of EMI.
*/
toggle-visibility: "ctrl key.keyboard.o";
/**
* Focuse the search bar.
*/
focus-search: "ctrl key.keyboard.f";
/**
* Clears the search bar.
*/
clear-search: "key.keyboard.unknown";
/**
* Display the recipes for creating a stack.
*/
view-recipes: "key.keyboard.r";
view-recipes: "key.mouse.left";
/**
* Display the recipes that can be created using a stack.
*/
view-uses: "key.keyboard.u";
view-uses: "key.mouse.right";
/**
* Favorite the item to display on the side of the screen opposite of recipies for
* quick access.
*/
favorite: "key.keyboard.a";
/**
* Set the default recipe for a given stack in the output of a recipe to that
* recipe.
*/
default-stack: "ctrl key.mouse.left";
/**
* Display the recipe tree for a given stack.
*/
view-stack-tree: "key.keyboard.unknown";
/**
* Display the recipe tree.
*/
view-tree: "key.keyboard.unknown";
/**
* Return to the previous page in EMI.
*/
back: "key.keyboard.backspace";
/**
* Return to the next page in EMI after going back.
*/
forward: "key.keyboard.unknown";
/**
* When on a stack with an associated recipe:
* Move ingredients for a single result.
*/
craft-one: "key.mouse.left";
/**
* When on a stack with an associated recipe:
* Move ingredients for as many results as possible.
*/
craft-all: "shift key.mouse.left";
/**
* When on a stack with an associated recipe:
* Move ingredients for a single result and put in inventory if possible.
*/
craft-one-to-inventory: "key.keyboard.unknown";
/**
* When on a stack with an associated recipe:
* Move ingredients for as many results as possible and put in inventory if
* possible.
*/
craft-all-to-inventory: "key.keyboard.unknown";
/**
* When on a stack with an associated recipe:
* Move ingredients for a single result and put in cursor if possible.
*/
craft-one-to-cursor: "ctrl key.mouse.left";
/**
* Display the recipe that will be used to craft on a stack with no recipe context.
*/
show-craft: "key.keyboard.left.shift";
/**
* Cheat in one of an item into the inventory.
*/
cheat-one-to-inventory: "ctrl key.mouse.right";
/**
* Cheat in a stack of an item into the inventory.
*/
cheat-stack-to-inventory: "ctrl key.mouse.left";
/**
* Cheat in one of an item into the cursor.
*/
cheat-one-to-cursor: "ctrl key.mouse.middle";
/**
* Cheat in a stack of an item into the cursor.
*/
cheat-stack-to-cursor: "key.keyboard.unknown";
/**
* Delete the stack in the cursor when hovering the index
*/
delete-cursor-stack: "key.mouse.left";
/**
* Copies the hovered recipe's ID to the clipboard
*/
copy-recipe-id: "key.keyboard.keypad.5";
/**
* In edit mode, hide the hovered stack
*/
hide-stack: "ctrl key.mouse.left";
/**
* In edit mode, hide stacks with the hovered stack's id
*/
hide-stack-by-id: "ctrl shift key.mouse.left";
}
#dev {
/**
* Whether development functions should be enabled. Not recommended for general
* play.
*/
dev-mode: false;
/**
* Whether editing the index is enabled
*/
edit-mode: false;
/**
* Whether to log untranslated tags as warnings.
*/
log-untranslated-tags: false;
/**
* Whether to log ingredients that don't have a representative tag as warnings.
*/
log-non-tag-ingredients: false;
/**
* Whether hovering the output of a recipe should show the recipe's EMI ID.
*/
show-recipe-ids: true;
/**
* Whether stacks in the index should display a highlight if they have a recipe
* default.
*/
highlight-defaulted: false;
/**
* Whether to display exclusion areas
*/
highlight-exclusion-areas: false;
}

View file

@ -18,6 +18,14 @@ customization {
action = backgroundoptions
}
customization {
identifier = %id=button_compatibility_id:mc_titlescreen_copyright_button%
orientation = bottom-left
x = 2
action = movebutton
y = -10
}
customization {
identifier = %id=button_compatibility_id:mc_titlescreen_multiplayer_button%
orientation = mid-centered
@ -33,15 +41,6 @@ customization {
height = 20
}
customization {
identifier = %id=button_compatibility_id:mc_titlescreen_multiplayer_button%
loopbackgroundanimations = true
restartbackgroundanimations = true
action = setbuttontexture
backgroundhovered = kubejs/assets/tfg/textures/gui/button_98x20_hovered.png
backgroundnormal = kubejs/assets/tfg/textures/gui/button_98x20.png
}
customization {
identifier = %id=button_compatibility_id:mc_titlescreen_accessibility_button%
action = hidebutton
@ -76,15 +75,6 @@ customization {
y = -5
}
customization {
identifier = %id=button_compatibility_id:mc_titlescreen_options_button%
loopbackgroundanimations = true
restartbackgroundanimations = true
action = setbuttontexture
backgroundhovered = kubejs/assets/tfg/textures/gui/button_98x20_hovered.png
backgroundnormal = kubejs/assets/tfg/textures/gui/button_98x20.png
}
customization {
identifier = %id=button_compatibility_id:mc_titlescreen_quit_button%
orientation = mid-centered
@ -93,15 +83,6 @@ customization {
y = 18
}
customization {
identifier = %id=button_compatibility_id:mc_titlescreen_quit_button%
loopbackgroundanimations = true
restartbackgroundanimations = true
action = setbuttontexture
backgroundhovered = kubejs/assets/tfg/textures/gui/button_98x20_hovered.png
backgroundnormal = kubejs/assets/tfg/textures/gui/button_98x20.png
}
customization {
identifier = %id=button_compatibility_id:mc_titlescreen_language_button%
action = hidebutton
@ -123,15 +104,6 @@ customization {
y = -51
}
customization {
identifier = %id=button_compatibility_id:mc_titlescreen_singleplayer_button%
loopbackgroundanimations = true
restartbackgroundanimations = true
action = setbuttontexture
backgroundhovered = kubejs/assets/tfg/textures/gui/button_hovered.png
backgroundnormal = kubejs/assets/tfg/textures/gui/button.png
}
customization {
identifier = %id=button_compatibility_id:forge_titlescreen_mods_button%
orientation = mid-centered
@ -140,15 +112,6 @@ customization {
y = -5
}
customization {
identifier = %id=button_compatibility_id:forge_titlescreen_mods_button%
loopbackgroundanimations = true
restartbackgroundanimations = true
action = setbuttontexture
backgroundhovered = kubejs/assets/tfg/textures/gui/button_98x20_hovered.png
backgroundnormal = kubejs/assets/tfg/textures/gui/button_98x20.png
}
customization {
identifier = %id=button_compatibility_id:mc_titlescreen_realms_button%
action = hidebutton
@ -232,17 +195,15 @@ customization {
customization {
orientation = mid-centered
loopbackgroundanimations = true
restartbackgroundanimations = true
buttonaction = joinserver;tfg2.terrafirmagreg.su%btnaction_splitter_fm%
backgroundhovered = kubejs/assets/tfg/textures/gui/button_98x20_hovered.png
label = Offical Server
loopbackgroundanimations = true
x = 47
width = 98
action = addbutton
actionid = 6514e312-8243-47af-a516-89743d8ca1af1699692677651
y = -28
backgroundnormal = kubejs/assets/tfg/textures/gui/button_98x20.png
label = Offical Server
height = 20
}
@ -296,7 +257,7 @@ customization {
backgroundhovered = kubejs/assets/tfg/textures/gui/github_logo_hovered.png
label =
loopbackgroundanimations = true
x = 100
x = 99
width = 20
action = addbutton
actionid = 91b4ae84-eed0-47a3-8fe9-6957c02d2c621699691709167
@ -312,7 +273,7 @@ customization {
backgroundhovered = kubejs/assets/tfg/textures/gui/modrinth_logo_hovered.png
label =
loopbackgroundanimations = true
x = 72
x = 73
width = 20
action = addbutton
actionid = 6514e312-8243-47af-a516-89743d8ca1af1699692677651
@ -340,11 +301,3 @@ customization {
height = 56
}
customization {
identifier = %id=button_compatibility_id:mc_titlescreen_copyright_button%
orientation = bottom-left
x = 2
action = movebutton
y = -10
}

View file

@ -15,50 +15,32 @@ customization {
customization {
identifier = %id=button_compatibility_id:mc_pausescreen_advancements_button%
action = hidebutton
}
customization {
identifier = %id=button_compatibility_id:mc_pausescreen_options_button%
orientation = mid-centered
x = -102
orientation = element
orientation_element = vanillabtn:button_compatibility_id:mc_pausescreen_options_button
x = 0
action = movebutton
y = -10
y = -25
}
customization {
identifier = %id=button_compatibility_id:mc_pausescreen_disconnect_button%
orientation = mid-centered
x = -101
action = movebutton
y = 39
identifier = %id=button_compatibility_id:mc_pausescreen_advancements_button%
action = setbuttonlabel
value = {"placeholder":"local","values":{"key":"ftbquests.quests"}}
}
customization {
identifier = %id=button_compatibility_id:mc_pausescreen_disconnect_button%
loopbackgroundanimations = true
restartbackgroundanimations = true
action = setbuttontexture
identifier = %id=button_compatibility_id:mc_pausescreen_advancements_button%
action = sethoverlabel
label = {"placeholder":"local","values":{"key":"ftbquests.quests"}}
}
customization {
identifier = %id=button_compatibility_id:mc_pausescreen_stats_button%
orientation = mid-centered
x = 4
orientation = element
orientation_element = vanillabtn:button_compatibility_id:mc_pausescreen_lan_button
x = 0
action = movebutton
y = -10
}
customization {
identifier = %id=button_compatibility_id:mc_pausescreen_stats_button%
loopbackgroundanimations = true
restartbackgroundanimations = true
action = setbuttontexture
}
customization {
identifier = %id=button_compatibility_id:mc_pausescreen_lan_button%
action = hidebutton
y = -24
}
customization {
@ -68,17 +50,11 @@ customization {
customization {
identifier = %id=button_compatibility_id:mc_pausescreen_return_to_game_button%
orientation = mid-centered
x = -102
orientation = element
orientation_element = vanillabtn:398348
x = 0
action = movebutton
y = -34
}
customization {
identifier = %id=button_compatibility_id:mc_pausescreen_return_to_game_button%
loopbackgroundanimations = true
restartbackgroundanimations = true
action = setbuttontexture
y = -72
}
customization {
@ -86,72 +62,8 @@ customization {
action = hidebutton
}
customization {
identifier = %id=398348%
action = hidebutton
}
customization {
identifier = %id=398348%
orientation = mid-centered
x = -217
action = movebutton
y = 13
}
customization {
identifier = %id=398348%
width = 98
action = resizebutton
height = 20
}
customization {
identifier = %id=button_compatibility_id:mc_pausescreen_report_bugs_button%
action = hidebutton
}
customization {
orientation = mid-centered
[loading_requirement:fancymenu_loading_requirement_is_singpleplayer][requirement_mode:if][req_id:4f25fe92-c3a1-49fa-80ad-9bb26244ad751700456727801] =
restartbackgroundanimations = true
buttonaction = opengui;net.minecraft.client.gui.screens.ShareToLanScreen%btnaction_splitter_fm%
label = {"placeholder":"local","values":{"key":"lanServer.start"}}
loopbackgroundanimations = true
x = 4
width = 98
action = addbutton
actionid = 210ee97d-9318-4a22-93cb-7c2a224ba4331700456388839
y = 14
height = 20
}
customization {
orientation = mid-centered
restartbackgroundanimations = true
buttonaction = opengui;net.minecraftforge.client.gui.ModListScreen%btnaction_splitter_fm%
[loading_requirement:fancymenu_loading_requirement_is_singpleplayer][requirement_mode:if][req_id:b95d87c4-e395-446c-9e89-a80d876578ac1700457303801] =
label = {"placeholder":"local","values":{"key":"fml.menu.mods"}}
loopbackgroundanimations = true
x = -102
width = 98
action = addbutton
actionid = 1476f957-76fe-46a8-8b9b-4c99fbee39a31700457166228
y = 14
height = 20
}
customization {
orientation = mid-centered
restartbackgroundanimations = true
buttonaction = opengui;net.minecraftforge.client.gui.ModListScreen%btnaction_splitter_fm%
label = {"placeholder":"local","values":{"key":"fml.menu.mods"}}
loopbackgroundanimations = true
x = -102
width = 204
action = addbutton
actionid = 8e13488b-82eb-470a-b8dd-750b6815a9211700457311802
y = 14
[loading_requirement:fancymenu_loading_requirement_is_multiplayer][requirement_mode:if][req_id:bf6191b0-f0b7-4986-9e8a-ae5fa1509e6d1700457329225] =
height = 20
}

View file

@ -1059,8 +1059,12 @@
id: "gtceu:stone_axe"
tag: {
Damage: 0
GT.Tool: {
Damage: 0
}
}
}
match_nbt: false
type: "item"
}]
x: 3.5d
@ -1078,8 +1082,12 @@
id: "gtceu:stone_hoe"
tag: {
Damage: 0
GT.Tool: {
Damage: 0
}
}
}
match_nbt: false
type: "item"
}]
x: 2.0d
@ -1116,8 +1124,12 @@
id: "gtceu:stone_shovel"
tag: {
Damage: 0
GT.Tool: {
Damage: 0
}
}
}
match_nbt: false
type: "item"
}]
x: 6.5d
@ -1136,8 +1148,12 @@
id: "gtceu:stone_hammer"
tag: {
Damage: 0
GT.Tool: {
Damage: 0
}
}
}
match_nbt: false
type: "item"
}]
x: 12.0d
@ -1246,8 +1262,12 @@
id: "gtceu:stone_knife"
tag: {
Damage: 0
GT.Tool: {
Damage: 0
}
}
}
match_nbt: false
type: "item"
}]
x: 5.0d
@ -1638,6 +1658,7 @@
"ftbfiltersystem:filter": "or(item(gtceu:copper_pickaxe)item(gtceu:bismuth_bronze_pickaxe)item(gtceu:black_bronze_pickaxe)item(gtceu:bronze_pickaxe))"
}
}
match_nbt: false
title: "Медная или бронзовая кирка"
type: "item"
}]
@ -1699,6 +1720,7 @@
"ftbfiltersystem:filter": "or(item(tfc:metal/chisel/copper)item(tfc:metal/chisel/bismuth_bronze)item(tfc:metal/chisel/bronze)item(tfc:metal/chisel/black_bronze))"
}
}
match_nbt: false
title: "Медная или бронзовая стамеска"
type: "item"
}]
@ -1908,6 +1930,7 @@
"ftbfiltersystem:filter": "or(item(gtceu:copper_saw)item(gtceu:bismuth_bronze_saw)item(gtceu:bronze_saw)item(gtceu:black_bronze_saw))"
}
}
match_nbt: false
title: "Медная или бронзовая пила"
type: "item"
}]
@ -1926,6 +1949,7 @@
"ftbfiltersystem:filter": "or(item(tfc:metal/propick/copper)item(tfc:metal/propick/bismuth_bronze)item(tfc:metal/propick/bronze)item(tfc:metal/propick/black_bronze))"
}
}
match_nbt: false
title: "Медная или бронзовая кирка шахтера"
type: "item"
}]
@ -1944,6 +1968,7 @@
"ftbfiltersystem:filter": "or(item(gtceu:copper_hammer)item(gtceu:bismuth_bronze_hammer)item(gtceu:bronze_hammer)item(gtceu:black_bronze_hammer))"
}
}
match_nbt: false
title: "Медный или бронзовый топор"
type: "item"
}]
@ -2782,6 +2807,7 @@
tasks: [{
id: "3E84976D6C8AB0EA"
item: "tfc:ceramic_blowpipe"
match_nbt: false
type: "item"
}]
x: -13.0d
@ -3028,6 +3054,7 @@
tasks: [{
id: "5930A278D214573B"
item: "tfc:wooden_bucket"
match_nbt: false
type: "item"
}]
x: -9.5d
@ -3778,6 +3805,7 @@
"ftbfiltersystem:filter": "ftbfiltersystem:item_tag(tfc:tuyeres)"
}
}
match_nbt: false
title: "Any #tfc:tuyeres"
type: "item"
}]
@ -4154,6 +4182,7 @@
Damage: 0
}
}
match_nbt: false
type: "item"
}]
x: -1.5d

View file

@ -138,6 +138,10 @@ machines:
# Default: false
doTerrainExplosion: true
# Energy use multiplier for electric items.
# Default: 100
energyUsageMultiplier: 100
# Whether machines or boilers damage the terrain when they explode.
# Note machines and boilers always explode when overloaded with power or met with special conditions, regardless of this config.
# Default: true
@ -215,6 +219,14 @@ client:
# Default: true
machinesEmissiveTextures: true
# Whether or not sounds should be played when using tools outside of crafting.
# Default: true
toolUseSounds: true
# Whether or not sounds should be played when crafting with tools.
# Default: true
toolCraftingSounds: true
# The default color to overlay onto machines.
# #FFFFFF is no coloring (default).
# #D2DCFF is the classic blue from GT5.
@ -225,6 +237,12 @@ client:
# Default: true
useVBO: true
# Config options for Tools and Armor
tools:
# Random chance for electric tools to take actual damage
# Default: 10%
rngDamageElectricTools: 10
# Config options for Mod Compatibility
compat:
# Config options regarding GTEU compatibility with other energy systems

View file

@ -157,6 +157,10 @@
"create:exact_block": null,
"create:filter": null,
"create:goggles": null,
"gtceu:electric_container_provider": null,
"gtceu:workable_provider": null,
"gtceu:controllable_provider": null,
"gtceu:recipe_logic_provider": null,
"tfc:barrel": null,
"tfc:bellows": null,
"tfc:sapling": null,
@ -206,10 +210,6 @@
"tfc:ocelot": null,
"tfc:rabbit": null,
"tfc:fishing_hook": null,
"gtceu:electric_container_provider": null,
"gtceu:workable_provider": null,
"gtceu:controllable_provider": null,
"gtceu:recipe_logic_provider": null,
"minecraft:brewing_stand": null,
"minecraft:beehive": null,
"minecraft:command_block": null,

0
config/jei/blacklist.cfg Normal file
View file

141
config/jei/jei-client.ini Normal file
View file

@ -0,0 +1,141 @@
[advanced]
# Description: Display search bar in the center
# Valid Values: [true, false]
# Default Value: false
CenterSearch = false
# Description: Set low-memory mode (makes search very slow, but uses less RAM)
# Valid Values: [true, false]
# Default Value: false
LowMemorySlowSearchEnabled = false
# 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
LookupFluidContents = false
# Description: How items should be handed to you
# Valid Values: [INVENTORY, MOUSE_PICKUP]
# Default Value: MOUSE_PICKUP
GiveMode = MOUSE_PICKUP
# Description: Max. recipe gui height
# Valid Values: Any integer greater than or equal to 175
# Default Value: 350
RecipeGuiHeight = 350
[sorting]
# Description: Sorting order for the ingredient list
# Valid Values: A comma-separated list containing values of:
# [MOD_NAME, INGREDIENT_TYPE, ALPHABETICAL, CREATIVE_MENU, TAG, ARMOR, MAX_DURABILITY]
# Default Value: MOD_NAME, INGREDIENT_TYPE, CREATIVE_MENU
IngredientSortStages = MOD_NAME, INGREDIENT_TYPE, CREATIVE_MENU
[search]
# Description: Search mode for Mod Names (prefix: @)
# Valid Values: [ENABLED, REQUIRE_PREFIX, DISABLED]
# Default Value: REQUIRE_PREFIX
ModNameSearchMode = REQUIRE_PREFIX
# Description: Search mode for Tooltips (prefix: #)
# Valid Values: [ENABLED, REQUIRE_PREFIX, DISABLED]
# Default Value: ENABLED
TooltipSearchMode = ENABLED
# Description: Search mode for Tag Names (prefix: $)
# Valid Values: [ENABLED, REQUIRE_PREFIX, DISABLED]
# Default Value: REQUIRE_PREFIX
TagSearchMode = REQUIRE_PREFIX
# Description: Search mode for Colors (prefix: ^)
# Valid Values: [ENABLED, REQUIRE_PREFIX, DISABLED]
# Default Value: DISABLED
ColorSearchMode = DISABLED
# Description: Search mode for resources locations (prefix: &)
# Valid Values: [ENABLED, REQUIRE_PREFIX, DISABLED]
# Default Value: DISABLED
ResourceLocationSearchMode = DISABLED
# Description: Search advanced tooltips (visible with F3+H)
# Valid Values: [true, false]
# Default Value: false
SearchAdvancedTooltips = false
[IngredientList]
# Description: Max number of rows shown
# Valid Values: An integer in the range [1, 100] (inclusive)
# Default Value: 16
MaxRows = 16
# Description: Max number of columns shown
# Valid Values: An integer in the range [4, 100] (inclusive)
# Default Value: 9
MaxColumns = 9
# Description: Horizontal alignment of the ingredient grid inside the available area
# Valid Values: [LEFT, CENTER, RIGHT]
# Default Value: RIGHT
HorizontalAlignment = RIGHT
# Description: Vertical alignment of the ingredient grid inside the available area
# Valid Values: [TOP, CENTER, BOTTOM]
# Default Value: TOP
VerticalAlignment = TOP
# Description: Visibility of the top page buttons. Use AUTO_HIDE to only show it when there are multiple pages.
# Valid Values: [ENABLED, AUTO_HIDE, DISABLED]
# Default Value: ENABLED
ButtonNavigationVisibility = ENABLED
# Description: Set to true to draw a background texture behind the gui.
# Valid Values: [true, false]
# Default Value: false
DrawBackground = false
[BookmarkList]
# Description: Max number of rows shown
# Valid Values: An integer in the range [1, 100] (inclusive)
# Default Value: 16
MaxRows = 16
# Description: Max number of columns shown
# Valid Values: An integer in the range [4, 100] (inclusive)
# Default Value: 9
MaxColumns = 9
# Description: Horizontal alignment of the ingredient grid inside the available area
# Valid Values: [LEFT, CENTER, RIGHT]
# Default Value: LEFT
HorizontalAlignment = LEFT
# Description: Vertical alignment of the ingredient grid inside the available area
# Valid Values: [TOP, CENTER, BOTTOM]
# Default Value: TOP
VerticalAlignment = TOP
# Description: Visibility of the top page buttons. Use AUTO_HIDE to only show it when there are multiple pages.
# Valid Values: [ENABLED, AUTO_HIDE, DISABLED]
# Default Value: ENABLED
ButtonNavigationVisibility = ENABLED
# Description: Set to true to draw a background texture behind the gui.
# Valid Values: [true, false]
# Default Value: false
DrawBackground = false

View file

@ -0,0 +1,8 @@
[colors]
# Description: Color values to search for
# Valid Values: A comma-separated list containing values of:
# Any color name and an RGB hex color, separated by a ':'
# Default Value: White:EEEEEE, LightBlue:7492CC, Cyan:00EEEE, Blue:2222DD, LapisBlue:25418B, Teal:008080, Yellow:CACB58, GoldenYellow:EED700, Orange:D97634, Pink:D1899D, HotPink:FC0FC0, Magenta:B24BBB, Purple:813EB9, EvilPurple:2E1649, Lavender:B57EDC, Indigo:480082, Sand:DBD3A0, Tan:BB9B63, LightBrown:A0522D, Brown:634B33, DarkBrown:3A2D13, LimeGreen:43B239, SlimeGreen:83CB73, Green:008000, DarkGreen:224D22, GrassGreen:548049, Red:963430, BrickRed:B0604B, NetherBrick:2A1516, Redstone:CE3E36, Black:181515, CharcoalGray:464646, IronGray:646464, Gray:808080, Silver:C0C0C0
SearchColors = White:EEEEEE, LightBlue:7492CC, Cyan:00EEEE, Blue:2222DD, LapisBlue:25418B, Teal:008080, Yellow:CACB58, GoldenYellow:EED700, Orange:D97634, Pink:D1899D, HotPink:FC0FC0, Magenta:B24BBB, Purple:813EB9, EvilPurple:2E1649, Lavender:B57EDC, Indigo:480082, Sand:DBD3A0, Tan:BB9B63, LightBrown:A0522D, Brown:634B33, DarkBrown:3A2D13, LimeGreen:43B239, SlimeGreen:83CB73, Green:008000, DarkGreen:224D22, GrassGreen:548049, Red:963430, BrickRed:B0604B, NetherBrick:2A1516, Redstone:CE3E36, Black:181515, CharcoalGray:464646, IronGray:646464, Gray:808080, Silver:C0C0C0

12
config/jei/jei-debug.ini Normal file
View file

@ -0,0 +1,12 @@
[debug]
# Description: Debug mode enabled
# Valid Values: [true, false]
# Default Value: false
DebugMode = false
# Description: Debug inputs enabled
# Valid Values: [true, false]
# Default Value: false
DebugInputs = false

View file

@ -0,0 +1,11 @@
[modname]
# Description: Formatting for mod name tooltip
# Valid Values: A chat formatting string.
# Use these formatting colors:
# black dark_blue dark_green dark_aqua dark_red dark_purple gold gray dark_gray blue green aqua red light_purple yellow white
# With these formatting options:
# obfuscated bold strikethrough underline italic
# Default Value: blue italic
ModNameFormat = blue italic

View file

@ -0,0 +1,83 @@
minecraft:crafting
minecraft:anvil
minecraft:blasting
minecraft:brewing
minecraft:campfire
minecraft:compostable
minecraft:fuel
minecraft:furnace
minecraft:smithing
minecraft:smoking
minecraft:stonecutting
ae2:attunement
ae2:certus_growth
ae2:charger
ae2:condenser
ae2:entropy
ae2:inscriber
ae2:item_transformation
create:automatic_brewing
create:automatic_packing
create:automatic_shaped
create:automatic_shapeless
create:block_cutting
create:crushing
create:deploying
create:draining
create:fan_blasting
create:fan_haunting
create:fan_smoking
create:fan_washing
create:item_application
create:mechanical_crafting
create:milling
create:mixing
create:mystery_conversion
create:packing
create:pressing
create:sandpaper_polishing
create:sawing
create:sequenced_assembly
create:spout_filling
create:wood_cutting
createaddition:charging
createaddition:liquid_burning
createaddition:rolling
exposure:photograph_printing
exposure:photograph_stacking
firmalife:drying
firmalife:mixing_bowl
firmalife:oven
firmalife:smoking
firmalife:vat
ftbquests:loot_crate
ftbquests:quest
jei:information
jumbofurnace:jumbo_furnace_upgrade
jumbofurnace:jumbo_smelting
morered:soldering
tfc:alloying
tfc:anvil
tfc:blast_furnace
tfc:bloomery
tfc:casting
tfc:chisel
tfc:clay_knapping
tfc:fire_clay_knapping
tfc:glassworking
tfc:goat_horn_knapping
tfc:heating
tfc:instant_barrel
tfc:instant_fluid_barrel
tfc:jam_pot
tfc:leather_knapping
tfc:loom
tfc:pumpkin_knapping
tfc:quern
tfc:rock_knapping
tfc:scraping
tfc:sealed_barrel
tfc:simple_pot
tfc:soup_pot
tfc:welding
treetap:tap_extract

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -1,4 +1,8 @@
{
"metal.tfg.redstone": "Redstone",
"metal.tfg.red_alloy": "Red Alloy",
"metal.tfg.tin_alloy": "Tin Alloy",
"block.gtceu.andesite_almandine_ore.prospected": "Almandine",
"block.gtceu.andesite_aluminium_ore.prospected": "Aluminium",
"block.gtceu.andesite_alunite_ore.prospected": "Alunite",

View file

@ -1,4 +1,8 @@
{
"metal.tfg.redstone": "Красный камень",
"metal.tfg.red_alloy": "Красный сплав",
"metal.tfg.tin_alloy": "Оловянный сплав",
"block.gtceu.andesite_almandine_ore.prospected": "Альмандин",
"block.gtceu.andesite_aluminium_ore.prospected": "Алюминий",
"block.gtceu.andesite_alunite_ore.prospected": "Алюнит",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

Before After
Before After

View file

@ -1,6 +1,6 @@
// priority: 1
REIEvents.hide('item', event => {
JEIEvents.hideItems(event => {
hideMinecraftStuff(event)
hideTFCStuff(event)
hideFirmaLifeStuff(event)
@ -13,20 +13,31 @@ REIEvents.hide('item', event => {
hideRailWaysStuff(event)
hideCreateAdditionsStuff(event)
hideChiselAndBitsStuff(event)
hideFTBQuestsStuff(event)
})
REIEvents.groupEntries(event => {
groupGTCEUStuff(event)
groupTFCStuff(event)
// REIEvents.groupEntries(event => {
// groupGTCEUStuff(event)
// groupTFCStuff(event)
// })
JEIEvents.removeCategories(event => {
// НЕ РАБОТАЕТ СУКА, РАЗРАБ НАСРАЛ!
// registerMinecraftCategories(event)
// registerGTCEUCategories(event)
// registerMoreRedCategories(event)
// 'jumbofurnace:jumbo_furnace_upgrade,
// event.remove('minecraft:campfire_cooking')
// event.remove('jumbofurnace:jumbo_smelting')
// console.log(event.getCategoryIds())
// event.getCategoryIds()
})
REIEvents.removeCategories(event => {
registerMinecraftCategories(event)
registerGTCEUCategories(event)
registerMoreRedCategories(event)
})
REIEvents.hide('fluid', event => {
JEIEvents.hideFluids(event => {
hideTFCFluids(event)
hideFirmaLifeFluids(event)

View file

@ -4,4 +4,6 @@ const hideAE2Stuff = (event) => {
global.AE2_DISABLED_ITEMS.forEach(item => {
event.hide(item)
})
event.hide('ae2:facade')
}

View file

@ -9,10 +9,13 @@ const hideFirmaLifeStuff = (event) => {
})
})
global.FIRMALIFE_DISABLED_ITEMS.forEach(item => {
event.hide(item)
})
global.FIRMALIFE_HIDED_ITEMS.forEach(item => {
event.hide(item)
})
}
const hideFirmaLifeFluids = (event) => {

View file

@ -0,0 +1,7 @@
// priority: 0
const hideFTBQuestsStuff = (event) => {
global.FTB_QUESTS_DISABLED_ITEMS.forEach(item => {
event.hide(item)
})
}

View file

@ -110,8 +110,6 @@ const groupGTCEUStuff = (event) => {
event.groupItemsByTag('tfg:rei_groups/restrictive_pipes/normal', 'Normal Resctrictive Pipes', 'forge:restrictive_pipes/normal')
event.groupItemsByTag('tfg:rei_groups/restrictive_pipes/large', 'Large Resctrictive Pipes', 'forge:restrictive_pipes/large')
event.groupItemsByTag('tfg:rei_groups/restrictive_pipes/huge', 'Huge Resctrictive Pipes', 'forge:restrictive_pipes/huge')
event.groupItems("tfg:rei_groups/boiler", "Boiler", [/gtceu:.*_boiler/]);
event.groupItems("tfg:rei_groups/diode", "Diode", [/gtceu:(?!.*smd).*_diode/]);

View file

@ -0,0 +1,14 @@
{
"firstLoad": false,
"noAggressiveProbing": true,
"docsTimestamp": 1704370339573,
"allowRegistryObjectDumps": true,
"allowRegistryLiteralDumps": true,
"requireSingleAndPerm": true,
"enabled": true,
"modChanged": false,
"disableRecipeJsonDump": true,
"dumpJSONIntermediates": false,
"pullSchema": false,
"version": 1
}

View file

@ -1,7 +1,7 @@
{
"type": "tfc:cluster_vein",
"config": {
"rarity": 235,
"rarity": 205,
"density": 0.3,
"min_y": -64,
"max_y": 30,

View file

@ -1,7 +1,7 @@
{
"type": "tfc:cluster_vein",
"config": {
"rarity": 380,
"rarity": 310,
"density": 0.25,
"min_y": -64,
"max_y": -20,

View file

@ -25,7 +25,11 @@
},
{
"block": "gtceu:rhyolite_emerald_ore",
"weight": 65
"weight": 50
},
{
"block": "gtceu:rhyolite_thorium_ore",
"weight": 15
}
]
},
@ -40,7 +44,11 @@
},
{
"block": "gtceu:basalt_emerald_ore",
"weight": 65
"weight": 50
},
{
"block": "gtceu:basalt_thorium_ore",
"weight": 15
}
]
},
@ -55,7 +63,11 @@
},
{
"block": "gtceu:andesite_emerald_ore",
"weight": 65
"weight": 50
},
{
"block": "gtceu:andesite_thorium_ore",
"weight": 15
}
]
},
@ -70,7 +82,11 @@
},
{
"block": "gtceu:dacite_emerald_ore",
"weight": 65
"weight": 50
},
{
"block": "gtceu:dacite_thorium_ore",
"weight": 15
}
]
}

View file

@ -15,7 +15,7 @@
"with": [
{
"block": "gtceu:gabbro_garnierite_ore",
"weight": 40
"weight": 30
},
{
"block": "gtceu:gabbro_nickel_ore",
@ -27,7 +27,11 @@
},
{
"block": "gtceu:gabbro_pentlandite_ore",
"weight": 30
"weight": 25
},
{
"block": "gtceu:gabbro_cobalt_ore",
"weight": 15
}
]
}

View file

@ -15,11 +15,11 @@
"with": [
{
"block": "gtceu:granite_soapstone_ore",
"weight": 35
"weight": 30
},
{
"block": "gtceu:granite_talc_ore",
"weight": 25
"weight": 20
},
{
"block": "gtceu:granite_glauconite_sand_ore",
@ -28,6 +28,10 @@
{
"block": "gtceu:granite_pentlandite_ore",
"weight": 15
},
{
"block": "gtceu:granite_trona_ore",
"weight": 10
}
]
},
@ -38,11 +42,11 @@
"with": [
{
"block": "gtceu:diorite_soapstone_ore",
"weight": 35
"weight": 30
},
{
"block": "gtceu:diorite_talc_ore",
"weight": 25
"weight": 20
},
{
"block": "gtceu:diorite_glauconite_sand_ore",
@ -51,6 +55,10 @@
{
"block": "gtceu:diorite_pentlandite_ore",
"weight": 15
},
{
"block": "gtceu:diorite_trona_ore",
"weight": 10
}
]
},
@ -61,11 +69,11 @@
"with": [
{
"block": "gtceu:gabbro_soapstone_ore",
"weight": 35
"weight": 30
},
{
"block": "gtceu:gabbro_talc_ore",
"weight": 25
"weight": 20
},
{
"block": "gtceu:gabbro_glauconite_sand_ore",
@ -74,6 +82,10 @@
{
"block": "gtceu:gabbro_pentlandite_ore",
"weight": 15
},
{
"block": "gtceu:gabbro_trona_ore",
"weight": 10
}
]
}

View file

@ -0,0 +1,90 @@
{
"type": "tfc:cluster_vein",
"config": {
"rarity": 170,
"density": 0.3,
"min_y": 20,
"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
}
]
}
]
}
}

View file

@ -18,7 +18,7 @@
"weight": 35
},
{
"block": "gtceu:rhyolite_magnetite_ore",
"block": "gtceu:rhyolite_magnesite_ore",
"weight": 25
},
{
@ -41,7 +41,7 @@
"weight": 35
},
{
"block": "gtceu:basalt_magnetite_ore",
"block": "gtceu:basalt_magnesite_ore",
"weight": 25
},
{
@ -64,7 +64,7 @@
"weight": 35
},
{
"block": "gtceu:andesite_magnetite_ore",
"block": "gtceu:andesite_magnesite_ore",
"weight": 25
},
{
@ -87,7 +87,7 @@
"weight": 35
},
{
"block": "gtceu:dacite_magnetite_ore",
"block": "gtceu:dacite_magnesite_ore",
"weight": 25
},
{
@ -110,7 +110,7 @@
"weight": 35
},
{
"block": "gtceu:granite_magnetite_ore",
"block": "gtceu:granite_magnesite_ore",
"weight": 25
},
{
@ -133,7 +133,7 @@
"weight": 35
},
{
"block": "gtceu:diorite_magnetite_ore",
"block": "gtceu:diorite_magnesite_ore",
"weight": 25
},
{
@ -156,7 +156,7 @@
"weight": 35
},
{
"block": "gtceu:gabbro_magnetite_ore",
"block": "gtceu:gabbro_magnesite_ore",
"weight": 25
},
{

View file

@ -0,0 +1,221 @@
{
"type": "tfc:disc_vein",
"config": {
"rarity": 180,
"density": 0.375,
"min_y": 20,
"max_y": 60,
"size": 35,
"height": 6,
"random_name": "normal_spodumene",
"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
}
]
}
]
}
}

View file

@ -15,7 +15,7 @@
"with": [
{
"block": "gtceu:rhyolite_chalcopyrite_ore",
"weight": 70
"weight": 55
},
{
"block": "gtceu:rhyolite_zeolite_ore",
@ -24,6 +24,10 @@
{
"block": "gtceu:rhyolite_cassiterite_ore",
"weight": 5
},
{
"block": "gtceu:rhyolite_realgar_ore",
"weight": 15
}
]
},
@ -34,7 +38,7 @@
"with": [
{
"block": "gtceu:basalt_chalcopyrite_ore",
"weight": 70
"weight": 55
},
{
"block": "gtceu:basalt_zeolite_ore",
@ -43,6 +47,10 @@
{
"block": "gtceu:basalt_cassiterite_ore",
"weight": 5
},
{
"block": "gtceu:basalt_realgar_ore",
"weight": 15
}
]
},
@ -53,7 +61,7 @@
"with": [
{
"block": "gtceu:andesite_chalcopyrite_ore",
"weight": 70
"weight": 55
},
{
"block": "gtceu:andesite_zeolite_ore",
@ -62,6 +70,10 @@
{
"block": "gtceu:andesite_cassiterite_ore",
"weight": 5
},
{
"block": "gtceu:andesite_realgar_ore",
"weight": 15
}
]
},
@ -72,7 +84,7 @@
"with": [
{
"block": "gtceu:dacite_chalcopyrite_ore",
"weight": 70
"weight": 55
},
{
"block": "gtceu:dacite_zeolite_ore",
@ -81,6 +93,10 @@
{
"block": "gtceu:dacite_cassiterite_ore",
"weight": 5
},
{
"block": "gtceu:dacite_realgar_ore",
"weight": 15
}
]
}

View file

@ -0,0 +1,4 @@
{
"feature": "tfg:vein/normal_oilsands",
"placement": []
}

View file

@ -0,0 +1,4 @@
{
"feature": "tfg:vein/normal_spodumene",
"placement": []
}

16
kubejs/jsconfig.json Normal file
View file

@ -0,0 +1,16 @@
{
"compilerOptions": {
"lib": [
"ES5",
"ES2015"
],
"rootDirs": [
"probe/generated",
"probe/user",
"server_scripts",
"startup_scripts",
"client_scripts"
],
"target": "ES2015"
}
}

View file

@ -190,7 +190,7 @@ const registerAE2Recipes = (event) => {
'FEF'
], {
A: 'ae2:wireless_receiver',
B: 'ae2:crafting_terminal',
B: 'ae2:terminal',
C: 'ae2:engineering_processor',
D: '#forge:circuits/hv',
E: 'gtceu:hv_lithium_battery',

View file

@ -13,7 +13,7 @@ const registerAE2WTLibRecipes = (event) => {
// Wireless Pattern Terminal
event.recipes.gtceu.assembler('ae2wtlib:wireless_pattern_encoding_terminal')
.itemInputs(
'2x ae2:dense_energy_cell',
'2x gtceu:hv_lithium_battery',
'ae2:wireless_terminal',
'ae2:pattern_encoding_terminal',
'2x gtceu:luv_sensor',
@ -27,7 +27,7 @@ const registerAE2WTLibRecipes = (event) => {
// Pattern Access Terminal
event.recipes.gtceu.assembler('ae2wtlib:wireless_pattern_access_terminal')
.itemInputs(
'2x ae2:dense_energy_cell',
'2x gtceu:hv_lithium_battery',
'ae2:wireless_terminal',
'ae2:pattern_access_terminal',
'2x gtceu:luv_sensor',

View file

@ -0,0 +1,40 @@
// priority: 0
const registerComputerCraftData = (event) => {
const TURTLE_TOOL_TYPES = [ GTToolType.SWORD, GTToolType.PICKAXE, GTToolType.AXE, GTToolType.SHOVEL, GTToolType.HOE ]
GTRegistries.MATERIALS.forEach(material => {
TURTLE_TOOL_TYPES.forEach(type => {
let toolStack = $ToolHelper.get(type, material)
if (!toolStack.isEmpty()) {
let json = {
type: "computercraft:tool",
item: toolStack.getId(),
adjective: `upgrade.minecraft.diamond_${type.name}.adjective`,
allowEnchantments: true,
consumeDurability: "always"
}
switch (type) {
case GTToolType.SWORD:
json["breakable"] = "computercraft:turtle_sword_harvestable"
break;
case GTToolType.SHOVEL:
json["breakable"] = "computercraft:turtle_shovel_harvestable"
break;
case GTToolType.HOE:
json["breakable"] = "computercraft:turtle_hoe_harvestable"
break;
}
event.addJson(`computercraft:computercraft/turtle_upgrades/${material}_${type.name}`, json)
}
})
});
}

View file

@ -3,5 +3,263 @@
const registerComputerCraftRecipes = (event) => {
// Удаление рецептов мода
event.remove({ mod: 'computercraft' });
event.remove({ not: [
{ id: 'computercraft:printed_pages' },
{ id: 'computercraft:printed_book' },
], mod: 'computercraft' });
// Networking Cable
event.recipes.gtceu.assembler('computercraft:cable')
.itemInputs('ae2:fluix_glass_cable')
.inputFluids(Fluid.of('gtceu:redstone', 288))
.itemOutputs('computercraft:cable')
.duration(80)
.EUt(120)
// Wireless Modem Normal
event.shaped('computercraft:wireless_modem_normal', [
' A ',
'BCB',
' D '
], {
A: 'gtceu:hv_sensor',
B: 'ae2:calculation_processor',
C: '#forge:circuits/hv',
D: 'computercraft:cable',
}).id('tfg:crafting/wireless_modem_normal')
// Wireless Modem Advanced
event.shaped('computercraft:wireless_modem_advanced', [
' A ',
'BCB',
' D '
], {
A: 'ae2:wireless_receiver',
B: 'ae2:calculation_processor',
C: '#forge:circuits/hv',
D: 'computercraft:cable',
}).id('tfg:crafting/wireless_modem_advanced')
// Monitor Normal
event.shaped('computercraft:monitor_normal', [
'ABA',
'CDC',
'EFE'
], {
A: '#forge:wires/single/magnesium_diboride',
B: 'gtceu:computer_monitor_cover',
C: 'ae2:calculation_processor',
D: 'gtceu:mv_machine_casing',
E: 'computercraft:cable',
F: '#forge:circuits/mv',
}).id('tfg:crafting/monitor_normal')
// Monitor Advanced
event.shaped('computercraft:monitor_advanced', [
'ABA',
'CDC',
'EFE'
], {
A: '#forge:wires/single/mercury_barium_calcium_cuprate',
B: 'gtceu:computer_monitor_cover',
C: 'ae2:calculation_processor',
D: 'gtceu:hv_machine_casing',
E: 'computercraft:cable',
F: '#forge:circuits/hv',
}).id('tfg:crafting/monitor_advanced')
// Disk Drive
event.shaped('computercraft:disk_drive', [
'ABA',
'CDC',
'AEA'
], {
A: 'computercraft:cable',
B: 'ae2:drive',
C: '#forge:circuits/hv',
D: 'gtceu:hv_machine_casing',
E: 'gtceu:hv_sensor',
}).id('tfg:crafting/disk_drive')
// Speaker
event.shaped('computercraft:speaker', [
' A ',
'BCB',
' D '
], {
A: 'minecraft:note_block',
B: 'computercraft:cable',
C: 'gtceu:mv_machine_casing',
D: '#forge:circuits/mv',
}).id('tfg:crafting/speaker')
// Printer
event.shaped('computercraft:printer', [
'ABC',
'DED',
'FBF'
], {
A: 'gtceu:mv_electric_motor',
B: '#forge:circuits/mv',
C: 'gtceu:mv_robot_arm',
D: 'computercraft:cable',
E: 'gtceu:mv_machine_casing',
F: 'gtceu:mv_conveyor_module'
}).id('tfg:crafting/printer')
// Wired Modem
event.shaped('computercraft:wired_modem', [
' A ',
'BCB',
'BDB'
], {
A: 'gtceu:mv_sensor',
B: 'computercraft:cable',
C: '#forge:circuits/mv',
D: 'ae2:calculation_processor',
}).id('tfg:crafting/wired_modem')
event.shapeless('computercraft:wired_modem', ['computercraft:wired_modem_full'])
.id('tfg:crafting/wired_modem_shapeless')
event.shapeless('computercraft:wired_modem_full', ['computercraft:wired_modem'])
.id('tfg:crafting/wired_modem_full_shapeless')
// Computer Normal
event.shaped('computercraft:computer_normal', [
'AB ',
'CD ',
'EAE'
], {
A: '#forge:wires/single/magnesium_diboride',
B: 'gtceu:computer_monitor_cover',
C: '#forge:batteries/mv',
D: 'gtceu:mv_machine_casing',
E: '#forge:circuits/hv'
}).id('tfg:crafting/computer_normal')
// Computer Advanced
event.shaped('computercraft:computer_advanced', [
'AB ',
'CD ',
'EAE'
], {
A: '#forge:wires/single/mercury_barium_calcium_cuprate',
B: 'gtceu:computer_monitor_cover',
C: '#forge:batteries/hv',
D: 'gtceu:hv_machine_casing',
E: '#forge:circuits/ev'
}).id('tfg:crafting/computer_advanced')
// Turtle Normal
event.shaped('computercraft:turtle_normal', [
'ABC',
'DFD',
'EGH'
], {
A: 'gtceu:hv_conveyor_module',
B: 'gtceu:hv_emitter',
C: 'gtceu:hv_sensor',
D: 'gtceu:hv_robot_arm',
E: '#forge:circuits/ev',
F: 'computercraft:computer_normal',
G: 'gtceu:steel_crate',
H: 'gtceu:hv_electric_piston',
}).id('tfg:crafting/turtle_normal')
// Turtle Advanced
event.shaped('computercraft:turtle_advanced', [
'ABC',
'DFD',
'EGH'
], {
A: 'gtceu:ev_conveyor_module',
B: 'gtceu:ev_emitter',
C: 'gtceu:ev_sensor',
D: 'gtceu:ev_robot_arm',
E: '#forge:circuits/iv',
F: 'computercraft:computer_advanced',
G: 'gtceu:aluminium_crate',
H: 'gtceu:ev_electric_piston',
}).id('tfg:crafting/turtle_advanced')
// Disk Crafts
for (let i = 0; i < 16; i++) {
event.recipes.gtceu.chemical_bath('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]))
.duration(20)
.EUt(7)
}
// Normal Pocket Computers
// Pocket Computer Normal
event.shaped('computercraft:pocket_computer_normal', [
'ABA',
'CDE',
'FGF'
], {
A: 'ae2:wireless_receiver',
B: '#forge:wires/single/mercury_barium_calcium_cuprate',
C: '#forge:batteries/hv',
D: 'ae2:terminal',
E: 'gtceu:hv_emitter',
F: '#forge:circuits/ev',
G: '#forge:plates/titanium'
}).id('tfg:crafting/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')
// 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')
// 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')
// Advanced Pocket Computers
// Pocket Computer Advanced
event.shaped('computercraft:pocket_computer_advanced', [
'ABA',
'CDE',
'FGF'
], {
A: 'ae2:wireless_receiver',
B: '#forge:wires/single/uranium_triplatinum',
C: '#forge:batteries/ev',
D: 'ae2:terminal',
E: 'gtceu:ev_emitter',
F: '#forge:circuits/iv',
G: '#forge:plates/tungsten_steel'
}).id('tfg:crafting/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')
// 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')
// 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')
}

View file

@ -0,0 +1,5 @@
// priority: 0
const registerComputerCraftBlockTags = (event) => {
event.add('computercraft:turtle_hoe_harvestable', '#tfc:mineable_with_sharp_tool')
}

View file

@ -92,6 +92,7 @@ const registerCreateRecipes = (event) => {
{ id: 'create:compat/ae2/mixing/fluix_crystal' },
{ id: 'create:sequenced_assembly/precision_mechanism' },
{ id: 'create:crafting/logistics/content_observer' },
{ id: 'create:milling/bone' },
], mod: 'create' })
// Пушка для постройки схематик
@ -687,12 +688,12 @@ const registerCreateRecipes = (event) => {
], {
A: '#forge:chests/wooden',
B: '#forge:sheets/wrought_iron',
C: '#forge:screw/steel',
C: '#forge:screws/steel',
D: '#forge:tools/screwdrivers'
}).id('tfg:create/shaped/item_vault')
event.recipes.gtceu.assembler('tfg:create/item_vault')
.itemInputs('3x #forge:chests/wooden', '#forge:sheets/wrought_iron', '2x #forge:screw/steel')
.itemInputs('3x #forge:chests/wooden', '#forge:sheets/wrought_iron', '2x #forge:screws/steel')
.circuit(3)
.itemOutputs('create:item_vault')
.duration(200)
@ -862,7 +863,7 @@ const registerCreateRecipes = (event) => {
'CDC'
], {
A: '#forge:plates/copper',
B: 'tfc:metal/helmet/copper',
B: 'tfc:metal/boots/copper',
C: '#forge:fluid_pipes/tiny/polyethylene',
D: '#forge:foils/rubber'
}).id('tfg:create/shaped/copper_diving_boots')

View file

@ -54,37 +54,56 @@ const registerExposureRecipes = (event) => {
}).id('exposure:color_film')
// Developed Black and White Film
event.remove({ id: 'exposure:developing_black_and_white_film' })
event.recipes.tfc.barrel_instant()
.inputFluid(Fluid.of('minecraft:water', 100))
.inputItem('exposure:black_and_white_film')
.outputItem('exposure:developed_black_and_white_film')
.id('tfg:barrel/instant/developing_black_and_white_film')
event.recipes.gtceu.mixer('developing_black_and_white_film')
.inputFluids(Fluid.of('minecraft:water', 100))
.itemInputs('exposure:black_and_white_film')
.itemOutputs('exposure:developed_black_and_white_film')
.duration(50)
.EUt(16)
event.custom({
type: "exposure:film_developing",
film: {
item: "exposure:black_and_white_film"
},
ingredients: [
{
type: "tfc:fluid_item",
fluid_ingredient: {
ingredient: "minecraft:water",
amount: 1000
}
},
],
result: {
item: "exposure:developed_black_and_white_film"
}
}).id('exposure:developing_black_and_white_film')
// Developed Color Film
event.remove({ id: 'exposure:developing_color_film' })
event.recipes.tfc.barrel_instant()
.inputFluid(Fluid.of('minecraft:water', 300))
.inputItem('exposure:color_film')
.outputItem('exposure:developed_color_film')
.id('tfg:barrel/instant/developing_color_film')
event.recipes.gtceu.mixer('developing_color_film')
.inputFluids(Fluid.of('minecraft:water', 300))
.itemInputs('exposure:color_film')
.itemOutputs('exposure:developed_color_film')
.duration(70)
.EUt(16)
event.custom({
type: "exposure:film_developing",
film: {
item: "exposure:color_film"
},
ingredients: [
{
type: "tfc:fluid_item",
fluid_ingredient: {
ingredient: "minecraft:water",
amount: 1000
}
},
{
type: "tfc:fluid_item",
fluid_ingredient: {
ingredient: "minecraft:water",
amount: 1000
}
},
{
type: "tfc:fluid_item",
fluid_ingredient: {
ingredient: "minecraft:water",
amount: 1000
}
},
],
result: {
item: "exposure:developed_color_film"
}
}).id('exposure:developing_color_film')
}

View file

@ -1,7 +1,23 @@
// priority: 0
const registerFirmaLifeRecipes = (event) => {
//#region Нержавеющая теплица
event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_wall' })
event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_panel_wall' })
event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_panel_roof' })
event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_roof' })
event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_roof_top' })
event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_trapdoor' })
event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_door' })
event.remove({ id: 'firmalife:crafting/greenhouse/stainless_steel_greenhouse_port' })
//#endregion
event.remove({ id: 'firmalife:crafting/compost_tumbler' })
event.remove({ id: 'firmalife:crafting/pumping_station' })
// - Chromium
// Ingot
@ -64,6 +80,24 @@ const registerFirmaLifeRecipes = (event) => {
.tier(3)
.id('firmalife:anvil/pie_pan')
// Jarring Station
event.shaped('firmalife:jarring_station', [
'A A',
'BBB'
], {
A: '#forge:plates/wrought_iron',
B: 'firmalife:treated_lumber'
}).id('firmalife:crafting/jarring_station')
// Vat
event.shaped('firmalife:vat', [
'A A',
'BAB'
], {
A: '#forge:plates/wrought_iron',
B: 'firmalife:beeswax'
}).id('firmalife:crafting/vat')
//#region Рецепты электрической теплицы
// Дерево

View file

@ -8,9 +8,9 @@ const registerGTCEULoots = (event) => {
event.addBlockLootModifier(`gtceu:${stoneType}_${material}_ore`)
.removeLoot(Ingredient.all)
.addWeightedLoot([
Item.of(`gtceu:rich_raw_${material}`).withChance(20),
Item.of(`gtceu:raw_${material}`).withChance(60),
Item.of(`gtceu:poor_raw_${material}`).withChance(20)
Item.of(`#forge:rich_raw_materials/${material}`).withChance(0.2),
Item.of(`#forge:raw_materials/${material}`).withChance(0.6),
Item.of(`#forge:poor_raw_materials/${material}`).withChance(0.2)
]);
}
})

View file

@ -1,6 +1,6 @@
// priority: 0
const $MaterialFlags = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.info.MaterialFlags')
const registerGTCEURecipes = (event) => {
@ -166,32 +166,12 @@ const registerGTCEURecipes = (event) => {
//#region Выход: Пропитанные доски
event.shaped('8x gtceu:treated_wood_planks', [
'AAA',
'ABA',
'AAA'
], {
A: '#minecraft:planks',
B: Item.of('tfc:wooden_bucket', '{fluid:{Amount:1000,FluidName:"gtceu:creosote"}}').strongNBT()
}).id('tfg:shaped/treated_wood_planks_wood_bucket')
event.remove({ id: 'gtceu:shaped/treated_wood_planks' })
event.shaped('8x gtceu:treated_wood_planks', [
'AAA',
'ABA',
'AAA'
], {
A: '#minecraft:planks',
B: Item.of('tfc:metal/bucket/red_steel', '{fluid:{Amount:1000,FluidName:"gtceu:creosote"}}').strongNBT()
}).id('tfg:shaped/treated_wood_planks_red_steel_bucket')
event.shaped('8x gtceu:treated_wood_planks', [
'AAA',
'ABA',
'AAA'
], {
A: '#minecraft:planks',
B: Item.of('tfc:metal/bucket/blue_steel', '{fluid:{Amount:1000,FluidName:"gtceu:creosote"}}').strongNBT()
}).id('tfg:shaped/treated_wood_planks_blue_steel_bucket')
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
@ -1051,6 +1031,22 @@ const registerGTCEURecipes = (event) => {
//#endregion
//#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 Вырезка из резины
// event.recipes.tfc.knapping('gtceu:rubber_ring', 'tfg:rubber', ['XXX', 'X X', 'XXX'])
// .ingredient('gtceu:rubber_plate')
//#endregion
// Удаление рецептов связанных с Primitive Blast Furnace
event.remove({id: 'gtceu:arc_furnace/arc_primitive_blast_furnace'})
event.remove({id: 'gtceu:macerator/macerate_primitive_blast_furnace'})
@ -1070,6 +1066,16 @@ const registerGTCEURecipes = (event) => {
event.remove({id: 'gtceu:smelting/fireclay_brick'})
event.remove({id: 'gtceu:macerator/macerate_firebrick'})
// Деревянная шестерня
event.shaped('gtceu:wood_gear', [
' A ',
'ABA',
' A '
], {
A: '#tfc:can_be_lit_on_torch',
B: '#forge:tools/wrenches'
}).id('gtceu:shaped/gear_wood')
// Контроллер теплицы
event.shaped('gtceu:greenhouse', [
'ABA',
@ -1258,6 +1264,26 @@ const registerGTCEURecipes = (event) => {
//#region Рецепты, которые итерируются по всем материалам
GTRegistries.MATERIALS.forEach(material => {
//#region Рецепты инструментов
if (material.hasFlag($TFGMaterialFlags.HAS_TFC_TOOL)) {
global.GTCEU_ANVIL_TOOL_TYPES.forEach(toolType => {
let toolStack = $ToolHelper.get(toolType, material)
event.recipes.tfc.advanced_shaped_crafting(TFC.itemStackProvider.of(toolStack).copyForgingBonus(), [
'A',
'B'
], {
A: `gtceu:${material}_${toolType.name}_head`,
B: '#forge:rods/wooden'
}, 0, 0).id(`gtceu:shaped/${toolType.name}_${material}`)
})
}
//#endregion
if (material.hasProperty(PropertyKey.ORE))
{
// Бедная сырая руда -> Дробленная руда + Дробленная руда (30%)
@ -1276,8 +1302,16 @@ const registerGTCEURecipes = (event) => {
.id(`tfg:crushing/${material}_crushed_ore_from_rich_raw_ore`)
// Грязная пыль -> Пыль (90%)
event.recipes.createSplashing(Item.of(`gtceu:${material}_dust`).withChance(0.9), `gtceu:${material}_impure_dust`)
.id(`tfg:splashing/${material}_dust`)
event.recipes.createSplashing(Item.of(`#forge:dusts/${material}`).withChance(0.9), `gtceu:${material}_impure_dust`)
.id(`tfg:splashing/${material}_dust_from_impure`)
// Очищенная пыль -> Пыль (90%)
event.recipes.createSplashing(Item.of(`#forge:dusts/${material}`).withChance(0.9), `gtceu:${material}_pure_dust`)
.id(`tfg:splashing/${material}_dust_from_pure`)
// Дробленная руда -> Очищенная руда (90%)
event.recipes.createSplashing(Item.of(`#forge:purified_ores/${material}`).withChance(0.9), `gtceu:${material}_crushed_ore`)
.id(`tfg:splashing/${material}_purified_ore`)
// Грязная пыль -> Пыль
event.custom({
@ -1292,10 +1326,40 @@ const registerGTCEURecipes = (event) => {
}
],
result: Item.of(`#forge:dusts/${material}`).toJson()
}).id(`tfg:ae_transform/${material}_dust`)
}).id(`tfg:ae_transform/${material}_dust_from_impure`)
// Очищенная пыль -> Пыль
event.custom({
type: "ae2:transform",
circumstance: {
type: "fluid",
tag: "minecraft:water"
},
ingredients: [
{
item: `gtceu:${material}_pure_dust`
}
],
result: Item.of(`#forge:dusts/${material}`).toJson()
}).id(`tfg:ae_transform/${material}_dust_from_pure`)
// Дробленная руда -> Очищенная руда
event.custom({
type: "ae2:transform",
circumstance: {
type: "fluid",
tag: "minecraft:water"
},
ingredients: [
{
item: `gtceu:${material}_crushed_ore`
}
],
result: Item.of(`#forge:purified_ores/${material}`).toJson()
}).id(`tfg:ae_transform/${material}_purified_ore`)
}
if (material.hasFlag($MaterialFlags.GENERATE_PLATE) && material != 'wood')
if (material.hasFlag($MaterialFlags.GENERATE_PLATE) && (material != 'wood' || material != 'treated_wood'))
{
if (material.hasProperty(PropertyKey.INGOT))
{
@ -1333,6 +1397,17 @@ const registerGTCEURecipes = (event) => {
}).id(`tfg:rolling/${material}_rod`)
}
}
if (material.hasProperty(PropertyKey.INGOT)) {
event.recipes.createCrushing(Item.of(`#forge:dusts/${material}`), `#forge:ingots/${material}`)
.processingTime(150)
.id(`tfg:crushing/${material}_dust`)
}
else {
event.recipes.createMilling(Item.of(`#forge:dusts/${material}`), `#forge:gems/${material}`)
.processingTime(150)
.id(`tfg:milling/${material}_dust`)
}
});
//#endregion

View file

@ -1,5 +1,9 @@
// priority: 1
const $MaterialFlags = Java.loadClass('com.gregtechceu.gtceu.api.data.chemical.material.info.MaterialFlags')
const $TFGMaterialFlags = Java.loadClass('su.terrafirmagreg.core.compat.gtceu.TFGMaterialFlags')
const $ToolHelper = Java.loadClass('com.gregtechceu.gtceu.api.item.tool.ToolHelper')
/**
* Событие регистрации предмет-тэгов.
*/
@ -29,6 +33,7 @@ ServerEvents.tags('item', event => {
*/
ServerEvents.tags('block', event => {
registerTFCBlockTags(event)
registerComputerCraftBlockTags(event)
})
/**
@ -52,6 +57,7 @@ ServerEvents.tags('worldgen/placed_feature', event => {
* Срабатывает до инициализации рецептов.
*/
ServerEvents.highPriorityData(event => {
registerComputerCraftData(event)
})
/**

View file

@ -2573,6 +2573,12 @@ const registerMinecraftRecipes = (event) => {
//#endregion
//#region Выход: Кирпич
event.remove({ id: 'minecraft:brick' })
//#endregion
//#region Выход: Незер бревна
event.remove({ id: 'minecraft:stripped_crimson_stem_via_vanilla_stripping' })

View file

@ -6,6 +6,7 @@ const registerTFCDataForTFC = (event) => {
registerTFCFuels(event)
registerTFCLampFuels(event)
registerTFCFertilizers(event)
registerTFCKnappingTypes(event)
registerTFCItemSize(event)
}
@ -33,6 +34,10 @@ const registerTFCMetals = (event) => {
event.metal('gtceu:black_steel', 1485, 0.00857, '#forge:ingots/black_steel', '#forge:double_ingots/black_steel', '#forge:plates/black_steel', 5, 'tfc:black_steel')
event.metal('gtceu:blue_steel', 1540, 0.00857, '#forge:ingots/blue_steel', '#forge:double_ingots/blue_steel', '#forge:plates/blue_steel', 6, 'tfc:blue_steel')
event.metal('gtceu:red_steel', 1540, 0.00857, '#forge:ingots/red_steel', '#forge:double_ingots/red_steel', '#forge:plates/red_steel', 6, 'tfc:red_steel')
event.metal('gtceu:redstone', 460, 0.01729, null, null, null, 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')
}
const registerTFCHeats = (event) => {
@ -103,7 +108,7 @@ const registerTFCFuels = (event) => {
}
const registerTFCLampFuels = (event) => {
event.lampFuel('gtceu:creosote', '#tfc:lamps', 1)
event.lampFuel('gtceu:creosote', '#tfc:lamps', 1000)
}
const registerTFCFertilizers = (event) => {
@ -118,6 +123,12 @@ const registerTFCFertilizers = (event) => {
event.fertilizer('gtceu:phosphorus_dust', null, 0.15, null)
}
const registerTFCKnappingTypes = (event) => {
// event.knappingType('gtceu:rubber_plate', 1, 5, 'tfc:item.knapping.leather', true, false, true, 'gtceu:rubber_plate', 'tfg:rubber')
// event.knappingType('gtceu:styrene_butadiene_rubber_plate', 1, 5, 'tfc:item.knapping.leather', true, false, true, 'gtceu:styrene_butadiene_rubber_plate', 'tfg:styrene_butadiene_rubber_plate')
// event.knappingType('gtceu:silicone_rubber_plate', 1, 5, 'tfc:item.knapping.leather', true, false, true, 'gtceu:silicone_rubber_plate', 'tfg:silicone_rubber_plate')
}
const registerTFCItemSize = (event) => {
// TODO event.itemSize('minecraft:gold_ingot', 'huge', 'very_heavy')
}

View file

@ -43,6 +43,11 @@ const registerTFCRecipes = (event) => {
event.recipes.tfc.heating(`tfc:metal/double_ingot/${metal}`, metalSpecs.melt_temp)
.resultFluid(Fluid.of(metalSpecs.output_fluid, 288))
.id(`tfc:heating/metal/${metal}_double_ingot`)
// Двойной слиток -> Пластина
event.recipes.tfc.anvil(`gtceu:${metal}_plate`, `tfc:metal/double_ingot/${metal}`, ['hit_last', 'hit_second_last', 'hit_third_last'])
.tier(metalSpecs.tier)
.id(`tfc:anvil/${metal}_sheet`)
}
if (metalSpecs.props.includes(global.PART_GEN)) {
@ -57,41 +62,63 @@ const registerTFCRecipes = (event) => {
// Удалание рецептов полублоков
event.remove({ id: `tfc:crafting/metal/block/${metal}_slab` })
event.remove({ id: `tfc:heating/metal/${metal}_block_slab` })
}
if (metalSpecs.props.includes(global.BLOCK_GEN)) {
// Декрафт блока в жидкость
event.recipes.tfc.heating(`#forge:storage_blocks/${metal}`, metalSpecs.melt_temp)
.resultFluid(Fluid.of(metalSpecs.output_fluid, 1296))
.id(`tfc:heating/metal/${metal}_block`)
}
if (metalSpecs.props.includes(global.ROD_GEN)) {
// Слиток -> 2 Стержня
event.recipes.tfc.anvil(`2x gtceu:${metal}_rod`, `#forge:ingots/${metal}`, ['bend_last', 'draw_second_last', 'draw_third_last'])
.tier(metalSpecs.tier)
.id(`tfc:anvil/${metal}_rod`)
// Декрафт стержня в жидкость
event.recipes.tfc.heating(`gtceu:${metal}_rod`, metalSpecs.melt_temp)
.resultFluid(Fluid.of(metalSpecs.output_fluid, 72))
.id(`tfc:heating/metal/${metal}_rod`)
// Двойной слиток -> Пластина
event.recipes.tfc.anvil(`gtceu:${metal}_plate`, `tfc:metal/double_ingot/${metal}`, ['hit_last', 'hit_second_last', 'hit_third_last'])
.tier(metalSpecs.tier)
.id(`tfc:anvil/${metal}_sheet`)
let long_rod = Item.of(`gtceu:${metal}_long_rod`);
if (!long_rod.isEmpty()) {
// Декрафт длинного стержня в жидкость
event.recipes.tfc.heating(`gtceu:${metal}_long_rod`, metalSpecs.melt_temp)
.resultFluid(Fluid.of(metalSpecs.output_fluid, 144))
.id(`tfc:heating/metal/${metal}_long_rod`)
// Стержни -> Длинный стержень
event.recipes.tfc.welding(`gtceu:${metal}_long_rod`, `#forge:rods/${metal}`, `#forge:rods/${metal}`)
.tier(metalSpecs.tier)
.id(`tfc:anvil/${metal}_long_rod`)
}
}
if (metalSpecs.props.includes(global.PLATE_GEN)) {
// Декрафт пластины в жидкость
event.recipes.tfc.heating(`gtceu:${metal}_plate`, metalSpecs.melt_temp)
.resultFluid(Fluid.of(metalSpecs.output_fluid, 144))
.id(`tfc:heating/metal/${metal}_sheet`)
}
// Две пластины -> Двойная пластина
event.recipes.tfc.welding(`gtceu:${metal}_double_plate`, `gtceu:${metal}_plate`, `gtceu:${metal}_plate`)
.tier(metalSpecs.tier)
.id(`tfc:welding/${metal}_double_sheet`)
if (metalSpecs.props.includes(global.DOUBLE_PLATE_GEN)) {
let double_plate = Item.of(`gtceu:${metal}_double_plate`)
// Слиток -> 2 Стержня
event.recipes.tfc.anvil(`2x gtceu:${metal}_rod`, `#forge:ingots/${metal}`, ['bend_last', 'draw_second_last', 'draw_third_last'])
.tier(metalSpecs.tier)
.id(`tfc:anvil/${metal}_rod`)
if (!double_plate.isEmpty()) {
// Декрафт двойных пластин
event.recipes.tfc.heating(`gtceu:${metal}_double_plate`, metalSpecs.melt_temp)
.resultFluid(Fluid.of(metalSpecs.output_fluid, 288))
.id(`tfc:heating/metal/${metal}_double_sheet`)
// Декрафт двойных пластин
event.recipes.tfc.heating(`gtceu:${metal}_double_plate`, metalSpecs.melt_temp)
.resultFluid(Fluid.of(metalSpecs.output_fluid, 288))
.id(`tfc:heating/metal/${metal}_double_sheet`)
// Две пластины -> Двойная пластина
event.recipes.tfc.welding(`gtceu:${metal}_double_plate`, `gtceu:${metal}_plate`, `gtceu:${metal}_plate`)
.tier(metalSpecs.tier)
.id(`tfc:welding/${metal}_double_sheet`)
}
}
if (metalSpecs.props.includes(global.ARMOR_GEN)) {
@ -211,18 +238,16 @@ const registerTFCRecipes = (event) => {
.resultFluid(Fluid.of(metalSpecs.output_fluid, 36))
.id(`tfc:heating/metal/${metal}_bolt`)
// Стержень -> Болт
event.recipes.tfc.anvil(`2x gtceu:${metal}_bolt`, `#forge:rods/${metal}`, ['punch_last', 'draw_second_last', 'draw_third_last'])
.tier(metalSpecs.tier)
.id(`tfc:anvil/${metal}_bolt`)
// Стержень -> Болт
// Винт -> Металл
event.recipes.tfc.heating(`gtceu:${metal}_screw`, metalSpecs.melt_temp)
.resultFluid(Fluid.of(metalSpecs.output_fluid, 72))
.id(`tfc:heating/metal/${metal}_screw`)
// Стержень -> Винт
event.recipes.tfc.anvil(`gtceu:${metal}_screw`, `#forge:rods/${metal}`, ['punch_last', 'punch_second_last', 'shrink_third_last'])
.tier(metalSpecs.tier)
@ -618,6 +643,48 @@ const registerTFCRecipes = (event) => {
//#endregion
//#region Молот шахтера
// Декрафт инструмента в жидкость
event.recipes.tfc.heating(`gtceu:${metal}_mining_hammer`, metalSpecs.melt_temp)
.resultFluid(Fluid.of(metalSpecs.output_fluid, 288))
.useDurability(true)
.id(`tfc:heating/metal/${metal}_mining_hammer`)
// Крафт оголовья
event.recipes.tfc.anvil(`gtceu:${metal}_mining_hammer_head`, `#forge:double_ingots/${metal}`, ['punch_last', 'shrink_not_last'])
.tier(metalSpecs.tier)
.bonus(true)
.id(`tfc:anvil/${metal}_mining_hammer_head`)
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(`gtceu:${metal}_mining_hammer_head`, metalSpecs.melt_temp)
.resultFluid(Fluid.of(metalSpecs.output_fluid, 288))
.id(`tfc:heating/metal/${metal}_mining_hammer_head`)
//#endregion
//#region Большая лопата
// Декрафт инструмента в жидкость
event.recipes.tfc.heating(`gtceu:${metal}_spade`, metalSpecs.melt_temp)
.resultFluid(Fluid.of(metalSpecs.output_fluid, 288))
.useDurability(true)
.id(`tfc:heating/metal/${metal}_spade`)
// Крафт оголовья
event.recipes.tfc.anvil(`gtceu:${metal}_spade_head`, `#forge:double_ingots/${metal}`, ['punch_last', 'hit_not_last'])
.tier(metalSpecs.tier)
.bonus(true)
.id(`tfc:anvil/${metal}_spade_head`)
// Декрафт оголовья в жидкость
event.recipes.tfc.heating(`gtceu:${metal}_spade_head`, metalSpecs.melt_temp)
.resultFluid(Fluid.of(metalSpecs.output_fluid, 288))
.id(`tfc:heating/metal/${metal}_spade_head`)
//#endregion
//#region Ножницы
// Сварка оголовий
@ -798,7 +865,7 @@ const registerTFCRecipes = (event) => {
.id(`tfg:heating/small_dust/${metal}`)
// Декрафт пыли
event.recipes.tfc.heating(`gtceu:${metal}_dust`, metalSpecs.melt_temp)
event.recipes.tfc.heating(Item.of(`#forge:dusts/${metal}`), metalSpecs.melt_temp)
.resultFluid(Fluid.of(metalSpecs.output_fluid, global.calcAmountOfMetal(144, metalSpecs.percent_of_material)))
.id(`tfg:heating/dust/${metal}`)
}
@ -829,6 +896,20 @@ const registerTFCRecipes = (event) => {
})
//#region Новые рецепты сплавов
event.recipes.tfc.alloy('tfg:red_alloy', [
TFC.alloyPart('tfg:redstone', 0.15, 0.25),
TFC.alloyPart('tfc:copper', 0.75, 0.85)
]).id('tfg:alloy/red_alloy')
event.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
//#region Фиксы рецептов предметов из Cast Iron
//#region Удаление
@ -2525,16 +2606,13 @@ const registerTFCRecipes = (event) => {
event.recipes.tfc.collapse('#tfg:rock_walls').id('tfg:collapse/rock_walls')
global.TFC_STONE_TYPES.forEach(stoneType => {
let oresToCollapse = []
GTRegistries.MATERIALS.forEach(material => {
if (material.hasProperty(PropertyKey.ORE)) {
oresToCollapse.push(`gtceu:${stoneType}_${material}_ore`)
}
})
event.recipes.tfc.collapse(`tfc:rock/cobble/${stoneType}`, TFC.blockIngredient(oresToCollapse))
.id(`tfg:collapse/${stoneType}_gt_ores`)
event.custom({
type: "tfc:collapse",
ingredient: {
tag: `forge:ores_in_ground/${stoneType}`
},
result: `tfc:rock/cobble/${stoneType}`
}).id(`tfg:collapse/${stoneType}_gt_ores`)
})
//#endregion

View file

@ -228,6 +228,9 @@ const registerTFCFluidTags = (event) => {
event.add('tfc:usable_in_ingot_mold', "gtceu:blue_steel")
event.add('tfc:usable_in_ingot_mold', "gtceu:red_steel")
event.add('tfc:usable_in_ingot_mold', "gtceu:red_alloy")
event.add('tfc:usable_in_ingot_mold', "gtceu:tin_alloy")
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")
@ -243,6 +246,7 @@ const registerTFCFluidTags = (event) => {
event.add('tfc:usable_in_wooden_bucket', "gtceu: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')
@ -317,6 +321,8 @@ const registerTFCPlacedFeatures = (event) => {
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')

View file

@ -0,0 +1,20 @@
// priority: 0
global.COMPUTER_CRAFT_DISCS = [
'{Color:15790320}',
'{Color:15905331}',
'{Color:15040472}',
'{Color:10072818}',
'{Color:14605932}',
'{Color:8375321}',
'{Color:15905484}',
'{Color:5000268}',
'{Color:10066329}',
'{Color:5020082}',
'{Color:11691749}',
'{Color:3368652}',
'{Color:8349260}',
'{Color:5744206}',
'{Color:13388876}',
'{Color:1118481}',
]

View file

@ -33,8 +33,58 @@ global.FIRMALIFE_DISABLED_ITEMS = [
'firmalife:metal/block/stainless_steel_slab',
// Other
'firmalife:compost_tumbler',
'firmalife:pumping_station'
];
global.FIRMALIFE_HIDED_ITEMS = [
'firmalife:weathered_copper_greenhouse_wall',
'firmalife:weathered_copper_greenhouse_panel_wall',
'firmalife:weathered_copper_greenhouse_panel_roof',
'firmalife:weathered_copper_greenhouse_roof',
'firmalife:weathered_copper_greenhouse_roof_top',
'firmalife:weathered_copper_greenhouse_trapdoor',
'firmalife:weathered_copper_greenhouse_door',
'firmalife:weathered_copper_greenhouse_port',
'firmalife:stainless_steel_greenhouse_wall',
'firmalife:stainless_steel_greenhouse_panel_wall',
'firmalife:stainless_steel_greenhouse_panel_roof',
'firmalife:stainless_steel_greenhouse_roof',
'firmalife:stainless_steel_greenhouse_roof_top',
'firmalife:stainless_steel_greenhouse_trapdoor',
'firmalife:stainless_steel_greenhouse_door',
'firmalife:stainless_steel_greenhouse_port',
'firmalife:rusted_iron_greenhouse_wall',
'firmalife:rusted_iron_greenhouse_panel_wall',
'firmalife:rusted_iron_greenhouse_panel_roof',
'firmalife:rusted_iron_greenhouse_roof',
'firmalife:rusted_iron_greenhouse_roof_top',
'firmalife:rusted_iron_greenhouse_trapdoor',
'firmalife:rusted_iron_greenhouse_door',
'firmalife:rusted_iron_greenhouse_port',
'firmalife:oxidized_copper_greenhouse_wall',
'firmalife:oxidized_copper_greenhouse_panel_wall',
'firmalife:oxidized_copper_greenhouse_panel_roof',
'firmalife:oxidized_copper_greenhouse_roof',
'firmalife:oxidized_copper_greenhouse_roof_top',
'firmalife:oxidized_copper_greenhouse_trapdoor',
'firmalife:oxidized_copper_greenhouse_door',
'firmalife:oxidized_copper_greenhouse_port',
'firmalife:exposed_copper_greenhouse_wall',
'firmalife:exposed_copper_greenhouse_panel_wall',
'firmalife:exposed_copper_greenhouse_panel_roof',
'firmalife:exposed_copper_greenhouse_roof',
'firmalife:exposed_copper_greenhouse_roof_top',
'firmalife:exposed_copper_greenhouse_trapdoor',
'firmalife:exposed_copper_greenhouse_door',
'firmalife:exposed_copper_greenhouse_port',
];
global.FIRMALIFE_ORE_MATERIALS = [
'chromite'
];

View file

@ -42,4 +42,27 @@ global.GTCEU_DISABLED_ITEMS = [
'gtceu:rubber_log',
'gtceu:rubber_leaves',
'gtceu:rubber_planks',
];
global.GTCEU_ANVIL_TOOL_TYPES = [
GTToolType.SWORD,
GTToolType.PICKAXE,
GTToolType.SHOVEL,
GTToolType.AXE,
GTToolType.HOE,
GTToolType.MINING_HAMMER,
GTToolType.SPADE,
GTToolType.SAW,
GTToolType.HARD_HAMMER,
// GTToolType.SOFT_MALLET,
// GTToolType.WRENCH,
GTToolType.FILE,
// GTToolType.CROWBAR,
// GTToolType.SCREWDRIVER,
// GTToolType.MORTAR,
// GTToolType.WIRE_CUTTER,
GTToolType.SCYTHE,
GTToolType.KNIFE,
GTToolType.BUTCHERY_KNIFE,
// GTToolType.PLUNGER
];

View file

@ -784,10 +784,30 @@ global.DUST_GEN = 'dusts';
global.ORE_CHUNKS_GEN = 'ore_chunks';
/**
* Указывает, что у этого металла есть: sheet, double_sheet, rod, block, block_stairs, block_slab.
* Указывает, что у этого металла есть: plated_block, block_stairs, block_slab.
*/
global.PART_GEN = 'part';
/**
* Указывает, что у этого металла есть: block.
*/
global.BLOCK_GEN = 'block';
/**
* Указывает, что у этого металла есть: rod.
*/
global.ROD_GEN = 'rod';
/**
* Указывает, что у этого металла есть: sheet.
*/
global.PLATE_GEN = 'plate';
/**
* Указывает, что у этого металла есть: double_sheet.
*/
global.DOUBLE_PLATE_GEN = 'double_plate';
/**
* Указывает, что у этого металла есть: anvil, bars, chain, trapdoor, lamp, unfinished_lamp.
*/
@ -844,6 +864,10 @@ global.METAL_TO_SPECS = {
global.NUGGET_GEN,
global.DUST_GEN,
global.PART_GEN,
global.PLATE_GEN,
global.DOUBLE_PLATE_GEN,
global.ROD_GEN,
global.BLOCK_GEN,
global.ARMOR_GEN,
global.TOOL_GEN,
global.UTILITY_GEN,
@ -868,6 +892,10 @@ global.METAL_TO_SPECS = {
global.NUGGET_GEN,
global.DUST_GEN,
global.PART_GEN,
global.PLATE_GEN,
global.DOUBLE_PLATE_GEN,
global.ROD_GEN,
global.BLOCK_GEN,
global.ARMOR_GEN,
global.TOOL_GEN,
global.UTILITY_GEN,
@ -890,6 +918,10 @@ global.METAL_TO_SPECS = {
global.NUGGET_GEN,
global.DUST_GEN,
global.PART_GEN,
global.PLATE_GEN,
global.DOUBLE_PLATE_GEN,
global.ROD_GEN,
global.BLOCK_GEN,
global.ARMOR_GEN,
global.TOOL_GEN,
global.UTILITY_GEN,
@ -912,6 +944,10 @@ global.METAL_TO_SPECS = {
global.NUGGET_GEN,
global.DUST_GEN,
global.PART_GEN,
global.PLATE_GEN,
global.DOUBLE_PLATE_GEN,
global.ROD_GEN,
global.BLOCK_GEN,
global.ARMOR_GEN,
global.TOOL_GEN,
global.UTILITY_GEN,
@ -935,6 +971,10 @@ global.METAL_TO_SPECS = {
global.NUGGET_GEN,
global.DUST_GEN,
global.PART_GEN,
global.PLATE_GEN,
global.DOUBLE_PLATE_GEN,
global.ROD_GEN,
global.BLOCK_GEN,
global.ARMOR_GEN,
global.TOOL_GEN,
global.UTILITY_GEN,
@ -958,6 +998,10 @@ global.METAL_TO_SPECS = {
global.NUGGET_GEN,
global.DUST_GEN,
global.PART_GEN,
global.PLATE_GEN,
global.DOUBLE_PLATE_GEN,
global.ROD_GEN,
global.BLOCK_GEN,
global.ARMOR_GEN,
global.TOOL_GEN,
global.UTILITY_GEN,
@ -979,6 +1023,10 @@ global.METAL_TO_SPECS = {
global.NUGGET_GEN,
global.DUST_GEN,
global.PART_GEN,
global.PLATE_GEN,
global.DOUBLE_PLATE_GEN,
global.ROD_GEN,
global.BLOCK_GEN,
global.ARMOR_GEN,
global.TOOL_GEN,
global.UTILITY_GEN,
@ -1000,6 +1048,10 @@ global.METAL_TO_SPECS = {
global.NUGGET_GEN,
global.DUST_GEN,
global.PART_GEN,
global.PLATE_GEN,
global.DOUBLE_PLATE_GEN,
global.ROD_GEN,
global.BLOCK_GEN,
global.ARMOR_GEN,
global.TOOL_GEN,
global.UTILITY_GEN,
@ -1023,6 +1075,10 @@ global.METAL_TO_SPECS = {
global.NUGGET_GEN,
global.DUST_GEN,
global.PART_GEN,
global.PLATE_GEN,
global.DOUBLE_PLATE_GEN,
global.ROD_GEN,
global.BLOCK_GEN,
global.ARMOR_GEN,
global.TOOL_GEN,
global.UTILITY_GEN,
@ -1111,6 +1167,10 @@ global.METAL_TO_SPECS = {
global.DUST_GEN,
global.ORE_CHUNKS_GEN,
global.PART_GEN,
global.PLATE_GEN,
global.DOUBLE_PLATE_GEN,
global.ROD_GEN,
global.BLOCK_GEN,
global.TFC_SMALL_NATIVE_ORE_GEN
]
},
@ -1130,6 +1190,10 @@ global.METAL_TO_SPECS = {
global.DUST_GEN,
global.ORE_CHUNKS_GEN,
global.PART_GEN,
global.PLATE_GEN,
global.DOUBLE_PLATE_GEN,
global.ROD_GEN,
global.BLOCK_GEN,
global.IS_GT_DUP,
]
@ -1148,6 +1212,10 @@ global.METAL_TO_SPECS = {
global.NUGGET_GEN,
global.DUST_GEN,
global.PART_GEN,
global.PLATE_GEN,
global.DOUBLE_PLATE_GEN,
global.ROD_GEN,
global.BLOCK_GEN,
global.IS_GT_DUP,
]
@ -1167,6 +1235,10 @@ global.METAL_TO_SPECS = {
global.DUST_GEN,
global.ORE_CHUNKS_GEN,
global.PART_GEN,
global.PLATE_GEN,
global.DOUBLE_PLATE_GEN,
global.ROD_GEN,
global.BLOCK_GEN,
global.IS_GT_DUP,
]
@ -1185,6 +1257,10 @@ global.METAL_TO_SPECS = {
global.NUGGET_GEN,
global.DUST_GEN,
global.PART_GEN,
global.PLATE_GEN,
global.DOUBLE_PLATE_GEN,
global.ROD_GEN,
global.BLOCK_GEN,
global.IS_GT_DUP,
]
@ -1204,6 +1280,10 @@ global.METAL_TO_SPECS = {
global.DUST_GEN,
global.ORE_CHUNKS_GEN,
global.PART_GEN,
global.PLATE_GEN,
global.DOUBLE_PLATE_GEN,
global.ROD_GEN,
global.BLOCK_GEN,
global.TFC_SMALL_NATIVE_ORE_GEN,
global.IS_GT_DUP,
@ -1224,6 +1304,10 @@ global.METAL_TO_SPECS = {
global.DUST_GEN,
global.ORE_CHUNKS_GEN,
global.PART_GEN,
global.PLATE_GEN,
global.DOUBLE_PLATE_GEN,
global.ROD_GEN,
global.BLOCK_GEN,
global.IS_GT_DUP,
]
@ -1242,6 +1326,10 @@ global.METAL_TO_SPECS = {
global.NUGGET_GEN,
global.DUST_GEN,
global.PART_GEN,
global.PLATE_GEN,
global.DOUBLE_PLATE_GEN,
global.ROD_GEN,
global.BLOCK_GEN,
global.IS_GT_DUP,
]
@ -1260,6 +1348,10 @@ global.METAL_TO_SPECS = {
global.NUGGET_GEN,
global.DUST_GEN,
global.PART_GEN,
global.PLATE_GEN,
global.DOUBLE_PLATE_GEN,
global.ROD_GEN,
global.BLOCK_GEN,
global.IS_GT_DUP,
]
@ -1464,6 +1556,59 @@ global.METAL_TO_SPECS = {
global.DUST_GEN,
global.ORE_CHUNKS_GEN
],
},
// GT материалы
redstone: {
forging_temp: 240,
welding_temp: 320,
melt_temp: 460,
output_fluid: "gtceu:redstone",
percent_of_material: 100,
tier: 1,
props: [
global.DUST_GEN,
global.PLATE_GEN,
global.DOUBLE_PLATE_GEN,
global.BLOCK_GEN,
global.ORE_CHUNKS_GEN
],
},
red_alloy: {
forging_temp: 570,
welding_temp: 650,
melt_temp: 740,
output_fluid: "gtceu:red_alloy",
percent_of_material: 100,
tier: 2,
props: [
global.NUGGET_GEN,
global.INGOT_GEN,
global.DUST_GEN,
global.PLATE_GEN,
global.DOUBLE_PLATE_GEN,
global.ROD_GEN,
global.BLOCK_GEN
],
},
tin_alloy: {
forging_temp: 1000,
welding_temp: 1100,
melt_temp: 1250,
output_fluid: "gtceu:tin_alloy",
percent_of_material: 100,
tier: 3,
props: [
global.NUGGET_GEN,
global.INGOT_GEN,
global.DUST_GEN,
global.PLATE_GEN,
global.DOUBLE_PLATE_GEN,
global.ROD_GEN,
global.BLOCK_GEN
],
}
};

2
mods

@ -1 +1 @@
Subproject commit 7bad8fad1d1be2cd52d92c2899610d89c9b330aa
Subproject commit df46ea6580c15ab413c35248d108a0d18cbdd6ee