Skip to content

Commit 9b1de3a

Browse files
[update] Update for Create 6.0.6
[fix] Fix printingEnchantedBookCostMultiplier doesn't affect printing cost [fix] Fix Blaze Enchanter/Forger crash when be destroyed by lightning strike when being pumped in. 2.1.6
1 parent 3df7d5f commit 9b1de3a

File tree

17 files changed

+99
-75
lines changed

17 files changed

+99
-75
lines changed

CHANGELOG.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1-
### Create: Enchantment Industry 2.1.5
1+
### Create: Enchantment Industry 2.1.6
2+
3+
Update for Create 6.0.6
24

35
#### Update
4-
- Experience Lanterns now pull in experience orbs (by @Catman06)
6+
- Update Mexican Spanish Translation by @Oscar Pacheco
57

68
#### Fix
7-
- Fix right-click Mechanical Grindstone with empty hand causes crash
9+
- Fix printingEnchantedBookCostMultiplier doesn't affect printing cost
10+
- Fix Blaze Enchanter/Forger crash when be destroyed by lightning strike when being pumped in.

gradle.properties

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,30 +9,30 @@ parchment_minecraft_version = 1.21.1
99
parchment_mappings_version = 2024.11.13
1010
minecraft_version = 1.21.1
1111
minecraft_version_range = [1.21.1, 1.22)
12-
neo_version = 21.1.129
12+
neo_version = 21.1.152
1313
neo_version_range = [21.1.0,)
1414
loader_version_range = [4,)
1515
# Mod
1616
mod_id = create_enchantment_industry
1717
mod_artifact_id = create-enchantment-industry
1818
mod_name = Create: Enchantment Industry
1919
mod_license = LGPL-3.0-or-later
20-
mod_version = 2.1.5
20+
mod_version = 2.1.6
2121
mod_group_id = plus.dragons.createenchantmentindustry
2222
mod_authors = DragonsPlus
2323
mod_description = Automatic Enchanting with Create.
2424
mod_github = https://github.com/DragonsPlusMinecraft/CreateEnchantmentIndustry
2525
# Mod Dependencies
2626
flywheel_minecraft_version = 1.21.1
2727
flywheel_version = 1.0.0-9
28-
vanillin_version = 1.0.0-beta-9
28+
vanillin_version = 1.0.0-beta-11
2929
registrate_version = MC1.21-1.3.0+62
30-
ponder_version = 1.0.45
31-
create_version = 6.0.4-50
32-
create_version_production = 6.0.4
33-
create_version_range = [6.0.4,)
34-
create_dragons_plus_version = 1.5.0
35-
create_dragons_plus_version_range = [1.5.0,)
30+
ponder_version = 1.0.56
31+
create_version = 6.0.6-98
32+
create_version_production = 6.0.6
33+
create_version_range = [6.0.6,)
34+
create_dragons_plus_version = 1.6.0
35+
create_dragons_plus_version_range = [1.6.0,)
3636
jei_minecraft_version = 1.21.1
3737
jei_version = 19.21.0.247
3838
curios_minecraft_version = 1.21.1

src/generated/resources/data/create_enchantment_industry/recipe/emptying/experience_bottle.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
],
88
"results": [
99
{
10-
"amount": 10,
11-
"id": "create_enchantment_industry:experience"
10+
"id": "minecraft:glass_bottle"
1211
},
1312
{
14-
"id": "minecraft:glass_bottle"
13+
"amount": 10,
14+
"id": "create_enchantment_industry:experience"
1515
}
1616
]
1717
}

src/main/java/plus/dragons/createenchantmentindustry/common/fluids/printer/PrinterRenderer.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import com.simibubi.create.foundation.blockEntity.renderer.SmartBlockEntityRenderer;
2626
import com.simibubi.create.foundation.fluid.FluidRenderer;
2727
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
28+
import net.createmod.catnip.platform.NeoForgeCatnipServices;
2829
import net.createmod.catnip.render.CachedBuffers;
2930
import net.minecraft.client.renderer.MultiBufferSource;
3031
import net.minecraft.client.renderer.RenderType;
@@ -58,11 +59,11 @@ protected void renderSafe(PrinterBlockEntity printer, float partialTicks, PoseSt
5859
float max = min + (11 / 16f);
5960
float minY = top ? (max - fluidLevel) : min;
6061
float maxY = top ? max : (min + fluidLevel);
61-
FluidRenderer.renderFluidBox(fluidStack.getFluid(), fluidStack.getAmount(),
62+
NeoForgeCatnipServices.FLUID_RENDERER.renderFluidBox(fluidStack,
6263
min, minY, min,
6364
max, maxY, max,
6465
buffer, poseStack, light,
65-
false, true, fluidStack.getComponentsPatch());
66+
false, true);
6667
}
6768

6869
float progress = getProgress(printer.processingTicks - partialTicks);

src/main/java/plus/dragons/createenchantmentindustry/common/fluids/printer/PrintingRecipe.java

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,34 +18,38 @@
1818

1919
package plus.dragons.createenchantmentindustry.common.fluids.printer;
2020

21+
import com.mojang.serialization.MapCodec;
2122
import com.simibubi.create.compat.jei.category.sequencedAssembly.SequencedAssemblySubCategory;
23+
import com.simibubi.create.content.processing.recipe.ProcessingRecipe;
24+
import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder;
2225
import com.simibubi.create.content.processing.sequenced.IAssemblyRecipe;
2326
import com.simibubi.create.foundation.fluid.FluidIngredient;
2427
import java.util.List;
2528
import java.util.Set;
2629
import java.util.function.Supplier;
2730
import net.minecraft.core.BlockPos;
2831
import net.minecraft.core.registries.BuiltInRegistries;
32+
import net.minecraft.network.RegistryFriendlyByteBuf;
2933
import net.minecraft.network.chat.Component;
34+
import net.minecraft.network.codec.StreamCodec;
3035
import net.minecraft.resources.ResourceLocation;
3136
import net.minecraft.sounds.SoundEvents;
3237
import net.minecraft.sounds.SoundSource;
3338
import net.minecraft.util.valueproviders.ConstantFloat;
3439
import net.minecraft.util.valueproviders.UniformFloat;
3540
import net.minecraft.world.item.ItemStack;
3641
import net.minecraft.world.item.crafting.Ingredient;
42+
import net.minecraft.world.item.crafting.RecipeSerializer;
3743
import net.minecraft.world.item.enchantment.effects.PlaySoundEffect;
3844
import net.minecraft.world.level.ItemLike;
3945
import net.minecraft.world.level.Level;
4046
import net.neoforged.neoforge.fluids.FluidStack;
41-
import plus.dragons.createdragonsplus.common.recipe.CustomProcessingRecipe;
42-
import plus.dragons.createdragonsplus.common.recipe.CustomProcessingRecipeBuilder;
4347
import plus.dragons.createenchantmentindustry.common.registry.CEIBlocks;
4448
import plus.dragons.createenchantmentindustry.common.registry.CEIRecipes;
4549
import plus.dragons.createenchantmentindustry.integration.jei.category.assembly.AssemblyPrintingCategory;
4650
import plus.dragons.createenchantmentindustry.util.CEILang;
4751

