Skip to content

Commit f0139fb

Browse files
authored
Merge pull request #290 from Mixinors/development-1.16.3
1.10.7
2 parents dcdc06e + 3ff7aef commit f0139fb

File tree

142 files changed

+901
-611
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

142 files changed

+901
-611
lines changed

astromine-core/src/datagen/java/com/github/chainmailstudios/astromine/datagen/generator/recipe/set/Crafting2x2SetRecipeGenerator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
public class Crafting2x2SetRecipeGenerator extends ShapedCraftingSetRecipeGenerator {
66
public Crafting2x2SetRecipeGenerator(MaterialItemType input, MaterialItemType output) {
7-
super(input, output, "##", "##");
7+
super(input, output, "I#", "##");
88
}
99

1010
@Override

astromine-core/src/datagen/java/com/github/chainmailstudios/astromine/datagen/generator/recipe/set/Crafting3x3SetRecipeGenerator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
public class Crafting3x3SetRecipeGenerator extends ShapedCraftingSetRecipeGenerator {
66
public Crafting3x3SetRecipeGenerator(MaterialItemType input, MaterialItemType output) {
7-
super(input, output, "###", "###", "###");
7+
super(input, output, "I##", "###", "###");
88
}
99

1010
@Override

astromine-core/src/datagen/java/com/github/chainmailstudios/astromine/datagen/generator/recipe/set/ShapedCraftingSetRecipeGenerator.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import com.github.chainmailstudios.astromine.datagen.material.MaterialSet;
1010
import me.shedaniel.cloth.api.datagen.v1.RecipeData;
1111

12+
import java.util.Arrays;
1213
import java.util.HashMap;
1314
import java.util.Map;
1415

@@ -46,13 +47,20 @@ public void generate(RecipeData recipes, MaterialSet set) {
4647
for (String s : pattern) {
4748
factory.pattern(s);
4849
}
49-
factory.input('#', set.getIngredient(input));
50+
if(patternContains('#')) factory.input('#', set.getIngredient(input));
51+
if(patternContains('I')) factory.input('I', set.getItem(input));
5052
ingredients.forEach(factory::input);
5153
types.forEach((c, type) -> factory.input(c, set.getIngredient(type)));
5254
factory.offerTo(recipes, getRecipeId(set));
5355
}
5456
}
5557

58+
public boolean patternContains(char c) {
59+
for(String s:pattern) {
60+
if(s.contains(String.valueOf(c))) return true;
61+
} return false;
62+
}
63+
5664
@Override
5765
public String getGeneratorName() {
5866
return "shaped";

astromine-core/src/datagen/java/com/github/chainmailstudios/astromine/datagen/generator/recipe/set/ShapelessCraftingSetRecipeGenerator.java

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,33 +2,55 @@
22

33
import net.minecraft.advancement.criterion.ImpossibleCriterion;
44
import net.minecraft.data.server.recipe.ShapelessRecipeJsonFactory;
5+
import net.minecraft.recipe.Ingredient;
56

67
import com.github.chainmailstudios.astromine.datagen.generator.recipe.set.base.CraftingSetRecipeGenerator;
78
import com.github.chainmailstudios.astromine.datagen.material.MaterialItemType;
89
import com.github.chainmailstudios.astromine.datagen.material.MaterialSet;
910
import me.shedaniel.cloth.api.datagen.v1.RecipeData;
1011

12+
import java.util.ArrayList;
13+
import java.util.Arrays;
14+
import java.util.HashMap;
15+
import java.util.List;
16+
import java.util.Map;
17+
1118
public class ShapelessCraftingSetRecipeGenerator extends CraftingSetRecipeGenerator {
19+
public final List<Ingredient> ingredients;
20+
public final List<MaterialItemType> types;
21+
1222
public ShapelessCraftingSetRecipeGenerator(MaterialItemType input, MaterialItemType output, int outputCount) {
1323
super(input, output, outputCount);
24+
this.ingredients = new ArrayList<>();
25+
this.types = new ArrayList<>();
1426
}
1527

1628
public ShapelessCraftingSetRecipeGenerator(MaterialItemType input, MaterialItemType output) {
1729
this(input, output, 1);
1830
}
1931

32+
public void addIngredients(Ingredient... ingredients) {
33+
this.ingredients.addAll(Arrays.asList(ingredients));
34+
}
35+
36+
public void addTypes(MaterialItemType... types) {
37+
this.types.addAll(Arrays.asList(types));
38+
}
39+
2040
@Override
2141
public String getRecipeSuffix() {
2242
return "_from_" + input.getName();
2343
}
2444

2545
@Override
2646
public void generate(RecipeData recipes, MaterialSet set) {
27-
ShapelessRecipeJsonFactory
47+
ShapelessRecipeJsonFactory factory = ShapelessRecipeJsonFactory
2848
.create(set.getItem(output), outputCount)
2949
.criterion("impossible", new ImpossibleCriterion.Conditions())
30-
.input(set.getIngredient(input))
31-
.offerTo(recipes, getRecipeId(set));
50+
.input(set.getIngredient(input));
51+
ingredients.forEach(factory::input);
52+
types.forEach(type -> factory.input(set.getIngredient(type)));
53+
factory.offerTo(recipes, getRecipeId(set));
3254
}
3355

3456
@Override

astromine-core/src/datagen/java/com/github/chainmailstudios/astromine/datagen/material/MaterialItemType.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ public enum MaterialItemType {
3232
BOOTS,
3333
WRENCH,
3434
MOON_ORE(true, "moon", "ore", true),
35-
BLOCK_2x2(true, "block");
35+
BLOCK_2x2(true, "block"),
36+
APPLE;
3637

3738
final boolean block;
3839
final String prefix;

astromine-core/src/datagen/java/com/github/chainmailstudios/astromine/datagen/material/MaterialSet.java

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ public Builder addType(MaterialItemType type, Identifier tagId) {
132132
}
133133

134134
public Builder addType(MaterialItemType type) {
135-
return setType(type, new Identifier("c", type.getItemId(name)));
135+
return setType(type, AstromineCommon.identifier(type.getItemId(name)));
136136
}
137137

138138
public Builder basics() {
@@ -246,23 +246,23 @@ public Builder basicTools() {
246246
}
247247

248248
public Builder pickaxe() {
249-
return addType(PICKAXE, new Identifier("fabric", "pickaxes"));
249+
return addType(PICKAXE);
250250
}
251251

252252
public Builder axe() {
253-
return addType(AXE, new Identifier("fabric", "axes"));
253+
return addType(AXE);
254254
}
255255

256256
public Builder shovel() {
257-
return addType(SHOVEL, new Identifier("fabric", "shovels"));
257+
return addType(SHOVEL);
258258
}
259259

260260
public Builder sword() {
261-
return addType(SWORD, new Identifier("fabric", "swords"));
261+
return addType(SWORD);
262262
}
263263

264264
public Builder hoe() {
265-
return addType(HOE, new Identifier("fabric", "hoes"));
265+
return addType(HOE);
266266
}
267267

268268
public Builder multiTools() {
@@ -271,19 +271,19 @@ public Builder multiTools() {
271271
}
272272

273273
public Builder mattock() {
274-
return addType(MATTOCK, AstromineCommon.identifier("mattocks"));
274+
return addType(MATTOCK);
275275
}
276276

277277
public Builder mattock(Identifier id) {
278-
return setType(MATTOCK, id, AstromineCommon.identifier("mattocks"));
278+
return setType(MATTOCK, id);
279279
}
280280

281281
public Builder miningTool() {
282-
return addType(MINING_TOOL, AstromineCommon.identifier("mining_tools"));
282+
return addType(MINING_TOOL);
283283
}
284284

285285
public Builder miningTool(Identifier id) {
286-
return setType(MINING_TOOL, id, AstromineCommon.identifier("mining_tools"));
286+
return setType(MINING_TOOL, id);
287287
}
288288

289289
public Builder magnaTools() {
@@ -292,11 +292,11 @@ public Builder magnaTools() {
292292
}
293293

294294
public Builder hammer() {
295-
return addType(HAMMER, AstromineCommon.identifier("hammers"));
295+
return addType(HAMMER);
296296
}
297297

298298
public Builder excavator() {
299-
return addType(EXCAVATOR, AstromineCommon.identifier("excavators"));
299+
return addType(EXCAVATOR);
300300
}
301301

302302
public Builder armor() {
@@ -307,23 +307,27 @@ public Builder armor() {
307307
}
308308

309309
public Builder helmet() {
310-
return addType(HELMET, new Identifier("c", "helmets"));
310+
return addType(HELMET);
311311
}
312312

313313
public Builder chestplate() {
314-
return addType(CHESTPLATE, new Identifier("c", "chestplates"));
314+
return addType(CHESTPLATE);
315315
}
316316

317317
public Builder leggings() {
318-
return addType(LEGGINGS, new Identifier("c", "leggings"));
318+
return addType(LEGGINGS);
319319
}
320320

321321
public Builder boots() {
322-
return addType(BOOTS, new Identifier("c", "boots"));
322+
return addType(BOOTS);
323323
}
324324

325325
public Builder wrench() {
326-
return addType(WRENCH, new Identifier("c", "wrenches"));
326+
return addType(WRENCH);
327+
}
328+
329+
public Builder apple() {
330+
return addType(APPLE, new Identifier("c", name + "_apples"));
327331
}
328332

329333
public Builder smithingBaseSet(MaterialSet set) {

astromine-core/src/main/java/com/github/chainmailstudios/astromine/client/rei/AstromineRoughlyEnoughItemsPlugin.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import net.minecraft.client.render.VertexConsumerProvider;
3535
import net.minecraft.client.texture.SpriteAtlasTexture;
3636
import net.minecraft.client.util.math.MatrixStack;
37+
import net.minecraft.screen.PlayerScreenHandler;
3738
import net.minecraft.text.LiteralText;
3839
import net.minecraft.text.TranslatableText;
3940
import net.minecraft.util.Identifier;
@@ -157,7 +158,7 @@ protected void drawCurrentEntry(MatrixStack matrices, int mouseX, int mouseY, fl
157158
else height = MathHelper.ceil((System.currentTimeMillis() / (speed / bounds.height) % bounds.height) / 1f);
158159
VertexConsumerProvider.Immediate consumers = MinecraftClient.getInstance().getBufferBuilders().getEntityVertexConsumers();
159160
SpriteRenderer.beginPass().setup(consumers, RenderLayer.getSolid()).sprite(FluidUtilities.texture(entry.getFluid())[0]).color(FluidUtilities.color(MinecraftClient.getInstance().player, entry.getFluid())).light(0x00f000f0).overlay(OverlayTexture.DEFAULT_UV).alpha(
160-
0xff).normal(matrices.peek().getNormal(), 0, 0, 0).position(matrices.peek().getModel(), bounds.x + 1, bounds.y + bounds.height - height + 1, bounds.x + bounds.width - 1, bounds.y + bounds.height - 1, getZOffset() + 1).next(SpriteAtlasTexture.BLOCK_ATLAS_TEX);
161+
0xff).normal(matrices.peek().getNormal(), 0, 0, 0).position(matrices.peek().getModel(), bounds.x + 1, bounds.y + bounds.height - height + 1, bounds.x + bounds.width - 1, bounds.y + bounds.height - 1, getZOffset() + 1).next(PlayerScreenHandler.BLOCK_ATLAS_TEXTURE);
161162
consumers.draw();
162163
}
163164
}

astromine-core/src/main/java/com/github/chainmailstudios/astromine/common/utilities/ClientUtilities.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import net.minecraft.fluid.FluidState;
4040
import net.minecraft.resource.ResourceManager;
4141
import net.minecraft.resource.ResourceType;
42+
import net.minecraft.screen.PlayerScreenHandler;
4243
import net.minecraft.sound.SoundCategory;
4344
import net.minecraft.sound.SoundEvent;
4445
import net.minecraft.util.Identifier;
@@ -62,7 +63,7 @@ public static void buildClient(String name, int tint, Fluid still, Fluid flowing
6263

6364
final Sprite[] fluidSprites = { null, null };
6465

65-
ClientSpriteRegistryCallback.event(SpriteAtlasTexture.BLOCK_ATLAS_TEX).register((atlasTexture, registry) -> {
66+
ClientSpriteRegistryCallback.event(PlayerScreenHandler.BLOCK_ATLAS_TEXTURE).register((atlasTexture, registry) -> {
6667
registry.register(stillSpriteIdentifier);
6768
registry.register(flowingSpriteIdentifier);
6869
});
@@ -75,7 +76,7 @@ public Identifier getFabricId() {
7576

7677
@Override
7778
public void apply(ResourceManager resourceManager) {
78-
final Function<Identifier, Sprite> atlas = MinecraftClient.getInstance().getSpriteAtlas(SpriteAtlasTexture.BLOCK_ATLAS_TEX);
79+
final Function<Identifier, Sprite> atlas = MinecraftClient.getInstance().getSpriteAtlas(PlayerScreenHandler.BLOCK_ATLAS_TEXTURE);
7980
fluidSprites[0] = atlas.apply(stillSpriteIdentifier);
8081
fluidSprites[1] = atlas.apply(flowingSpriteIdentifier);
8182
}

astromine-core/src/main/java/com/github/chainmailstudios/astromine/common/widget/blade/FluidVerticalBarWidget.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import net.minecraft.client.texture.SpriteAtlasTexture;
3535
import net.minecraft.client.util.math.MatrixStack;
3636
import net.minecraft.fluid.Fluids;
37+
import net.minecraft.screen.PlayerScreenHandler;
3738
import net.minecraft.text.Text;
3839
import net.minecraft.text.TranslatableText;
3940
import net.minecraft.util.Identifier;
@@ -75,7 +76,8 @@ public void setVolume(Supplier<FluidVolume> volume) {
7576
@Environment(EnvType.CLIENT)
7677
@Override
7778
public List<Text> getTooltip() {
78-
return Lists.newArrayList(FluidUtilities.rawFraction(progressFraction.get(), limitFraction.get(), new TranslatableText("text.astromine.fluid")), new TranslatableText("text.astromine.tooltip.fractional_value", progressFraction.get().toDecimalString(), limitFraction.get()
79+
Identifier fluidId = getFluidVolume().getFluidId();
80+
return Lists.newArrayList(FluidUtilities.rawFraction(progressFraction.get(), limitFraction.get(), new TranslatableText(String.format("block.%s.%s", fluidId.getNamespace(), fluidId.getPath()))), new TranslatableText("text.astromine.tooltip.fractional_value", progressFraction.get().toDecimalString(), limitFraction.get()
7981
.toDecimalString()));
8082
}
8183

@@ -100,7 +102,7 @@ public void drawWidget(MatrixStack matrices, VertexConsumerProvider provider) {
100102

101103
if (getFluidVolume().getFluid() != Fluids.EMPTY) {
102104
SpriteRenderer.beginPass().setup(provider, RenderLayer.getSolid()).sprite(FluidUtilities.texture(getFluidVolume().getFluid())[0]).color(FluidUtilities.color(MinecraftClient.getInstance().player, getFluidVolume().getFluid())).light(0x00f000f0).overlay(
103-
OverlayTexture.DEFAULT_UV).alpha(0xff).normal(matrices.peek().getNormal(), 0, 0, 0).position(matrices.peek().getModel(), x + 1, y + 1 + Math.max(0, sY - ((int) (sBGY) + 1)), x + sX - 1, y + sY - 1, 0F).next(SpriteAtlasTexture.BLOCK_ATLAS_TEX);
105+
OverlayTexture.DEFAULT_UV).alpha(0xff).normal(matrices.peek().getNormal(), 0, 0, 0).position(matrices.peek().getModel(), x + 1, y + 1 + Math.max(0, sY - ((int) (sBGY) + 1)), x + sX - 1, y + sY - 1, 0F).next(PlayerScreenHandler.BLOCK_ATLAS_TEXTURE);
104106
}
105107
}
106108
}

astromine-core/src/main/java/com/github/chainmailstudios/astromine/registry/AstromineCriteria.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424

2525
package com.github.chainmailstudios.astromine.registry;
2626

27+
import net.fabricmc.fabric.api.object.builder.v1.advancement.CriterionRegistry;
28+
2729
import net.minecraft.advancement.criterion.Criteria;
2830
import net.minecraft.advancement.criterion.Criterion;
2931

@@ -38,6 +40,6 @@ public static void initialize() {
3840
}
3941

4042
public static <T extends Criterion<?>> T register(Criterion<?> criterion) {
41-
return (T) Criteria.register(criterion);
43+
return (T) CriterionRegistry.register(criterion);
4244
}
4345
}

0 commit comments

Comments
 (0)