Entangler Recipe stuff

This commit is contained in:
Vos
2026-02-01 00:32:40 -06:00
parent 1db879dbf6
commit 44663e8b3e
15 changed files with 343 additions and 15 deletions
@@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_raw_entropy": {
"conditions": {
"items": [
{
"items": "acesbs:raw_entropy"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "acesbs:entropic_entangler"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_raw_entropy"
]
],
"rewards": {
"recipes": [
"acesbs:entropic_entangler"
]
}
}
@@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_stonecutter": {
"conditions": {
"items": [
{
"items": "minecraft:stonecutter"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "acesbs:entropic_eviscerator"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_stonecutter"
]
],
"rewards": {
"recipes": [
"acesbs:entropic_eviscerator"
]
}
}
@@ -0,0 +1,32 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_raw_entropy": {
"conditions": {
"items": [
{
"items": "acesbs:raw_entropy"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "acesbs:entropic_stabilizer"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_raw_entropy"
]
],
"rewards": {
"recipes": [
"acesbs:entropic_stabilizer"
]
}
}
@@ -0,0 +1,27 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"key": {
"B": {
"item": "minecraft:bucket"
},
"G": {
"item": "minecraft:gold_block"
},
"I": {
"item": "minecraft:iron_ingot"
},
"S": {
"item": "acesbs:stable_entropy"
}
},
"pattern": [
"ISI",
"BGB",
"ISI"
],
"result": {
"count": 1,
"id": "acesbs:entropic_entangler"
}
}
@@ -0,0 +1,24 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"key": {
"E": {
"item": "acesbs:stable_entropy"
},
"I": {
"item": "minecraft:iron_ingot"
},
"S": {
"item": "minecraft:stonecutter"
}
},
"pattern": [
"III",
"SES",
"III"
],
"result": {
"count": 1,
"id": "acesbs:entropic_eviscerator"
}
}
@@ -0,0 +1,24 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"key": {
"B": {
"item": "minecraft:blue_ice"
},
"I": {
"item": "minecraft:iron_ingot"
},
"R": {
"item": "acesbs:raw_entropy"
}
},
"pattern": [
"IRI",
"IBI",
"III"
],
"result": {
"count": 1,
"id": "acesbs:entropic_stabilizer"
}
}
@@ -2,7 +2,7 @@ Resources
X Infernal Ashes
- Raw End-tropy
- Stable End-tropy
O Prisma Steel (Stable Entropy + Iron) (Needs recipe)
X Prisma Steel (Stable Entropy + Iron) (Needs recipe)
- Chaos Silver (Stable Entropy + Gold)
- Fractal Diamond (Stable Entropy + Diamond)
- Ashen Steel (Ashes + Iron)
@@ -11,15 +11,14 @@ O Prisma Steel (Stable Entropy + Iron) (Needs recipe)
- Endtropium (Stable End-tropy + Netherite)
- Faerie Shard (Amethyst + Stable Entropy)
- Hyper Sugar (Stable Entropy + Sugar)
- Triangle (We are not sure what it does)()
Food
- Aquarium Gravel (CT:Prismarine shards + crystals)
- Bricked Up (Brick + End-tropy)
- Holy SFX + slow levitate up
- Stomach grumble
- Fart reverb and shoot into sky
- Infernal Beef (Mob/Ashes + Cooked Beef)
X Bricked Up (Brick + End-tropy)
X Holy SFX + slow levitate up
X Stomach grumble
X Fart reverb and shoot into sky
X Infernal Beef (Mob/Ashes + Cooked Beef)
- Hyper Stimulants (Hyper Sugar)
- Narcan (Stimulants + Entropic Eviscerator)
X Tobacco
@@ -37,7 +36,6 @@ X Beserker Pauldron (Special: Skeleton hurt sound)
- Fireskip Boots (Infernal Fire effect on water)
- Sov's Plate Carrier
- (Headlamp Armors using Everburn Gold)
- Eternal Armor (Binding and mending)
- Honse armour (maybe).
Potions
@@ -62,12 +60,11 @@ Weapons
- Big Iron (Bow?)
- Thot Begon
- Ahab's Harpoon
- Soul Crusher (Removes Eternal Armor)
- Combustable Lemon
X Combustable Lemon
Blocks
X Deep Slate Entropy Ore
- Block of Infernal Ashes
X Block of Infernal Ashes
X End-tropy Ore
X (Rename) Block of Raw Entropy
- Block of Raw End-tropy
@@ -77,14 +74,16 @@ X (Rename) Block of Raw Entropy
- Crystalized Entropy (Stained Glass version of Stable Entropy)
Workstations
- Entropic Eviscerator (Extracts ores from stones)
- Entropic Stabilizer (For making Stable Entropy)
- Entropic Entangler (For Metals and Stones)
X Entropic Eviscerator (Extracts ores from stones)
X 2 stone cutters, 6 iron
X Entropic Stabilizer (For making Stable Entropy)
X 7 iron, 1 raw entropy, 1 blue ice
X Entropic Entangler (For Metals and Stones)
X 2 stable entropy, 4 iron, 2 bucket, gold block
Mobs
X Fren (Stable Entropy on a Creeper)
- Burning Wizard (Infernal Ashes on a Witch)
- Wildfire Iskat (Infernal Ashes on a tamed cat)
- Rat Bastard (Stable Entropy on a cat)
- Pet rock (Stable Entropy on a stone block)
- Swearing skeleton (Stable Entropy on skeleton).
@@ -1,9 +1,11 @@
package com.acethewildfire.acesbs.compat;
import com.acethewildfire.acesbs.block.ModBlocks;
import com.acethewildfire.acesbs.recipe.EntropicEntanglerRecipe;
import com.acethewildfire.acesbs.recipe.EntropicEvisceratorRecipe;
import com.acethewildfire.acesbs.recipe.EntropicStabilizerRecipe;
import com.acethewildfire.acesbs.recipe.ModRecipies;
import com.acethewildfire.acesbs.screen.custom.EntropicEntanglerScreen;
import com.acethewildfire.acesbs.screen.custom.EntropicEvisceratorScreen;
import com.acethewildfire.acesbs.screen.custom.EntropicStabilizerScreen;
import me.shedaniel.math.Rectangle;
@@ -22,12 +24,16 @@ public class AcesBSREIClient implements REIClientPlugin {
registry.add(new EntropicEvisceratorCategory());
registry.addWorkstations(EntropicEvisceratorCategory.ENTROPIC_EVISCERATOR, EntryStacks.of(ModBlocks.ENTROPIC_EVISCERATOR));
registry.add(new EntropicEntanglerCategory());
registry.addWorkstations(EntropicEntanglerCategory.ENTROPIC_ENTANGLER, EntryStacks.of(ModBlocks.ENTROPIC_ENTANGLER));
}
@Override
public void registerDisplays(DisplayRegistry registry) {
registry.registerRecipeFiller(EntropicStabilizerRecipe.class, ModRecipies.ENTROPIC_STABILIZER_TYPE, EntropicStabilizerDisplay::new);
registry.registerRecipeFiller(EntropicEvisceratorRecipe.class, ModRecipies.ENTROPIC_EVISCERATOR_TYPE, EntropicEvisceratorDisplay::new);
registry.registerRecipeFiller(EntropicEntanglerRecipe.class, ModRecipies.ENTROPIC_ENTANGLER_TYPE, EntropicEntanglerDisplay::new);
}
@Override
@@ -36,5 +42,9 @@ public class AcesBSREIClient implements REIClientPlugin {
((screen.height - 166) / 2) + 30, 20, 25 ), EntropicStabilizerScreen.class, EntropicStabilizerCategory.ENTROPIC_STABILIZER);
registry.registerClickArea(screen -> new Rectangle(((screen.width - 176) / 2) + 78,
((screen.height - 166) / 2) + 30, 20, 25 ), EntropicEvisceratorScreen.class, EntropicEvisceratorCategory.ENTROPIC_EVISCERATOR);
registry.registerClickArea(screen -> new Rectangle(((screen.width - 176) / 2) + 53,
((screen.height - 166) / 2) + 25, 37, 9 ), EntropicEntanglerScreen.class, EntropicEntanglerCategory.ENTROPIC_ENTANGLER);
registry.registerClickArea(screen -> new Rectangle(((screen.width - 176) / 2) + 90,
((screen.height - 166) / 2) + 52, 37, 9 ), EntropicEntanglerScreen.class, EntropicEntanglerCategory.ENTROPIC_ENTANGLER);
}
}
@@ -0,0 +1,63 @@
package com.acethewildfire.acesbs.compat;
import com.acethewildfire.acesbs.AcesBS;
import com.acethewildfire.acesbs.block.ModBlocks;
import com.acethewildfire.acesbs.item.ModItems;
import me.shedaniel.math.Point;
import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.client.gui.Renderer;
import me.shedaniel.rei.api.client.gui.widgets.Widget;
import me.shedaniel.rei.api.client.gui.widgets.Widgets;
import me.shedaniel.rei.api.client.registry.display.DisplayCategory;
import me.shedaniel.rei.api.common.category.CategoryIdentifier;
import me.shedaniel.rei.api.common.display.basic.BasicDisplay;
import me.shedaniel.rei.api.common.entry.EntryIngredient;
import me.shedaniel.rei.api.common.util.EntryStacks;
import net.minecraft.item.Items;
import net.minecraft.text.Text;
import net.minecraft.util.Identifier;
import java.util.LinkedList;
import java.util.List;
public class EntropicEntanglerCategory implements DisplayCategory<BasicDisplay> {
public static final Identifier GUI_TEXTURE =
Identifier.of(AcesBS.MOD_ID, "textures/gui/entropic_entangler/entropic_entangler_gui_rei.png");
public static final CategoryIdentifier<EntropicEntanglerDisplay> ENTROPIC_ENTANGLER =
CategoryIdentifier.of(AcesBS.MOD_ID, "entropic_entangler");
@Override
public CategoryIdentifier<? extends BasicDisplay> getCategoryIdentifier() {
return ENTROPIC_ENTANGLER;
}
@Override
public Text getTitle() {
return Text.translatable("block.acesbs.entropic_entangler");
}
@Override
public Renderer getIcon() {
return EntryStacks.of(ModBlocks.ENTROPIC_ENTANGLER.asItem().getDefaultStack());
}
@Override
public List<Widget> setupDisplay(BasicDisplay display, Rectangle bounds) {
Point startPoint = new Point(bounds.getCenterX() - 87, bounds.getCenterY() - 41);
List<Widget> widgets = new LinkedList<>();
widgets.add(Widgets.createTexturedWidget(GUI_TEXTURE, new Rectangle(startPoint.x, startPoint.y, 175, 82)));
widgets.add(Widgets.createSlot(new Point(startPoint.x + 44, startPoint.y + 35)).entries(display.getInputEntries().get(0)).markInput());
widgets.add(Widgets.createSlot(new Point(startPoint.x + 116, startPoint.y + 35)).entries(display.getInputEntries().get(1)).markInput());
widgets.add(Widgets.createSlot(new Point(startPoint.x + 80, startPoint.y + 35)).entries(display.getOutputEntries().get(0)).markOutput());
return widgets;
}
@Override
public int getDisplayHeight() {
return 90;
}
}
@@ -0,0 +1,28 @@
package com.acethewildfire.acesbs.compat;
import com.acethewildfire.acesbs.recipe.EntropicEntanglerRecipe;
import me.shedaniel.rei.api.common.category.CategoryIdentifier;
import me.shedaniel.rei.api.common.display.basic.BasicDisplay;
import me.shedaniel.rei.api.common.entry.EntryIngredient;
import me.shedaniel.rei.api.common.util.EntryIngredients;
import me.shedaniel.rei.api.common.util.EntryStacks;
import net.minecraft.recipe.RecipeEntry;
import java.util.List;
public class EntropicEntanglerDisplay extends BasicDisplay {
private RecipeEntry<?> recipe;
private float xp;
private double cookTime;
public EntropicEntanglerDisplay(RecipeEntry<EntropicEntanglerRecipe> recipe){
super(
List.of(EntryIngredients.ofIngredient(recipe.value().getIngredients().get(0)), EntryIngredients.ofIngredient(recipe.value().getIngredients().get(1))),
List.of(EntryIngredient.of(EntryStacks.of(recipe.value().getResult(null)))));
}
@Override
public CategoryIdentifier<?> getCategoryIdentifier() {
return EntropicEntanglerCategory.ENTROPIC_ENTANGLER;
}
}
@@ -69,6 +69,37 @@ public class ModRecipeProvider extends FabricRecipeProvider {
.criterion(hasItem(ModItems.STABLE_ENTROPY), conditionsFromItem(ModItems.STABLE_ENTROPY))
.offerTo(recipeExporter, Identifier.of(AcesBS.MOD_ID, "crystal_entropy_from_stable_and_glass"));
ShapedRecipeJsonBuilder.create(RecipeCategory.MISC, ModBlocks.ENTROPIC_STABILIZER, 1)
.pattern("IRI")
.pattern("IBI")
.pattern("III")
.input('I', Items.IRON_INGOT)
.input('R', ModItems.RAW_ENTROPY)
.input('B', Blocks.BLUE_ICE)
.criterion(hasItem(ModItems.RAW_ENTROPY), conditionsFromItem(ModItems.RAW_ENTROPY))
.offerTo(recipeExporter);
ShapedRecipeJsonBuilder.create(RecipeCategory.MISC, ModBlocks.ENTROPIC_EVISCERATOR, 1)
.pattern("III")
.pattern("SES")
.pattern("III")
.input('I', Items.IRON_INGOT)
.input('S', Blocks.STONECUTTER)
.input('E', ModItems.STABLE_ENTROPY)
.criterion(hasItem(Blocks.STONECUTTER), conditionsFromItem(Blocks.STONECUTTER))
.offerTo(recipeExporter);
ShapedRecipeJsonBuilder.create(RecipeCategory.MISC, ModBlocks.ENTROPIC_ENTANGLER, 1)
.pattern("ISI")
.pattern("BGB")
.pattern("ISI")
.input('I', Items.IRON_INGOT)
.input('S', ModItems.STABLE_ENTROPY)
.input('B', Items.BUCKET)
.input('G', Blocks.GOLD_BLOCK)
.criterion(hasItem(ModItems.RAW_ENTROPY), conditionsFromItem(ModItems.RAW_ENTROPY))
.offerTo(recipeExporter);
ShapedRecipeJsonBuilder.create(RecipeCategory.DECORATIONS, ModBlocks.CRYSTAL_ENTROPY_PANE, 16)
.pattern("###")
.pattern("###")
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 805 B

After

Width:  |  Height:  |  Size: 1.3 KiB

@@ -0,0 +1,13 @@
{
"type": "acesbs:entropic_entangler",
"ingredient": {
"item": "minecraft:brick"
},
"ingredient2": {
"item": "acesbs:stable_endtropy"
},
"result": {
"count": 1,
"id": "acesbs:bricked_up"
}
}
@@ -0,0 +1,13 @@
{
"type": "acesbs:entropic_entangler",
"ingredient": {
"item": "minecraft:cooked_beef"
},
"ingredient2": {
"item": "acesbs:infernal_ashes"
},
"result": {
"count": 1,
"id": "acesbs:infernal_beef"
}
}