Client-server fog fix

This commit is contained in:
paulevsGitch 2020-10-01 23:48:25 +03:00
parent 504d7e49e0
commit 893b1085b9
7 changed files with 27 additions and 8 deletions

View file

@ -3,7 +3,6 @@ package ru.betterend.client.gui;
import net.fabricmc.api.EnvType; import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment; import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.screenhandler.v1.ScreenHandlerRegistry; import net.fabricmc.fabric.api.screenhandler.v1.ScreenHandlerRegistry;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory; import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.inventory.Inventory; import net.minecraft.inventory.Inventory;
@ -19,7 +18,6 @@ import net.minecraft.screen.PropertyDelegate;
import net.minecraft.screen.ScreenHandlerType; import net.minecraft.screen.ScreenHandlerType;
import net.minecraft.screen.slot.Slot; import net.minecraft.screen.slot.Slot;
import net.minecraft.world.World; import net.minecraft.world.World;
import ru.betterend.BetterEnd; import ru.betterend.BetterEnd;
import ru.betterend.blocks.EndStoneSmelter; import ru.betterend.blocks.EndStoneSmelter;
import ru.betterend.blocks.entities.EndStoneSmelterBlockEntity; import ru.betterend.blocks.entities.EndStoneSmelterBlockEntity;

View file

@ -4,7 +4,6 @@ import java.util.function.Supplier;
import net.fabricmc.api.EnvType; import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment; import net.fabricmc.api.Environment;
import net.minecraft.entity.EquipmentSlot; import net.minecraft.entity.EquipmentSlot;
import net.minecraft.item.ArmorMaterial; import net.minecraft.item.ArmorMaterial;
import net.minecraft.recipe.Ingredient; import net.minecraft.recipe.Ingredient;

View file

@ -5,7 +5,6 @@ import java.util.function.Supplier;
import net.minecraft.item.ToolMaterial; import net.minecraft.item.ToolMaterial;
import net.minecraft.recipe.Ingredient; import net.minecraft.recipe.Ingredient;
import net.minecraft.util.Lazy; import net.minecraft.util.Lazy;
import ru.betterend.registry.ItemRegistry; import ru.betterend.registry.ItemRegistry;
public enum EndToolMaterial implements ToolMaterial { public enum EndToolMaterial implements ToolMaterial {

View file

@ -15,7 +15,6 @@ import net.minecraft.network.packet.s2c.play.BlockEntityUpdateS2CPacket;
import net.minecraft.network.packet.s2c.play.SignEditorOpenS2CPacket; import net.minecraft.network.packet.s2c.play.SignEditorOpenS2CPacket;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.thread.ThreadExecutor; import net.minecraft.util.thread.ThreadExecutor;
import ru.betterend.blocks.entities.ESignBlockEntity; import ru.betterend.blocks.entities.ESignBlockEntity;
import ru.betterend.client.gui.BlockSignEditScreen; import ru.betterend.client.gui.BlockSignEditScreen;

View file

@ -20,6 +20,7 @@ import ru.betterend.world.generator.BiomeType;
public class BiomeRegistry { public class BiomeRegistry {
private static final Map<EndBiome, RegistryKey<Biome>> KEYS = Maps.newHashMap(); private static final Map<EndBiome, RegistryKey<Biome>> KEYS = Maps.newHashMap();
private static final HashMap<Biome, EndBiome> MUTABLE = Maps.newHashMap(); private static final HashMap<Biome, EndBiome> MUTABLE = Maps.newHashMap();
private static final HashMap<Biome, EndBiome> CLIENT = Maps.newHashMap();
public static final BiomePicker LAND_BIOMES = new BiomePicker(); public static final BiomePicker LAND_BIOMES = new BiomePicker();
public static final BiomePicker VOID_BIOMES = new BiomePicker(); public static final BiomePicker VOID_BIOMES = new BiomePicker();
@ -69,6 +70,7 @@ public class BiomeRegistry {
public static EndBiome registerBiome(EndBiome biome, BiomeType type) { public static EndBiome registerBiome(EndBiome biome, BiomeType type) {
registerBiomeDirect(biome); registerBiomeDirect(biome);
addToPicker(biome, type); addToPicker(biome, type);
CLIENT.put(biome.getBiome(), biome);
return biome; return biome;
} }
@ -94,7 +96,31 @@ public class BiomeRegistry {
return KEYS.get(biome); return KEYS.get(biome);
} }
private static boolean equals(Biome biome1, Biome biome2) {
return (biome1.getDepth() - biome2.getDepth() == 0) &&
(biome1.getDownfall() - biome2.getDownfall() == 0) &&
(biome1.getScale() - biome2.getScale() == 0) &&
(biome1.getCategory() == biome2.getCategory()) &&
(biome1.getFogColor() == biome2.getFogColor()) &&
(biome1.getSkyColor() == biome2.getSkyColor()) &&
(biome1.getWaterColor() == biome2.getWaterColor()) &&
(biome1.getWaterFogColor() == biome2.getWaterFogColor()) &&
(biome1.getPrecipitation().equals(biome2.getPrecipitation()));
}
public static EndBiome getFromBiome(Biome biome) { public static EndBiome getFromBiome(Biome biome) {
return MUTABLE.getOrDefault(biome, END); EndBiome endBiome = MUTABLE.get(biome);
if (endBiome == null) {
for (Biome key: CLIENT.keySet()) {
if (equals(key, biome)) {
endBiome = CLIENT.get(key);
MUTABLE.put(biome, endBiome);
return endBiome;
}
}
MUTABLE.put(biome, END);
return END;
}
return endBiome;
} }
} }

View file

@ -4,7 +4,6 @@ import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemGroup; import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.Identifier;
import ru.betterend.BetterEnd; import ru.betterend.BetterEnd;
import ru.betterend.registry.BlockRegistry; import ru.betterend.registry.BlockRegistry;
import ru.betterend.registry.ItemRegistry; import ru.betterend.registry.ItemRegistry;

View file

@ -5,7 +5,6 @@ import java.util.Collections;
import com.mojang.serialization.Codec; import com.mojang.serialization.Codec;
import com.mojang.serialization.codecs.RecordCodecBuilder; import com.mojang.serialization.codecs.RecordCodecBuilder;
import net.minecraft.util.Identifier;
import net.minecraft.util.math.noise.SimplexNoiseSampler; import net.minecraft.util.math.noise.SimplexNoiseSampler;
import net.minecraft.util.registry.Registry; import net.minecraft.util.registry.Registry;
import net.minecraft.util.registry.RegistryLookupCodec; import net.minecraft.util.registry.RegistryLookupCodec;