Skip to content

Commit 7ed16e2

Browse files
committed
Fixes + additions
1 parent fcbd72e commit 7ed16e2

10 files changed

Lines changed: 175 additions & 32 deletions

File tree

TODO.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,13 @@
1-
- Неустойчивость (бекрумс)
1+
- Неустойчивость (бекрумс)
2+
- Зелье боевого азарта (спавнрейт от игрока +++)
3+
- Зелье спелиолога (показывает руды)
4+
- Зелье охотника (показывает ближайших врагов)
5+
- Зелье строителя (увелич взам)
6+
- Зелье инферно (восплам. врагов и окружение)
7+
- Флакон конфети (все атаки разбрасывают конфети)
8+
- Тотальное зелье (половина ХП только у игрока остаётся)
9+
- Зелье сумашествия (атака увеличивается, но шиза)
10+
- Антифантом (логично)
11+
12+
- Перманентные зелья (выпиваешь один раз и имеешь эффекты от этого зелья; нельзя пить зелья этого же типа, а иногда и всей категории)
13+
- Антидоты (снимают текущий эффект, даже перманентный или защищают от него некоторое время)

src/main/java/ru/crystallized_dreams/brewery/ModBlocks.java renamed to src/main/java/ru/crystallized_dreams/brewery/content/ModBlocks.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package ru.crystallized_dreams.brewery;
1+
package ru.crystallized_dreams.brewery.content;
22

33
import net.minecraft.block.AbstractBlock;
44
import net.minecraft.block.Block;
@@ -10,6 +10,7 @@
1010
import net.minecraft.sound.BlockSoundGroup;
1111
import net.minecraft.util.Identifier;
1212
import net.minecraft.util.registry.Registry;
13+
import ru.crystallized_dreams.brewery.RealBrewery;
1314