48-
public class PrintingRecipe extends CustomProcessingRecipe<PrintingInput, PrintingRecipeParams> implements IAssemblyRecipe {
52+
public class PrintingRecipe extends ProcessingRecipe<PrintingInput, PrintingRecipeParams> implements IAssemblyRecipe {
4953
public PrintingRecipe(PrintingRecipeParams params) {
5054
super(CEIRecipes.PRINTING, params);
5155
}
@@ -125,16 +129,41 @@ public Supplier<Supplier<SequencedAssemblySubCategory>> getJEISubCategory() {
125129
return () -> AssemblyPrintingCategory::new;
126130
}
127131

128-
public static class Builder extends CustomProcessingRecipeBuilder<PrintingRecipeParams, PrintingRecipe> {
132+
public static class Builder extends ProcessingRecipeBuilder<PrintingRecipeParams, PrintingRecipe, Builder> {
129133
protected Builder(ResourceLocation id, PlaySoundEffect sound) {
130134
super(PrintingRecipe::new, id);
131135
PrintingRecipeParams params = (PrintingRecipeParams) this.params;
132136
params.sound = sound;
133137
}
134138

135139
@Override
136-
protected PrintingRecipeParams createParams(ResourceLocation id) {
137-
return new PrintingRecipeParams(id);
140+
protected PrintingRecipeParams createParams() {
141+
return new PrintingRecipeParams();
142+
}
143+
144+
@Override
145+
public Builder self() {
146+
return this;
147+
}
148+
}
149+
150+
public static class Serializer<R extends PrintingRecipe> implements RecipeSerializer<R> {
151+
private final MapCodec<R> codec;
152+
private final StreamCodec<RegistryFriendlyByteBuf, R> streamCodec;
153+
154+
public Serializer(ProcessingRecipe.Factory<PrintingRecipeParams, R> factory) {
155+
this.codec = ProcessingRecipe.codec(factory, PrintingRecipeParams.CODEC);
156+
this.streamCodec = ProcessingRecipe.streamCodec(factory, PrintingRecipeParams.STREAM_CODEC);
157+
}
158+
159+
@Override
160+
public MapCodec<R> codec() {
161+
return codec;
162+
}
163+
164+
@Override
165+
public StreamCodec<RegistryFriendlyByteBuf, R> streamCodec() {
166+
return streamCodec;
138167
}
139168
}
140169
}

src/main/java/plus/dragons/createenchantmentindustry/common/fluids/printer/PrintingRecipeParams.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import com.mojang.serialization.MapCodec;
2525
import com.mojang.serialization.codecs.RecordCodecBuilder;
2626
import com.simibubi.create.content.processing.recipe.ProcessingOutput;
27+
import com.simibubi.create.content.processing.recipe.ProcessingRecipeParams;
2728
import com.simibubi.create.foundation.fluid.FluidIngredient;
2829
import io.netty.buffer.ByteBuf;
2930
import java.util.function.Function;
@@ -32,15 +33,13 @@
3233
import net.minecraft.network.RegistryFriendlyByteBuf;
3334
import net.minecraft.network.codec.ByteBufCodecs;
3435
import net.minecraft.network.codec.StreamCodec;
35-
import net.minecraft.resources.ResourceLocation;
3636
import net.minecraft.util.valueproviders.ConstantFloat;
3737
import net.minecraft.world.item.crafting.Ingredient;
3838
import net.minecraft.world.item.enchantment.effects.PlaySoundEffect;
39-
import plus.dragons.createdragonsplus.common.recipe.CustomProcessingRecipeParams;
4039
import plus.dragons.createdragonsplus.util.FieldsNullabilityUnknownByDefault;
4140

4241
@FieldsNullabilityUnknownByDefault
43-
public class PrintingRecipeParams extends CustomProcessingRecipeParams {
42+
public class PrintingRecipeParams extends ProcessingRecipeParams {
4443
protected static final Codec<PlaySoundEffect> SOUND_CODEC = Codec.either(
4544
BuiltInRegistries.SOUND_EVENT.holderByNameCodec(),
4645
PlaySoundEffect.CODEC.codec()).xmap(
@@ -57,12 +56,12 @@ public class PrintingRecipeParams extends CustomProcessingRecipeParams {
5756
public static final StreamCodec<RegistryFriendlyByteBuf, PrintingRecipeParams> STREAM_CODEC = streamCodec(PrintingRecipeParams::new);
5857
protected PlaySoundEffect sound;
5958

60-
protected PrintingRecipeParams(ResourceLocation id) {
61-
super(id);
59+
protected PrintingRecipeParams() {
60+
super();
6261
}
6362

64-
public PrintingRecipeParams(ResourceLocation id, PlaySoundEffect sound) {
65-
super(id);
63+
public PrintingRecipeParams(PlaySoundEffect sound) {
64+
super();
6665
this.sound = sound;
6766
}
6867

src/main/java/plus/dragons/createenchantmentindustry/common/fluids/printer/behaviour/EnchantedBookPrintingBehaviour.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,8 @@ private EnchantedBookPrintingBehaviour(Level level, SmartFluidTankBehaviour tank
7373
if (customCost != null) {
7474
optional = customCost.stream().filter(pair -> pair.level() == entry.getIntValue()).findFirst();
7575
}
76-
result.addAndGet(optional.map(CEIIntIntPair::value).orElseGet(() -> CEIEnchantmentHelper.getEnchantmentCost(entry.getKey(), entry.getIntValue())));
76+
result.addAndGet(optional.map(CEIIntIntPair::value).orElseGet(() ->
77+
(int) (CEIEnchantmentHelper.getEnchantmentCost(entry.getKey(), entry.getIntValue()) * CEIConfig.fluids().printingEnchantedBookCostMultiplier.get())));
7778
});
7879
this.cost = result.get();
7980
}

src/main/java/plus/dragons/createenchantmentindustry/common/kinetics/grindstone/GrindingRecipe.java

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
import com.simibubi.create.AllRecipeTypes;
2323
import com.simibubi.create.compat.jei.category.sequencedAssembly.SequencedAssemblySubCategory;
2424
import com.simibubi.create.content.equipment.sandPaper.SandPaperPolishingRecipe;
25+
import com.simibubi.create.content.processing.recipe.ProcessingRecipeParams;
26+
import com.simibubi.create.content.processing.recipe.StandardProcessingRecipe;
2527
import com.simibubi.create.content.processing.sequenced.IAssemblyRecipe;
2628
import java.util.List;
2729
import java.util.Optional;
@@ -35,23 +37,20 @@
3537
import net.minecraft.world.level.ItemLike;
3638
import net.minecraft.world.level.Level;
3739
import net.neoforged.neoforge.fluids.FluidStack;
38-
import plus.dragons.createdragonsplus.common.recipe.CustomProcessingRecipe;
39-
import plus.dragons.createdragonsplus.common.recipe.CustomProcessingRecipeBuilder;
40-
import plus.dragons.createdragonsplus.common.recipe.CustomProcessingRecipeParams;
4140
import plus.dragons.createenchantmentindustry.common.registry.CEIBlocks;
4241
import plus.dragons.createenchantmentindustry.common.registry.CEIRecipes;
4342
import plus.dragons.createenchantmentindustry.integration.jei.category.assembly.AssemblyGrindingCategory;
4443
import plus.dragons.createenchantmentindustry.util.CEILang;
4544

46-
public class GrindingRecipe extends CustomProcessingRecipe<SingleRecipeInput, CustomProcessingRecipeParams> implements IAssemblyRecipe {
47-
public GrindingRecipe(CustomProcessingRecipeParams params) {
45+
public class GrindingRecipe extends StandardProcessingRecipe<SingleRecipeInput> implements IAssemblyRecipe {
46+
public GrindingRecipe(ProcessingRecipeParams params) {
4847
super(CEIRecipes.GRINDING, params);
4948
if (fluidIngredients.size() + fluidResults.size() > 1)
5049
throw new IllegalArgumentException("Grinding recipe can only have either 1 fluid input or 1 fluid result");
5150
}
5251

53-
public static Builder builder(ResourceLocation id) {
54-
return new Builder(id);
52+
public static StandardProcessingRecipe.Builder<GrindingRecipe> builder(ResourceLocation id) {
53+
return new StandardProcessingRecipe.Builder<>(GrindingRecipe::new, id);
5554
}
5655

5756
public static Optional<RecipeHolder<GrindingRecipe>> fromPolishing(RecipeHolder<SandPaperPolishingRecipe> recipe) {
@@ -119,15 +118,4 @@ public void addAssemblyIngredients(List<Ingredient> list) {}
119118
public Supplier<Supplier<SequencedAssemblySubCategory>> getJEISubCategory() {
120119
return () -> AssemblyGrindingCategory::new;
121120
}
122-
123-
public static class Builder extends CustomProcessingRecipeBuilder<CustomProcessingRecipeParams, GrindingRecipe> {
124-
protected Builder(ResourceLocation id) {
125-
super(GrindingRecipe::new, id);
126-
}
127-
128-
@Override
129-
protected CustomProcessingRecipeParams createParams(ResourceLocation id) {
130-
return new CustomProcessingRecipeParams(id);
131-
}
132-
}
133121
}

src/main/java/plus/dragons/createenchantmentindustry/common/kinetics/grindstone/GrindstoneDrainRenderer.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import com.simibubi.create.foundation.blockEntity.behaviour.fluid.SmartFluidTankBehaviour.TankSegment;
2828
import com.simibubi.create.foundation.fluid.FluidRenderer;
2929
import dev.engine_room.flywheel.lib.transform.TransformStack;
30+
import net.createmod.catnip.platform.NeoForgeCatnipServices;
3031
import net.minecraft.client.Minecraft;
3132
import net.minecraft.client.renderer.MultiBufferSource;
3233
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider.Context;
@@ -128,13 +129,12 @@ private void renderFluid(GrindstoneDrainBlockEntity drain, float partialTicks, P
128129
float max = min + (12 / 16f);
129130
float minY = 5f / 16f;
130131
level *= (7 / 16f);
131-
FluidRenderer.renderFluidBox(
132-
fluidStack.getFluid(), fluidStack.getAmount(),
132+
NeoForgeCatnipServices.FLUID_RENDERER.renderFluidBox(
133+
fluidStack,
133134
min, minY, min,
134135
max, minY + level, max,
135136
buffer, poseStack, light,
136-
false, false,
137-
fluidStack.getComponentsPatch());
137+
false, false);
138138
}
139139
}
140140
}

src/main/java/plus/dragons/createenchantmentindustry/common/kinetics/grindstone/MechanicalGrindStoneItem.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.simibubi.create.content.kinetics.base.HorizontalKineticBlock;
2323
import com.simibubi.create.content.kinetics.deployer.ManualApplicationRecipe;
2424
import com.simibubi.create.content.processing.recipe.ProcessingRecipeBuilder;
25+
import com.simibubi.create.content.processing.recipe.StandardProcessingRecipe;
2526
import net.minecraft.world.InteractionResult;
2627
import net.minecraft.world.item.BlockItem;
2728
import net.minecraft.world.item.context.BlockPlaceContext;
@@ -37,7 +38,7 @@ public MechanicalGrindStoneItem(Block block, Properties properties) {
3738
}
3839

3940
public static ManualApplicationRecipe createRecipe() {
40-
return new ProcessingRecipeBuilder<>(ManualApplicationRecipe::new, CEIBlocks.GRINDSTONE_DRAIN.getId())
41+
return new ManualApplicationRecipe.Builder<>(ManualApplicationRecipe::new, CEIBlocks.GRINDSTONE_DRAIN.getId())
4142
.require(AllBlocks.ITEM_DRAIN)
4243
.require(CEIBlocks.MECHANICAL_GRINDSTONE)
4344
.output(CEIBlocks.GRINDSTONE_DRAIN)

0 commit comments

Comments
 (0)