mirror of
https://github.com/Jozufozu/Flywheel.git
synced 2024-11-11 13:04:05 +01:00
Fixed some more stuff
This commit is contained in:
parent
88d52814c5
commit
92a6e32b19
@ -97,4 +97,6 @@ public class TreeFertilizerItem extends Item {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -128,7 +128,7 @@ public class SymmetryHandler {
|
|||||||
Minecraft.getInstance()
|
Minecraft.getInstance()
|
||||||
.getBufferBuilders()
|
.getBufferBuilders()
|
||||||
.getEntityVertexConsumers()
|
.getEntityVertexConsumers()
|
||||||
.draw(Atlases.getEntityTranslucent());
|
.draw(Atlases.getEntityTranslucentCull()); // FIXME new equivalent of getEntityTranslucent() ?
|
||||||
|
|
||||||
ms.pop();
|
ms.pop();
|
||||||
}
|
}
|
||||||
|
@ -10,8 +10,8 @@ import java.util.function.Predicate;
|
|||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
import com.simibubi.create.foundation.utility.BlockHelper;
|
import com.simibubi.create.foundation.utility.BlockHelper;
|
||||||
import com.simibubi.create.foundation.utility.worldWrappers.WrappedServerWorld;
|
|
||||||
|
|
||||||
|
import com.simibubi.create.foundation.utility.worldWrappers.WrappedWorld;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.block.Blocks;
|
import net.minecraft.block.Blocks;
|
||||||
@ -29,11 +29,8 @@ import net.minecraft.util.math.MutableBoundingBox;
|
|||||||
import net.minecraft.world.*;
|
import net.minecraft.world.*;
|
||||||
import net.minecraft.world.biome.Biome;
|
import net.minecraft.world.biome.Biome;
|
||||||
import net.minecraft.world.biome.BiomeRegistry;
|
import net.minecraft.world.biome.BiomeRegistry;
|
||||||
import net.minecraft.world.biome.Biomes;
|
|
||||||
import net.minecraft.world.server.ServerTickList;
|
|
||||||
import net.minecraft.world.server.ServerWorld;
|
|
||||||
|
|
||||||
public class SchematicWorld extends WrappedServerWorld {
|
public class SchematicWorld extends WrappedWorld {
|
||||||
|
|
||||||
private Map<BlockPos, BlockState> blocks;
|
private Map<BlockPos, BlockState> blocks;
|
||||||
private Map<BlockPos, TileEntity> tileEntities;
|
private Map<BlockPos, TileEntity> tileEntities;
|
||||||
@ -180,7 +177,7 @@ public class SchematicWorld extends WrappedServerWorld {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ServerTickList<Fluid> getPendingFluidTicks() {
|
public ITickList<Fluid> getPendingFluidTicks() {
|
||||||
return EmptyTickList.get();
|
return EmptyTickList.get();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,41 @@
|
|||||||
|
package com.simibubi.create.foundation.data;
|
||||||
|
|
||||||
|
import mcp.MethodsReturnNonnullByDefault;
|
||||||
|
import net.minecraft.tags.ITag;
|
||||||
|
import net.minecraft.util.ResourceLocation;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
import javax.annotation.ParametersAreNonnullByDefault;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@ParametersAreNonnullByDefault
|
||||||
|
@MethodsReturnNonnullByDefault
|
||||||
|
public class NamedTag<T> implements ITag.INamedTag<T> {
|
||||||
|
private final ResourceLocation id;
|
||||||
|
private final ITag<T> tag;
|
||||||
|
|
||||||
|
public NamedTag(@Nullable ITag<T> tag, ResourceLocation id) {
|
||||||
|
this.tag = tag;
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean contains(T p_230235_1_) {
|
||||||
|
if (tag == null)
|
||||||
|
return false;
|
||||||
|
return tag.contains(p_230235_1_);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<T> values() {
|
||||||
|
if (tag == null)
|
||||||
|
return Collections.emptyList();
|
||||||
|
return tag.values();
|
||||||
|
}
|
||||||
|
}
|
@ -10,6 +10,7 @@ import com.google.gson.JsonObject;
|
|||||||
import com.google.gson.JsonParser;
|
import com.google.gson.JsonParser;
|
||||||
import com.google.gson.JsonSyntaxException;
|
import com.google.gson.JsonSyntaxException;
|
||||||
|
|
||||||
|
import com.simibubi.create.foundation.data.NamedTag;
|
||||||
import net.minecraft.fluid.Fluid;
|
import net.minecraft.fluid.Fluid;
|
||||||
import net.minecraft.nbt.CompoundNBT;
|
import net.minecraft.nbt.CompoundNBT;
|
||||||
import net.minecraft.network.PacketBuffer;
|
import net.minecraft.network.PacketBuffer;
|
||||||
@ -170,8 +171,8 @@ public abstract class FluidIngredient implements Predicate<FluidStack> {
|
|||||||
@Override
|
@Override
|
||||||
protected void readInternal(PacketBuffer buffer) {
|
protected void readInternal(PacketBuffer buffer) {
|
||||||
ResourceLocation resourcelocation = buffer.readResourceLocation();
|
ResourceLocation resourcelocation = buffer.readResourceLocation();
|
||||||
tag = FluidTags.func_226157_a_()
|
tag = new NamedTag<>(FluidTags.func_226157_a_()
|
||||||
.get(resourcelocation);
|
.get(resourcelocation), resourcelocation);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -182,10 +183,11 @@ public abstract class FluidIngredient implements Predicate<FluidStack> {
|
|||||||
@Override
|
@Override
|
||||||
protected void readInternal(JsonObject json) {
|
protected void readInternal(JsonObject json) {
|
||||||
ResourceLocation id = new ResourceLocation(JSONUtils.getString(json, "fluidTag"));
|
ResourceLocation id = new ResourceLocation(JSONUtils.getString(json, "fluidTag"));
|
||||||
tag = FluidTags.func_226157_a_()
|
ITag<Fluid> tmpTag = FluidTags.func_226157_a_()
|
||||||
.get(id);
|
.get(id);
|
||||||
if (tag == null)
|
if (tmpTag == null)
|
||||||
throw new JsonSyntaxException("Unknown fluid tag '" + id + "'");
|
throw new JsonSyntaxException("Unknown fluid tag '" + id + "'");
|
||||||
|
tag = new NamedTag<>(tmpTag, id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -187,7 +187,7 @@ public class GuiGameElement {
|
|||||||
BlockRendererDispatcher blockRenderer = mc.getBlockRendererDispatcher();
|
BlockRendererDispatcher blockRenderer = mc.getBlockRendererDispatcher();
|
||||||
IRenderTypeBuffer.Impl buffer = mc.getBufferBuilders()
|
IRenderTypeBuffer.Impl buffer = mc.getBufferBuilders()
|
||||||
.getEntityVertexConsumers();
|
.getEntityVertexConsumers();
|
||||||
RenderType renderType = blockState.getBlock() == Blocks.AIR ? Atlases.getEntityTranslucent()
|
RenderType renderType = blockState.getBlock() == Blocks.AIR ? Atlases.getEntityTranslucentCull() // FIXME .getEntityTranslucent()
|
||||||
: RenderTypeLookup.getEntityBlockLayer(blockState, true);
|
: RenderTypeLookup.getEntityBlockLayer(blockState, true);
|
||||||
IVertexBuilder vb = buffer.getBuffer(renderType);
|
IVertexBuilder vb = buffer.getBuffer(renderType);
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@ public class SuperRenderTypeBuffer implements IRenderTypeBuffer {
|
|||||||
assign(map, RenderTypes.getOutlineSolid());
|
assign(map, RenderTypes.getOutlineSolid());
|
||||||
map.put(Atlases.getEntityCutout(), blockBuilders.get(RenderType.getCutout()));
|
map.put(Atlases.getEntityCutout(), blockBuilders.get(RenderType.getCutout()));
|
||||||
map.put(Atlases.getBannerPatterns(), blockBuilders.get(RenderType.getCutoutMipped()));
|
map.put(Atlases.getBannerPatterns(), blockBuilders.get(RenderType.getCutoutMipped()));
|
||||||
map.put(Atlases.getEntityTranslucent(), blockBuilders.get(RenderType.getTranslucent()));
|
map.put(Atlases.getEntityTranslucentCull(), blockBuilders.get(RenderType.getTranslucent())); // FIXME new equivalent of getEntityTranslucent() ?
|
||||||
assign(map, Atlases.getShieldPatterns());
|
assign(map, Atlases.getShieldPatterns());
|
||||||
assign(map, Atlases.getBeds());
|
assign(map, Atlases.getBeds());
|
||||||
assign(map, Atlases.getShulkerBoxes());
|
assign(map, Atlases.getShulkerBoxes());
|
||||||
|
@ -3,6 +3,7 @@ package com.simibubi.create.foundation.utility.worldWrappers;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
import mcp.MethodsReturnNonnullByDefault;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
import net.minecraft.block.BlockState;
|
import net.minecraft.block.BlockState;
|
||||||
import net.minecraft.entity.Entity;
|
import net.minecraft.entity.Entity;
|
||||||
@ -10,32 +11,37 @@ import net.minecraft.entity.player.PlayerEntity;
|
|||||||
import net.minecraft.entity.player.ServerPlayerEntity;
|
import net.minecraft.entity.player.ServerPlayerEntity;
|
||||||
import net.minecraft.fluid.Fluid;
|
import net.minecraft.fluid.Fluid;
|
||||||
import net.minecraft.item.crafting.RecipeManager;
|
import net.minecraft.item.crafting.RecipeManager;
|
||||||
import net.minecraft.scoreboard.ServerScoreboard;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.tags.ITagCollectionSupplier;
|
import net.minecraft.tags.ITagCollectionSupplier;
|
||||||
import net.minecraft.util.SoundCategory;
|
import net.minecraft.util.SoundCategory;
|
||||||
import net.minecraft.util.SoundEvent;
|
import net.minecraft.util.SoundEvent;
|
||||||
|
import net.minecraft.util.Util;
|
||||||
import net.minecraft.util.math.BlockPos;
|
import net.minecraft.util.math.BlockPos;
|
||||||
import net.minecraft.world.ITickList;
|
import net.minecraft.world.ITickList;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraft.world.biome.Biome;
|
import net.minecraft.world.biome.Biome;
|
||||||
|
import net.minecraft.world.server.ServerChunkProvider;
|
||||||
import net.minecraft.world.server.ServerTickList;
|
import net.minecraft.world.server.ServerTickList;
|
||||||
import net.minecraft.world.server.ServerWorld;
|
import net.minecraft.world.server.ServerWorld;
|
||||||
|
import net.minecraft.world.storage.IServerWorldInfo;
|
||||||
import net.minecraft.world.storage.MapData;
|
import net.minecraft.world.storage.MapData;
|
||||||
|
import net.minecraft.world.storage.SaveFormat;
|
||||||
|
import net.minecraftforge.fml.common.ObfuscationReflectionHelper;
|
||||||
|
|
||||||
|
import javax.annotation.ParametersAreNonnullByDefault;
|
||||||
|
|
||||||
|
@ParametersAreNonnullByDefault
|
||||||
|
@MethodsReturnNonnullByDefault
|
||||||
public class WrappedServerWorld extends ServerWorld {
|
public class WrappedServerWorld extends ServerWorld {
|
||||||
|
|
||||||
protected World world;
|
protected World world;
|
||||||
|
|
||||||
public WrappedServerWorld(World world) {
|
public WrappedServerWorld(World world) {
|
||||||
super(world.getServer(), world.getServer().getBackgroundExecutor(), world.getSaveHandler(), world.getWorldInfo(), world.getDimension(), world.getProfiler(), null);
|
// Replace null with world.getChunkProvider().chunkManager.field_219266_t ? We had null in 1.15
|
||||||
|
super(world.getServer(), Util.getServerExecutor(), getLevelSaveFromWorld(world), (IServerWorldInfo) world.getWorldInfo(), world.getRegistryKey(), world.getDimension(), null, ((ServerChunkProvider) world.getChunkProvider()).getChunkGenerator(), world.isDebugWorld(), world.getBiomeAccess().seed, Collections.EMPTY_LIST, false); //, world.field_25143);
|
||||||
this.world = world;
|
this.world = world;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public ServerWorld getWorld() {
|
|
||||||
return world;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float getCelestialAngleRadians(float p_72826_1_) {
|
public float getCelestialAngleRadians(float p_72826_1_) {
|
||||||
return 0;
|
return 0;
|
||||||
@ -52,13 +58,19 @@ public class WrappedServerWorld extends ServerWorld {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ITickList<Block> getPendingBlockTicks() {
|
public ServerTickList<Block> getPendingBlockTicks() {
|
||||||
return world.getPendingBlockTicks();
|
ITickList<Block> tl = world.getPendingBlockTicks();
|
||||||
|
if (tl instanceof ServerTickList)
|
||||||
|
return (ServerTickList<Block>) tl;
|
||||||
|
return super.getPendingBlockTicks();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ITickList<Fluid> getPendingFluidTicks() {
|
public ServerTickList<Fluid> getPendingFluidTicks() {
|
||||||
return world.getPendingFluidTicks();
|
ITickList<Fluid> tl = world.getPendingFluidTicks();
|
||||||
|
if (tl instanceof ServerTickList)
|
||||||
|
return (ServerTickList<Fluid>) tl;
|
||||||
|
return super.getPendingFluidTicks();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -109,11 +121,6 @@ public class WrappedServerWorld extends ServerWorld {
|
|||||||
public void sendBlockBreakProgress(int breakerId, BlockPos pos, int progress) {
|
public void sendBlockBreakProgress(int breakerId, BlockPos pos, int progress) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public ServerScoreboard getScoreboard() {
|
|
||||||
return world.getScoreboard();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public RecipeManager getRecipeManager() {
|
public RecipeManager getRecipeManager() {
|
||||||
return world.getRecipeManager();
|
return world.getRecipeManager();
|
||||||
@ -129,4 +136,7 @@ public class WrappedServerWorld extends ServerWorld {
|
|||||||
return world.getGeneratorStoredBiome(p_225604_1_, p_225604_2_, p_225604_3_);
|
return world.getGeneratorStoredBiome(p_225604_1_, p_225604_2_, p_225604_3_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static SaveFormat.LevelSave getLevelSaveFromWorld(World world) {
|
||||||
|
return ObfuscationReflectionHelper.getPrivateValue(MinecraftServer.class, world.getServer(), "field_71310_m");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,4 +16,6 @@ public net.minecraft.world.chunk.ChunkStatus$IGenerationWorker
|
|||||||
public net.minecraft.world.chunk.ChunkStatus$ILoadingWorker
|
public net.minecraft.world.chunk.ChunkStatus$ILoadingWorker
|
||||||
|
|
||||||
public net.minecraft.client.gui.FontRenderer func_238419_a_(Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/client/gui/fonts/Font; # getFontStorage
|
public net.minecraft.client.gui.FontRenderer func_238419_a_(Lnet/minecraft/util/ResourceLocation;)Lnet/minecraft/client/gui/fonts/Font; # getFontStorage
|
||||||
protected net.minecraft.entity.Entity func_226266_a_(Lnet/minecraft/entity/Entity;Lnet/minecraft/entity/Entity$IMoveCallback;)V # updatePassengerPosition
|
protected net.minecraft.entity.Entity func_226266_a_(Lnet/minecraft/entity/Entity;Lnet/minecraft/entity/Entity$IMoveCallback;)V # updatePassengerPosition
|
||||||
|
public net.minecraft.world.server.ChunkManager field_219266_t # field_219266_t
|
||||||
|
public net.minecraft.world.biome.BiomeManager field_226833_b_ # seed
|
||||||
|
Loading…
Reference in New Issue
Block a user