Skip to content

Commit

Permalink
Merge branch 'dev/1.21'
Browse files Browse the repository at this point in the history
  • Loading branch information
UltimatChamp committed Jun 13, 2024
2 parents cacdc05 + 853bda5 commit 3076de1
Show file tree
Hide file tree
Showing 13 changed files with 44 additions and 59 deletions.
5 changes: 3 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ repositories {
includeGroup "maven.modrinth"
}
}
maven { url "https://maven.isxander.dev/releases" }
}

dependencies {
Expand All @@ -27,7 +28,7 @@ dependencies {
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"

modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
modImplementation "maven.modrinth:yacl:${project.yacl_version}"
modImplementation "dev.isxander:yet-another-config-lib:${project.yacl_version}"
modImplementation "maven.modrinth:modmenu:${project.modmenu_version}"
modImplementation "maven.modrinth:sodium:${project.sodium_version}"
}
Expand All @@ -41,7 +42,7 @@ processResources {
}
}

def targetJavaVersion = 17
def targetJavaVersion = 21
tasks.withType(JavaCompile).configureEach {
it.options.encoding = "UTF-8"
if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) {
Expand Down
12 changes: 6 additions & 6 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
org.gradle.jvmargs=-Xmx1G

# Fabric Properties
minecraft_version=1.20.6
yarn_mappings=1.20.6+build.1
minecraft_version=1.21-rc1
yarn_mappings=1.21-rc1+build.1
loader_version=0.15.11

# Mod Properties
mod_version=1.0.11+1.20.6
mod_version=1.0.11+1.21-rc1
maven_group=dev.ultimatchamp
archives_base_name=FabricBetterGrass

# Dependencies
fabric_version=0.98.0+1.20.6
yacl_version=3.4.4+1.20.6-fabric
modmenu_version=10.0.0-beta.1
fabric_version=0.100.1+1.21
yacl_version=3.5.0+1.21-fabric
modmenu_version=11.0.0-beta.1
sodium_version=mc1.20.6-0.5.8
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
package dev.ultimatchamp.bettergrass;

import dev.isxander.yacl3.api.NameableEnum;
import dev.ultimatchamp.bettergrass.config.FabricBetterGrassConfig;
import net.fabricmc.fabric.api.renderer.v1.mesh.MutableQuadView;
import net.fabricmc.fabric.api.renderer.v1.model.ForwardingBakedModel;
import net.fabricmc.fabric.api.renderer.v1.render.RenderContext;
import net.minecraft.block.BlockState;
import net.minecraft.client.render.model.BakedModel;
import net.minecraft.text.Text;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.Direction;
import net.minecraft.util.math.random.Random;
Expand All @@ -24,8 +26,20 @@ public boolean isVanillaAdapter() {
return false;
}

public enum BetterGrassMode {
OFF, FAST, FANCY
public enum BetterGrassMode implements NameableEnum {
OFF("options.off"),
FAST("options.graphics.fast"),
FANCY("options.graphics.fancy");

private final String displayName;
BetterGrassMode(String displayName) {
this.displayName = displayName;
}

@Override
public Text getDisplayName() {
return Text.translatable(displayName);
}
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public void setParents(Function<Identifier, UnbakedModel> modelLoader) {

@Nullable
@Override
public BakedModel bake(Baker loader, Function<SpriteIdentifier, Sprite> textureGetter, ModelBakeSettings rotationContainer, Identifier modelId) {
return new FabricBetterGrassBakedModel(this.baseModel.bake(loader, textureGetter, rotationContainer, modelId));
public BakedModel bake(Baker loader, Function<SpriteIdentifier, Sprite> textureGetter, ModelBakeSettings rotationContainer) {
return new FabricBetterGrassBakedModel(this.baseModel.bake(loader, textureGetter, rotationContainer));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import dev.isxander.yacl3.config.v2.api.SerialEntry;
import dev.isxander.yacl3.config.v2.api.autogen.AutoGen;
import dev.isxander.yacl3.config.v2.api.autogen.Boolean;
import dev.isxander.yacl3.config.v2.api.autogen.CustomName;
import dev.isxander.yacl3.config.v2.api.autogen.EnumCycler;
import dev.isxander.yacl3.config.v2.api.serializer.GsonConfigSerializerBuilder;
import dev.ultimatchamp.bettergrass.FabricBetterGrassBakedModel;
Expand All @@ -16,7 +17,7 @@

public class FabricBetterGrassConfig {
private static final ConfigClassHandler<FabricBetterGrassConfig> HANDLER = ConfigClassHandler.createBuilder(FabricBetterGrassConfig.class)
.id(new Identifier("bettergrass", "bettergrass_config"))
.id(Identifier.of("bettergrass", "bettergrass_config"))
.serializer(config -> GsonConfigSerializerBuilder.create(config)
.setPath(FabricLoader.getInstance().getConfigDir().resolve("bettergrass.json5"))
.setJson5(true)
Expand All @@ -38,16 +39,19 @@ public class FabricBetterGrassConfig {

@SerialEntry(comment = "Additional\n(default: false)")
@AutoGen(category = "additional", group = "connectedblocks")
@CustomName("block.minecraft.dirt_path")
@Boolean(formatter = Boolean.Formatter.YES_NO, colored = true)
public boolean dirtPaths = false;

@SerialEntry(comment = "(default: false)")
@AutoGen(category = "additional", group = "connectedblocks")
@CustomName("block.minecraft.farmland")
@Boolean(formatter = Boolean.Formatter.YES_NO, colored = true)
public boolean farmLands = false;

@SerialEntry(comment = "(default: true)")
@AutoGen(category = "additional", group = "connectedblocks")
@CustomName("block.minecraft.snow")
@Boolean(formatter = Boolean.Formatter.YES_NO, colored = true)
public boolean snowy = true;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import net.minecraft.client.render.model.ModelLoader;
import net.minecraft.client.render.model.UnbakedModel;
import net.minecraft.client.util.ModelIdentifier;
import net.minecraft.util.Identifier;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
Expand All @@ -14,27 +13,21 @@
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;

import java.util.Map;
import java.util.Set;

@Mixin(ModelLoader.class)
public class FabricBetterGrassModelLoaderMixin {
@Shadow
@Final
private Map<Identifier, UnbakedModel> unbakedModels;
private Map<ModelIdentifier, UnbakedModel> modelsToBake;

@Shadow
@Final
private Set<Identifier> modelsToLoad;

@Inject(method = "putModel", at = @At("HEAD"), cancellable = true)
private void onPutModel(Identifier id, UnbakedModel unbakedModel, CallbackInfo ci) {
@Inject(method = "addModelToBake", at = @At("HEAD"), cancellable = true)
private void onAddModelToBake(ModelIdentifier id, UnbakedModel unbakedModel, CallbackInfo ci) {
if (id instanceof ModelIdentifier modelId) {
if (!modelId.getVariant().equals("inventory")) {
FabricBetterGrassConfig.instance().grassBlocks.forEach(s -> {
if (modelId.toString().startsWith(s.split("\\[")[0]) && !modelId.toString().contains("snowy=true")) {
var newModel = new FabricBetterGrassUnbakedModel(unbakedModel);
this.unbakedModels.put(id, newModel);
this.modelsToLoad.addAll(newModel.getModelDependencies());
this.modelsToBake.put(id, newModel);
ci.cancel();
}
});
Expand All @@ -43,8 +36,7 @@ private void onPutModel(Identifier id, UnbakedModel unbakedModel, CallbackInfo c
FabricBetterGrassConfig.instance().grassBlocks.forEach(s -> {
if (modelId.toString().startsWith(s.split("\\[")[0]) && modelId.toString().contains("snowy=true")) {
var newModel = new FabricBetterGrassUnbakedModel(unbakedModel);
this.unbakedModels.put(id, newModel);
this.modelsToLoad.addAll(newModel.getModelDependencies());
this.modelsToBake.put(id, newModel);
ci.cancel();
}
});
Expand All @@ -53,17 +45,15 @@ private void onPutModel(Identifier id, UnbakedModel unbakedModel, CallbackInfo c
if (FabricBetterGrassConfig.instance().dirtPaths) {
if (modelId.toString().startsWith("minecraft:dirt_path".split("\\[")[0])) {
var newModel = new FabricBetterGrassUnbakedModel(unbakedModel);
this.unbakedModels.put(id, newModel);
this.modelsToLoad.addAll(newModel.getModelDependencies());
this.modelsToBake.put(id, newModel);
ci.cancel();
}
}

if (FabricBetterGrassConfig.instance().farmLands) {
if (modelId.toString().startsWith("minecraft:farmland".split("\\[")[0])) {
var newModel = new FabricBetterGrassUnbakedModel(unbakedModel);
this.unbakedModels.put(id, newModel);
this.modelsToLoad.addAll(newModel.getModelDependencies());
this.modelsToBake.put(id, newModel);
ci.cancel();
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ private static void betterGrass(CallbackInfoReturnable<OptionPage> cir, List<Opt
.setFlags(OptionFlag.REQUIRES_RENDERER_RELOAD)
.build()
).add(OptionImpl.createBuilder(boolean.class, SodiumOptionsStorage.INSTANCE)
.setName(Text.translatable("yacl3.config.bettergrass:bettergrass_config.dirtPaths"))
.setName(Text.translatable("block.minecraft.dirt_path"))
.setTooltip(Text.translatable("yacl3.config.bettergrass:bettergrass_config.dirtPaths.desc"))
.setControl(TickBoxControl::new)
.setBinding((options, value) -> FabricBetterGrassConfig.instance().dirtPaths = value,
Expand All @@ -44,7 +44,7 @@ private static void betterGrass(CallbackInfoReturnable<OptionPage> cir, List<Opt
.setFlags(OptionFlag.REQUIRES_ASSET_RELOAD)
.build()
).add(OptionImpl.createBuilder(boolean.class, SodiumOptionsStorage.INSTANCE)
.setName(Text.translatable("yacl3.config.bettergrass:bettergrass_config.farmLands"))
.setName(Text.translatable("block.minecraft.farmland"))
.setTooltip(Text.translatable("yacl3.config.bettergrass:bettergrass_config.farmLands.desc"))
.setControl(TickBoxControl::new)
.setBinding((options, value) -> FabricBetterGrassConfig.instance().farmLands = value,
Expand All @@ -53,7 +53,7 @@ private static void betterGrass(CallbackInfoReturnable<OptionPage> cir, List<Opt
.setFlags(OptionFlag.REQUIRES_ASSET_RELOAD)
.build()
).add(OptionImpl.createBuilder(boolean.class, SodiumOptionsStorage.INSTANCE)
.setName(Text.translatable("yacl3.config.bettergrass:bettergrass_config.snowy"))
.setName(Text.translatable("block.minecraft.snow"))
.setTooltip(Text.translatable("yacl3.config.bettergrass:bettergrass_config.snowy.desc"))
.setControl(TickBoxControl::new)
.setBinding((options, value) -> FabricBetterGrassConfig.instance().snowy = value,
Expand Down
2 changes: 1 addition & 1 deletion src/main/resources/FabricBetterGrass.mixins.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"required": true,
"package": "dev.ultimatchamp.bettergrass.mixin",
"minVersion": "0.8",
"compatibilityLevel": "JAVA_17",
"compatibilityLevel": "JAVA_21",
"mixins": [
],
"client": [
Expand Down
6 changes: 0 additions & 6 deletions src/main/resources/assets/bettergrass/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,9 @@
"yacl3.config.bettergrass:bettergrass_config.category.config": "General",
"yacl3.config.bettergrass:bettergrass_config.betterGrassMode":"Better Grass Mode",
"yacl3.config.bettergrass:bettergrass_config.betterGrassMode.desc":"\u00A74Off \u00A7r- Grass Blocks look normal\n\u00A73Fast \u00A7r- Top Grass texture will be applied to all sides of the Grass Blocks (fast)\n\u00A7dFancy \u00A7r- Top Grass texture will be applied dynamically to required sides of the Grass Blocks (slow)\n\n\u00A7cWorld reload or F3+A is required to apply changes.",
"yacl3.config.enum.BetterGrassMode.off":"\u00A74Off",
"yacl3.config.enum.BetterGrassMode.fast":"\u00A73Fast",
"yacl3.config.enum.BetterGrassMode.fancy":"\u00A7dFancy",
"yacl3.config.bettergrass:bettergrass_config.category.additional":"Additional",
"yacl3.config.bettergrass:bettergrass_config.category.additional.group.connectedblocks":"Connected Blocks",
"yacl3.config.bettergrass:bettergrass_config.dirtPaths":"Dirt Paths",
"yacl3.config.bettergrass:bettergrass_config.dirtPaths.desc":"Connects dirt paths too!\n\n\u00A7cMay cause some visual bugs!",
"yacl3.config.bettergrass:bettergrass_config.farmLands":"Farmlands",
"yacl3.config.bettergrass:bettergrass_config.farmLands.desc":"Connects farmlands too!\n\n\u00A7cMay cause some visual bugs!",
"yacl3.config.bettergrass:bettergrass_config.snowy":"Snowy grass",
"yacl3.config.bettergrass:bettergrass_config.snowy.desc":"Connects snowy grass too!"
}
6 changes: 0 additions & 6 deletions src/main/resources/assets/bettergrass/lang/et_ee.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,9 @@
"yacl3.config.bettergrass:bettergrass_config.category.config": "Üldine",
"yacl3.config.bettergrass:bettergrass_config.betterGrassMode":"Parema muru režiim",
"yacl3.config.bettergrass:bettergrass_config.betterGrassMode.desc":"\u00A74Väljas \u00A7r- tavapärase välimusega muruplokid\n\u00A73Kiire \u00A7r- pealmine murutekstuur rakendatakse muruplokkide kõigile külgedele (kiire)\n\u00A7dUhke \u00A7r- pealmine murutekstuur rakendatakse dünaamiliselt muruplokkide vajalikele külgedele (aeglane)\n\n\u00a7cMuudatuste rakendamiseks on vajalik maailma taaslaadimine või F3+A.",
"yacl3.config.enum.BetterGrassMode.off":"\u00A74Väljas",
"yacl3.config.enum.BetterGrassMode.fast":"\u00A73Kiire",
"yacl3.config.enum.BetterGrassMode.fancy":"\u00A7dUhke",
"yacl3.config.bettergrass:bettergrass_config.category.additional":"Täiendavad",
"yacl3.config.bettergrass:bettergrass_config.category.additional.group.connectedblocks":"Ühendatud plokid",
"yacl3.config.bettergrass:bettergrass_config.dirtPaths":"Mullarajad",
"yacl3.config.bettergrass:bettergrass_config.dirtPaths.desc":"Ühendab ka mullaradasid!\n\n\u00A7cVõib põhjustada visuaalseid ebaühtlusi!",
"yacl3.config.bettergrass:bettergrass_config.farmLands":"Põllumaa",
"yacl3.config.bettergrass:bettergrass_config.farmLands.desc":"Ühendab ka põllumaaplokke!\n\n\u00A7cVõib põhjustada visuaalseid ebaühtlusi!",
"yacl3.config.bettergrass:bettergrass_config.snowy":"Snowy grass",
"yacl3.config.bettergrass:bettergrass_config.snowy.desc":"Connects snowy grass too!"
}
6 changes: 0 additions & 6 deletions src/main/resources/assets/bettergrass/lang/it_it.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,9 @@
"yacl3.config.bettergrass:bettergrass_config.category.config": "Generali",
"yacl3.config.bettergrass:bettergrass_config.betterGrassMode":"Modalità Erba Migliorata",
"yacl3.config.bettergrass:bettergrass_config.betterGrassMode.desc":"\u00A74Disattivata \u00A7r- Blocchi di erba classici\n\u00A73Rapida \u00A7r- La texture superiore verrà applicata a tutti il lati del blocco d'erba (veloce)\n\u00A7dDettagliata \u00A7r- La texture superiore verrà applicata dinamicamnete a i lati del blocco d'erba richiesti (lento)\n\n\u00A7cPer rendere effettivi i cambiamenti è necessario un ricaricamento del mondo o F3+A.",
"yacl3.config.enum.BetterGrassMode.off":"\u00A74Off",
"yacl3.config.enum.BetterGrassMode.fast":"\u00A73Rapida",
"yacl3.config.enum.BetterGrassMode.fancy":"\u00A7dDettagliata",
"yacl3.config.bettergrass:bettergrass_config.category.additional":"Aggiuntive",
"yacl3.config.bettergrass:bettergrass_config.category.additional.group.connectedblocks":"Blocchi Connessi",
"yacl3.config.bettergrass:bettergrass_config.dirtPaths":"Sentiero sterrato",
"yacl3.config.bettergrass:bettergrass_config.dirtPaths.desc":"Connetti anche i sentieri sterrati!\n\n\u00A7cPotrebbe causare dei bug visuali!",
"yacl3.config.bettergrass:bettergrass_config.farmLands":"Terra zappata",
"yacl3.config.bettergrass:bettergrass_config.farmLands.desc":"Connectti anche la terra zappata!\n\n\u00A7cPotrebbe causare dei bug visuali!",
"yacl3.config.bettergrass:bettergrass_config.snowy":"Snowy grass",
"yacl3.config.bettergrass:bettergrass_config.snowy.desc":"Connects snowy grass too!"
}
6 changes: 0 additions & 6 deletions src/main/resources/assets/bettergrass/lang/ru_ru.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,9 @@
"yacl3.config.bettergrass:bettergrass_config.category.config": "Основные настройки",
"yacl3.config.bettergrass:bettergrass_config.betterGrassMode":"Режим улучшенной травы",
"yacl3.config.bettergrass:bettergrass_config.betterGrassMode.desc":"\u00A74Выкл \u00A7r- Блоки травы выглядят как обычно\n\u00A73Быстро \u00A7r- Верхняя текстура блока травы будет применена ко всем его сторонам (быстро)\n\u00A7dДетально \u00A7r- Верхняя текстура блока травы будет применена только к некоторым его сторонам (медленно)\n\n\u00A7cПерезапуск мира или F3+A необходимы чтобы применить эти изменения.",
"yacl3.config.enum.BetterGrassMode.off":"\u00A74Выкл",
"yacl3.config.enum.BetterGrassMode.fast":"\u00A73Быстро",
"yacl3.config.enum.BetterGrassMode.fancy":"\u00A7dДетально",
"yacl3.config.bettergrass:bettergrass_config.category.additional":"Additional",
"yacl3.config.bettergrass:bettergrass_config.category.additional.group.connectedblocks":"Connected Blocks",
"yacl3.config.bettergrass:bettergrass_config.dirtPaths":"Dirt Paths",
"yacl3.config.bettergrass:bettergrass_config.dirtPaths.desc":"Connects dirt paths too!\n\n\u00A7cMay cause some visual bugs!",
"yacl3.config.bettergrass:bettergrass_config.farmLands":"Farmlands",
"yacl3.config.bettergrass:bettergrass_config.farmLands.desc":"Connects farmlands too!\n\n\u00A7cMay cause some visual bugs!",
"yacl3.config.bettergrass:bettergrass_config.snowy":"Snowy grass",
"yacl3.config.bettergrass:bettergrass_config.snowy.desc":"Connects snowy grass too!"
}
2 changes: 1 addition & 1 deletion src/main/resources/fabric.mod.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
"depends": {
"fabricloader": ">=0.15.11",
"fabric": "*",
"minecraft": "1.20.x",
"minecraft": "~1.21-",
"yet_another_config_lib_v3": "*"
},
"custom": {
Expand Down

0 comments on commit 3076de1

Please sign in to comment.