1415
public class ModBlocks {
1516
public static final Block CHEESE_BLOCK=register("cheese_block", new Block(AbstractBlock.Settings.of(Material.SPONGE, MapColor.YELLOW)

src/main/java/ru/crystallized_dreams/brewery/content/ModItems.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package ru.crystallized_dreams.brewery.content;
22

3+
import net.fabricmc.fabric.api.tag.TagRegistry;
34
import net.minecraft.item.ItemGroup;
5+
import net.minecraft.tag.Tag;
46
import ru.crystallized_dreams.brewery.RealBrewery;
57
import net.minecraft.item.FoodComponent;
68
import net.minecraft.item.Item;
@@ -10,6 +12,10 @@
1012
public class ModItems {
1113
public static final Item CHEESE=register("cheese", new Item(new Item.Settings().food(new FoodComponent.Builder().hunger(3).build()).group(ItemGroup.FOOD)));
1214

15+
public static final Tag<Item> BREW_INGREDIENTS= TagRegistry.item(
16+
new Identifier(RealBrewery.MOD_ID, "brew_ingredients")
17+
);
18+
1319
public static void regAll() {}
1420

1521
private static Item register(String id, Item item) {

src/main/java/ru/crystallized_dreams/brewery/mixin/BrewingRecipeRegistryMixin.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package ru.crystallized_dreams.brewery.mixin;
22

3+
import ru.crystallized_dreams.brewery.content.ModItems;
34
import ru.crystallized_dreams.brewery.system.PlayerPotionRecipeData;
45
import net.minecraft.item.Item;
56
import net.minecraft.item.ItemStack;
@@ -15,7 +16,7 @@
1516
public class BrewingRecipeRegistryMixin {
1617
@Inject(method="isValidIngredient", at=@At("HEAD"), cancellable=true)
1718
private static void isValidIngredient(ItemStack stack, CallbackInfoReturnable<Boolean> info) {
18-
info.setReturnValue(true);
19+
if(ModItems.BREW_INGREDIENTS.contains(stack.getItem())) info.setReturnValue(true);
1920
}
2021

2122
@Inject(method="hasRecipe", at=@At("HEAD"), cancellable=true)

src/main/java/ru/crystallized_dreams/brewery/mixin/BrewingStandBlockEntityMixin.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,21 +22,21 @@ public class BrewingStandBlockEntityMixin {
2222
private void customCraft(CallbackInfo info) {
2323
ItemStack ingredient = inventory.get(3);
2424

25+
BrewingStandBlockEntity blockEntity=(BrewingStandBlockEntity)(Object)this;
26+
if(blockEntity==null) return;
27+
if(blockEntity.getWorld()==null) return;
28+
if(blockEntity.getWorld().getServer()==null) return;
29+
BlockState below=blockEntity.getWorld().getBlockState(blockEntity.getPos().down());
30+
boolean heated=below.isIn(BlockTags.CAMPFIRES);
31+
if(!heated) heated=below.isIn(BlockTags.FIRE);
32+
if(!heated) heated=below.isOf(Blocks.LAVA);
33+
BlockState top=blockEntity.getWorld().getBlockState(blockEntity.getPos().up());
34+
boolean ender=top.isOf(Blocks.DRAGON_HEAD);
35+
2536
for (int i = 0; i < 3; i++) {
2637
ItemStack potionStack=inventory.get(i);
2738
if(potionStack.isEmpty()) continue;
2839

29-
BrewingStandBlockEntity blockEntity=(BrewingStandBlockEntity)(Object)this;
30-
if(blockEntity==null) return;
31-
if(blockEntity.getWorld()==null) return;
32-
if(blockEntity.getWorld().getServer()==null) return;
33-
BlockState below=blockEntity.getWorld().getBlockState(blockEntity.getPos().down());
34-
boolean heated=below.isIn(BlockTags.CAMPFIRES);
35-
if(!heated) heated=below.isIn(BlockTags.FIRE);
36-
if(!heated) heated=below.isOf(Blocks.LAVA);
37-
BlockState top=blockEntity.getWorld().getBlockState(blockEntity.getPos().up());
38-
boolean ender=top.isOf(Blocks.DRAGON_HEAD);
39-
4040
inventory.set(i, PlayerPotionRecipeData.INSTANCE
4141
.get(potionStack, ingredient, blockEntity.getWorld().getServer().getOverworld(),
4242
heated, ender));

src/main/java/ru/crystallized_dreams/brewery/mixin/PlayerEntityMixin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package ru.crystallized_dreams.brewery.mixin;
22

3-
import ru.crystallized_dreams.brewery.ModBlocks;
3+
import ru.crystallized_dreams.brewery.content.ModBlocks;
44
import ru.crystallized_dreams.brewery.content.ModEffects;
55
import ru.crystallized_dreams.brewery.content.ModSounds;
66
import ru.crystallized_dreams.brewery.content.ModTrackedData;

src/main/java/ru/crystallized_dreams/brewery/system/PlayerPotionRecipeData.java

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -45,30 +45,24 @@ public ItemStack get(ItemStack input, ItemStack ingredient, World world, boolean
4545
String ingredientId = Registry.ITEM.getId(realIngredient.getItem()).toString();
4646
String key = inputItemId + "|" + potionType + "|" + ingredientId;
4747

48+
Potion potion;
4849
if (recipes.containsKey(key)) {
4950
String potionId = recipes.get(key);
50-
Potion potion = Registry.POTION.get(new Identifier(potionId));
51-
52-
ItemStack result = input.copy();
53-
PotionUtil.setPotion(result, potion);
54-
55-
return result;
51+
potion = Registry.POTION.get(new Identifier(potionId));
5652
} else {
57-
Potion potion = getRandomPotion();
53+
potion = getRandomPotion();
5854
if (potion == null) return input;
5955

6056
String potionIdentifier = Registry.POTION.getId(potion).toString();
6157
recipes.put(key, potionIdentifier);
6258

6359
saveData(world);
64-
65-
ItemStack result = input.copy();
66-
if(heated) result = Items.SPLASH_POTION.getDefaultStack();
67-
if(ender) result = Items.LINGERING_POTION.getDefaultStack();
68-
PotionUtil.setPotion(result, potion);
69-
70-
return result;
7160
}
61+
ItemStack result = input.copy();
62+
if(heated) result = Items.SPLASH_POTION.getDefaultStack();
63+
if(ender) result = Items.LINGERING_POTION.getDefaultStack();
64+
PotionUtil.setPotion(result, potion);
65+
return result;
7266
}
7367

7468
private Potion getRandomPotion() {
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
{
2+
"replace": false,
3+
"values": [
4+
"minecraft:apple",
5+
"minecraft:mushroom_stew",
6+
"minecraft:bread",
7+
"minecraft:porkchop",
8+
"minecraft:cooked_porkchop",
9+
"minecraft:golden_apple",
10+
"minecraft:enchanted_golden_apple",
11+
"minecraft:cod",
12+
"minecraft:salmon",
13+
"minecraft:tropical_fish",
14+
"minecraft:pufferfish",
15+
"minecraft:cooked_cod",
16+
"minecraft:cooked_salmon",
17+
"minecraft:cake",
18+
"minecraft:cookie",
19+
"minecraft:melon_slice",
20+
"minecraft:dried_kelp",
21+
"minecraft:beef",
22+
"minecraft:cooked_beef",
23+
"minecraft:chicken",
24+
"minecraft:cooked_chicken",
25+
"minecraft:rotten_flesh",
26+
"minecraft:spider_eye",
27+
"minecraft:carrot",
28+
"minecraft:potato",
29+
"minecraft:baked_potato",
30+
"minecraft:poisonous_potato",
31+
"minecraft:pumpkin_pie",
32+
"minecraft:rabbit",
33+
"minecraft:cooked_rabbit",
34+
"minecraft:rabbit_stew",
35+
"minecraft:mutton",
36+
"minecraft:cooked_mutton",
37+
"minecraft:beetroot",
38+
"minecraft:beetroot_soup",
39+
"minecraft:sweet_berries",
40+
"minecraft:honey_bottle",
41+
"real-brewery:cheese"
42+
]
43+
}
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
{
2+
"values": [
3+
"#c:food",
4+
"#minecraft:saplings",
5+
"#minecraft:flowers",
6+
"minecraft:brown_mushroom",
7+
"minecraft:red_mushroom",
8+
"minecraft:crimson_fungus",
9+
"minecraft:warped_fungus",
10+
"minecraft:warped_roots",
11+
"minecraft:nether_sprouts",
12+
"minecraft:weeping_vines",
13+
"minecraft:twisting_vines",
14+
"minecraft:sugar_cane",
15+
"minecraft:kelp",
16+
"minecraft:bamboo",
17+
"minecraft:cactus",
18+
"minecraft:vine",
19+
"minecraft:lily_pad",
20+
"minecraft:cobweb",
21+
"minecraft:torch",
22+
"minecraft:soul_torch",
23+
"minecraft:tube_coral",
24+
"minecraft:brain_coral",
25+
"minecraft:bubble_coral",
26+
"minecraft:fire_coral",
27+
"minecraft:horn_coral",
28+
"minecraft:tube_coral_fan",
29+
"minecraft:brain_coral_fan",
30+
"minecraft:bubble_coral_fan",
31+
"minecraft:fire_coral_fan",
32+
"minecraft:horn_coral_fan",
33+
"minecraft:skeleton_skull",
34+
"minecraft:wither_skeleton_skull",
35+
"minecraft:player_head",
36+
"minecraft:zombie_head",
37+
"minecraft:creeper_head",
38+
"minecraft:dragon_head",
39+
"minecraft:end_crystal",
40+
"minecraft:shroomlight",
41+
"minecraft:tnt",
42+
"minecraft:redstone",
43+
"minecraft:lapis_lazuli",
44+
"minecraft:ink_sac",
45+
"minecraft:cocoa_beans",
46+
"minecraft:bone",
47+
"minecraft:bone_meal",
48+
"minecraft:sugar",
49+
"minecraft:ender_pearl",
50+
"minecraft:blaze_rod",
51+
"minecraft:gold_nugget",
52+
"minecraft:iron_nugget",
53+
"minecraft:nether_wart",
54+
"minecraft:ender_eye",
55+
"minecraft:fire_charge",
56+
"minecraft:emerald",
57+
"minecraft:nether_star",
58+
"minecraft:quartz",
59+
"minecraft:prismarine_shard",
60+
"minecraft:prismarine_crystals",
61+
"minecraft:rabbit_hide",
62+
"minecraft:chorus_fruit",
63+
"minecraft:popped_chorus_fruit",
64+
"minecraft:shulker_shell",
65+
"minecraft:nautilus_shell",
66+
"minecraft:heart_of_the_sea",
67+
"minecraft:honeycomb",
68+
"minecraft:ghast_tear",
69+
"minecraft:fermented_spider_eye",
70+
"minecraft:blaze_powder",
71+
"minecraft:magma_cream",
72+
"minecraft:glistering_melon_slice",
73+
"minecraft:golden_carrot",
74+
"minecraft:rabbit_foot",
75+
"minecraft:dragon_breath",
76+
"minecraft:phantom_membrane",
77+
"minecraft:gunpowder",
78+
"minecraft:turtle_egg",
79+
"minecraft:scute",
80+
"minecraft:diamond",
81+
"minecraft:feather",
82+
"minecraft:string",
83+
"minecraft:wheat_seeds",
84+
"minecraft:pumpkin_seeds",
85+
"minecraft:melon_seeds",
86+
"minecraft:beetroot_seeds"
87+
]
88+
}

src/main/resources/fabric.mod.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,7 @@
1919
"main": ["ru.crystallized_dreams.brewery.RealBrewery"],
2020
"client": ["ru.crystallized_dreams.brewery.RealBreweryClient"]
2121
},
22-
"mixins": [
23-
"brewery.mixins.json"
24-
],
22+
"mixins": ["brewery.mixins.json"],
2523
"depends": {
2624
"fabricloader": "*",
2725
"minecraft": "~1.16.5",

0 commit comments

Comments
 (0)