Enderscape integration
This commit is contained in:
parent
ae0efb1f52
commit
d8bad90731
6 changed files with 64 additions and 9 deletions
|
@ -3,14 +3,12 @@ package ru.betterend.client;
|
||||||
import net.fabricmc.api.ClientModInitializer;
|
import net.fabricmc.api.ClientModInitializer;
|
||||||
import net.fabricmc.fabric.api.client.model.ModelLoadingRegistry;
|
import net.fabricmc.fabric.api.client.model.ModelLoadingRegistry;
|
||||||
import net.fabricmc.fabric.api.client.rendering.v1.DimensionRenderingRegistry;
|
import net.fabricmc.fabric.api.client.rendering.v1.DimensionRenderingRegistry;
|
||||||
|
|
||||||
import net.minecraft.ChatFormatting;
|
import net.minecraft.ChatFormatting;
|
||||||
import net.minecraft.network.chat.Style;
|
import net.minecraft.network.chat.Style;
|
||||||
import net.minecraft.network.chat.TextComponent;
|
import net.minecraft.network.chat.TextComponent;
|
||||||
import net.minecraft.network.chat.TranslatableComponent;
|
import net.minecraft.network.chat.TranslatableComponent;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
|
|
||||||
import ru.bclib.BCLib;
|
import ru.bclib.BCLib;
|
||||||
import ru.bclib.util.TranslationHelper;
|
import ru.bclib.util.TranslationHelper;
|
||||||
import ru.betterend.BetterEnd;
|
import ru.betterend.BetterEnd;
|
||||||
|
|
|
@ -11,6 +11,8 @@ import com.mojang.blaze3d.vertex.VertexFormat;
|
||||||
import com.mojang.math.Matrix4f;
|
import com.mojang.math.Matrix4f;
|
||||||
import com.mojang.math.Quaternion;
|
import com.mojang.math.Quaternion;
|
||||||
import com.mojang.math.Vector3f;
|
import com.mojang.math.Vector3f;
|
||||||
|
import net.fabricmc.fabric.api.client.rendering.v1.DimensionRenderingRegistry;
|
||||||
|
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
|
||||||
import net.minecraft.client.renderer.FogRenderer;
|
import net.minecraft.client.renderer.FogRenderer;
|
||||||
import net.minecraft.client.renderer.GameRenderer;
|
import net.minecraft.client.renderer.GameRenderer;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -20,9 +22,6 @@ import ru.betterend.BetterEnd;
|
||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
import net.fabricmc.fabric.api.client.rendering.v1.DimensionRenderingRegistry;
|
|
||||||
import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderContext;
|
|
||||||
|
|
||||||
public class BetterEndSkyRenderer implements DimensionRenderingRegistry.SkyRenderer {
|
public class BetterEndSkyRenderer implements DimensionRenderingRegistry.SkyRenderer {
|
||||||
private static final ResourceLocation NEBULA_1 = BetterEnd.makeID("textures/sky/nebula_2.png");
|
private static final ResourceLocation NEBULA_1 = BetterEnd.makeID("textures/sky/nebula_2.png");
|
||||||
private static final ResourceLocation NEBULA_2 = BetterEnd.makeID("textures/sky/nebula_3.png");
|
private static final ResourceLocation NEBULA_2 = BetterEnd.makeID("textures/sky/nebula_3.png");
|
||||||
|
@ -43,10 +42,10 @@ public class BetterEndSkyRenderer implements DimensionRenderingRegistry.SkyRende
|
||||||
private Vector3f axis3;
|
private Vector3f axis3;
|
||||||
private Vector3f axis4;
|
private Vector3f axis4;
|
||||||
|
|
||||||
private boolean initalized = false;
|
private boolean initialised;
|
||||||
|
|
||||||
private void initialise() {
|
private void initialise() {
|
||||||
if(!initalized) {
|
if (!initialised) {
|
||||||
initStars();
|
initStars();
|
||||||
Random random = new Random(131);
|
Random random = new Random(131);
|
||||||
axis1 = new Vector3f(random.nextFloat(), random.nextFloat(), random.nextFloat());
|
axis1 = new Vector3f(random.nextFloat(), random.nextFloat(), random.nextFloat());
|
||||||
|
@ -57,7 +56,7 @@ public class BetterEndSkyRenderer implements DimensionRenderingRegistry.SkyRende
|
||||||
axis2.normalize();
|
axis2.normalize();
|
||||||
axis3.normalize();
|
axis3.normalize();
|
||||||
axis4.normalize();
|
axis4.normalize();
|
||||||
this.initalized = true;
|
initialised = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
package ru.betterend.integration;
|
||||||
|
|
||||||
|
import net.minecraft.core.MappedRegistry;
|
||||||
|
import net.minecraft.resources.ResourceKey;
|
||||||
|
import net.minecraft.world.level.biome.Biome;
|
||||||
|
import ru.bclib.api.BiomeAPI;
|
||||||
|
import ru.bclib.integration.ModIntegration;
|
||||||
|
|
||||||
|
public class EnderscapeIntegration extends ModIntegration {
|
||||||
|
public EnderscapeIntegration() {
|
||||||
|
super("enderscape");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void init() {
|
||||||
|
Class<?> enderscape = getClass("net.enderscape.Enderscape");
|
||||||
|
Class<?> enderscapeIslandsBiome = getClass("net.enderscape.world.biomes.EnderscapeIslandsBiome");
|
||||||
|
MappedRegistry<?> biomes = getStaticFieldValue(enderscape, "ENDERSCAPE_BIOME");
|
||||||
|
biomes.entrySet().forEach(entry -> {
|
||||||
|
ResourceKey key = entry.getKey();
|
||||||
|
Biome biome = getBiome(key.location().getPath());
|
||||||
|
if (enderscapeIslandsBiome.isInstance(entry.getValue())) {
|
||||||
|
BiomeAPI.registerEndVoidBiome(biome);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
BiomeAPI.registerEndLandBiome(biome);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
|
@ -18,6 +18,7 @@ public class Integrations {
|
||||||
public static final ModIntegration BYG = ModIntegrationAPI.register(new BYGIntegration());
|
public static final ModIntegration BYG = ModIntegrationAPI.register(new BYGIntegration());
|
||||||
public static final ModIntegration NOURISH = ModIntegrationAPI.register(new NourishIntegration());
|
public static final ModIntegration NOURISH = ModIntegrationAPI.register(new NourishIntegration());
|
||||||
public static final ModIntegration FLAMBOYANT_REFABRICATED = ModIntegrationAPI.register(new FlamboyantRefabricatedIntegration());
|
public static final ModIntegration FLAMBOYANT_REFABRICATED = ModIntegrationAPI.register(new FlamboyantRefabricatedIntegration());
|
||||||
|
public static final ModIntegration ENDERSCAPE = ModIntegrationAPI.register(new EnderscapeIntegration());
|
||||||
|
|
||||||
private static boolean hasHydrogen;
|
private static boolean hasHydrogen;
|
||||||
|
|
||||||
|
|
26
src/main/java/ru/betterend/mixin/client/EndEffectsMixin.java
Normal file
26
src/main/java/ru/betterend/mixin/client/EndEffectsMixin.java
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
package ru.betterend.mixin.client;
|
||||||
|
|
||||||
|
import net.minecraft.client.renderer.DimensionSpecialEffects.EndEffects;
|
||||||
|
import net.minecraft.world.phys.Vec3;
|
||||||
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||||
|
import ru.betterend.integration.Integrations;
|
||||||
|
|
||||||
|
@Mixin(value = EndEffects.class, priority = 10)
|
||||||
|
public class EndEffectsMixin {
|
||||||
|
@Inject(method = "getBrightnessDependentFogColor", at = @At("HEAD"), cancellable = true)
|
||||||
|
private void be_restoreBrightness(Vec3 color, float sunHeight, CallbackInfoReturnable<Vec3> info) {
|
||||||
|
if (Integrations.ENDERSCAPE.modIsInstalled()) {
|
||||||
|
info.setReturnValue(color.scale(0.15000000596046448D));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Inject(method = "isFoggyAt", at = @At("HEAD"), cancellable = true)
|
||||||
|
private void be_restoreFog(int camX, int camY, CallbackInfoReturnable<Boolean> info) {
|
||||||
|
if (Integrations.ENDERSCAPE.modIsInstalled()) {
|
||||||
|
info.setReturnValue(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -13,6 +13,7 @@
|
||||||
"BiomeColorsMixin",
|
"BiomeColorsMixin",
|
||||||
"LocalPlayerMixin",
|
"LocalPlayerMixin",
|
||||||
"ModelLoaderMixin",
|
"ModelLoaderMixin",
|
||||||
|
"EndEffectsMixin",
|
||||||
"CapeLayerMixin",
|
"CapeLayerMixin",
|
||||||
"ItemStackMixin"
|
"ItemStackMixin"
|
||||||
],
|
],
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue