Porting 3

This commit is contained in:
raoulvdberge
2020-07-12 21:25:00 +02:00
parent 786a2f3d33
commit 6b88952563
11 changed files with 41 additions and 54 deletions

View File

@@ -1,7 +1,8 @@
package com.refinedmods.refinedstorage.api.network; package com.refinedmods.refinedstorage.api.network;
import net.minecraft.util.RegistryKey;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.dimension.DimensionType; import net.minecraft.world.World;
/** /**
* Represents a node that can send a wireless signal. * Represents a node that can send a wireless signal.
@@ -20,5 +21,5 @@ public interface IWirelessTransmitter {
/** /**
* @return the dimension in which the transmitter is * @return the dimension in which the transmitter is
*/ */
DimensionType getDimension(); RegistryKey<World> getDimension();
} }

View File

@@ -43,7 +43,6 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.nbt.INBT; import net.minecraft.nbt.INBT;
import net.minecraft.nbt.ListNBT; import net.minecraft.nbt.ListNBT;
import net.minecraft.world.dimension.DimensionType;
import net.minecraft.world.server.ServerWorld; import net.minecraft.world.server.ServerWorld;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fml.ModList; import net.minecraftforge.fml.ModList;
@@ -126,16 +125,12 @@ public class API implements IRSAPI {
@Override @Override
public INetworkNodeManager getNetworkNodeManager(ServerWorld world) { public INetworkNodeManager getNetworkNodeManager(ServerWorld world) {
String name = world.getDimension().getType().getRegistryName().getNamespace() + "_" + world.getDimension().getType().getRegistryName().getPath() + "_" + NetworkNodeManager.NAME; return world.getSavedData().getOrCreate(() -> new NetworkNodeManager("network_nodes", world), "network_nodes");
return world.getSavedData().getOrCreate(() -> new NetworkNodeManager(name, world), name);
} }
@Override @Override
public INetworkManager getNetworkManager(ServerWorld world) { public INetworkManager getNetworkManager(ServerWorld world) {
String name = world.getDimension().getType().getRegistryName().getNamespace() + "_" + world.getDimension().getType().getRegistryName().getPath() + "_" + NetworkManager.NAME; return world.getSavedData().getOrCreate(() -> new NetworkManager("networks", world), "networks");
return world.getSavedData().getOrCreate(() -> new NetworkManager(name, world), name);
} }
@Override @Override
@@ -195,7 +190,7 @@ public class API implements IRSAPI {
@Nonnull @Nonnull
@Override @Override
public IStorageDiskManager getStorageDiskManager(ServerWorld anyWorld) { public IStorageDiskManager getStorageDiskManager(ServerWorld anyWorld) {
ServerWorld world = anyWorld.getServer().getWorld(DimensionType.OVERWORLD); ServerWorld world = anyWorld.getServer().func_241755_D_(); // Get the overworld
return world.getSavedData().getOrCreate(() -> new StorageDiskManager(StorageDiskManager.NAME, world), StorageDiskManager.NAME); return world.getSavedData().getOrCreate(() -> new StorageDiskManager(StorageDiskManager.NAME, world), StorageDiskManager.NAME);
} }
@@ -317,7 +312,7 @@ public class API implements IRSAPI {
@Override @Override
public int getNetworkNodeHashCode(INetworkNode node) { public int getNetworkNodeHashCode(INetworkNode node) {
int result = node.getPos().hashCode(); int result = node.getPos().hashCode();
result = 31 * result + node.getWorld().getDimension().getType().getId(); result = 31 * result + node.getWorld().func_234923_W_().hashCode(); // TODO check
return result; return result;
} }
@@ -334,7 +329,7 @@ public class API implements IRSAPI {
INetworkNode rightNode = (INetworkNode) right; INetworkNode rightNode = (INetworkNode) right;
if (left.getWorld().getDimension().getType().getId() != rightNode.getWorld().getDimension().getType().getId()) { if (left.getWorld().func_234923_W_() != rightNode.getWorld().func_234923_W_()) { // TODO check
return false; return false;
} }

View File

@@ -30,7 +30,7 @@ public class NetworkItemManager implements INetworkItemManager {
if (node instanceof IWirelessTransmitter && if (node instanceof IWirelessTransmitter &&
network.canRun() && network.canRun() &&
node.isActive() && node.isActive() &&
((IWirelessTransmitter) node).getDimension() == player.dimension) { ((IWirelessTransmitter) node).getDimension() == player.getEntityWorld().func_234923_W_()) {
IWirelessTransmitter transmitter = (IWirelessTransmitter) node; IWirelessTransmitter transmitter = (IWirelessTransmitter) node;
Vector3d pos = player.getPositionVec(); Vector3d pos = player.getPositionVec();

View File

@@ -11,10 +11,10 @@ import com.refinedmods.refinedstorage.item.NetworkCardItem;
import com.refinedmods.refinedstorage.util.StackUtils; import com.refinedmods.refinedstorage.util.StackUtils;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.util.RegistryKey;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.dimension.DimensionType;
import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.IItemHandler;
import javax.annotation.Nullable; import javax.annotation.Nullable;
@@ -42,7 +42,7 @@ public class NetworkTransmitterNetworkNode extends NetworkNode {
}); });
private BlockPos receiver; private BlockPos receiver;
private DimensionType receiverDimension; private RegistryKey<World> receiverDimension;
public NetworkTransmitterNetworkNode(World world, BlockPos pos) { public NetworkTransmitterNetworkNode(World world, BlockPos pos) {
super(world, pos); super(world, pos);
@@ -89,7 +89,7 @@ public class NetworkTransmitterNetworkNode extends NetworkNode {
} }
@Nullable @Nullable
public DimensionType getReceiverDimension() { public RegistryKey<World> getReceiverDimension() {
return receiverDimension; return receiverDimension;
} }
@@ -102,7 +102,7 @@ public class NetworkTransmitterNetworkNode extends NetworkNode {
} }
public boolean isSameDimension() { public boolean isSameDimension() {
return world.getDimension().getType() == receiverDimension; return world.func_234923_W_() == receiverDimension;
} }
private boolean canTransmit() { private boolean canTransmit() {

View File

@@ -9,10 +9,10 @@ import com.refinedmods.refinedstorage.item.UpgradeItem;
import com.refinedmods.refinedstorage.util.StackUtils; import com.refinedmods.refinedstorage.util.StackUtils;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.util.Direction; import net.minecraft.util.Direction;
import net.minecraft.util.RegistryKey;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.dimension.DimensionType;
import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.IItemHandler;
import javax.annotation.Nullable; import javax.annotation.Nullable;
@@ -63,8 +63,8 @@ public class WirelessTransmitterNetworkNode extends NetworkNode implements IWire
} }
@Override @Override
public DimensionType getDimension() { public RegistryKey<World> getDimension() {
return world.getDimension().getType(); return world.func_234923_W_();
} }
public BaseItemHandler getUpgrades() { public BaseItemHandler getUpgrades() {

View File

@@ -10,12 +10,13 @@ import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemUseContext; import net.minecraft.item.ItemUseContext;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.util.ActionResultType; import net.minecraft.util.ActionResultType;
import net.minecraft.util.RegistryKey;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TranslationTextComponent; import net.minecraft.util.text.TranslationTextComponent;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.dimension.DimensionType;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.util.List; import java.util.List;
@@ -42,7 +43,7 @@ public class NetworkCardItem extends Item {
tag.putInt(NBT_RECEIVER_X, ctx.getPos().getX()); tag.putInt(NBT_RECEIVER_X, ctx.getPos().getX());
tag.putInt(NBT_RECEIVER_Y, ctx.getPos().getY()); tag.putInt(NBT_RECEIVER_Y, ctx.getPos().getY());
tag.putInt(NBT_RECEIVER_Z, ctx.getPos().getZ()); tag.putInt(NBT_RECEIVER_Z, ctx.getPos().getZ());
tag.putString(NBT_DIMENSION, DimensionType.getKey(ctx.getWorld().getDimension().getType()).toString()); tag.putString(NBT_DIMENSION, ctx.getWorld().func_234923_W_().func_240901_a_().toString());
ctx.getPlayer().getHeldItem(ctx.getHand()).setTag(tag); ctx.getPlayer().getHeldItem(ctx.getHand()).setTag(tag);
@@ -57,7 +58,7 @@ public class NetworkCardItem extends Item {
super.addInformation(stack, world, tooltip, flag); super.addInformation(stack, world, tooltip, flag);
BlockPos pos = getReceiver(stack); BlockPos pos = getReceiver(stack);
DimensionType type = getDimension(stack); RegistryKey<World> type = getDimension(stack);
if (pos != null && type != null) { if (pos != null && type != null) {
tooltip.add(new TranslationTextComponent( tooltip.add(new TranslationTextComponent(
@@ -65,8 +66,8 @@ public class NetworkCardItem extends Item {
pos.getX(), pos.getX(),
pos.getY(), pos.getY(),
pos.getZ(), pos.getZ(),
type.getRegistryName().toString() type.func_240901_a_().toString() // TODO check
).setStyle(Styles.GRAY)); ).func_230530_a_(Styles.GRAY));
} }
} }
@@ -87,14 +88,14 @@ public class NetworkCardItem extends Item {
} }
@Nullable @Nullable
public static DimensionType getDimension(ItemStack stack) { public static RegistryKey<World> getDimension(ItemStack stack) {
if (stack.hasTag() && stack.getTag().contains(NBT_DIMENSION)) { if (stack.hasTag() && stack.getTag().contains(NBT_DIMENSION)) {
ResourceLocation name = ResourceLocation.tryCreate(stack.getTag().getString(NBT_DIMENSION)); ResourceLocation name = ResourceLocation.tryCreate(stack.getTag().getString(NBT_DIMENSION));
if (name == null) { if (name == null) {
return null; return null;
} }
return DimensionType.byName(name); return RegistryKey.func_240903_a_(Registry.WORLD_KEY, name);
} }
return null; return null;

View File

@@ -12,16 +12,12 @@ import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemUseContext; import net.minecraft.item.ItemUseContext;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.server.MinecraftServer; import net.minecraft.server.MinecraftServer;
import net.minecraft.util.ActionResult; import net.minecraft.util.*;
import net.minecraft.util.ActionResultType;
import net.minecraft.util.Hand;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.registry.Registry;
import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TranslationTextComponent; import net.minecraft.util.text.TranslationTextComponent;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.dimension.DimensionType;
import net.minecraftforge.common.DimensionManager;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.util.List; import java.util.List;
@@ -59,13 +55,13 @@ public abstract class NetworkItem extends EnergyItem implements INetworkItemProv
return; return;
} }
DimensionType dimension = getDimension(stack); RegistryKey<World> dimension = getDimension(stack);
if (dimension == null) { if (dimension == null) {
onError.accept(notFound); onError.accept(notFound);
return; return;
} }
World nodeWorld = DimensionManager.getWorld(server, dimension, true, true); World nodeWorld = server.getWorld(dimension);
if (nodeWorld == null) { if (nodeWorld == null) {
onError.accept(notFound); onError.accept(notFound);
return; return;
@@ -104,7 +100,7 @@ public abstract class NetworkItem extends EnergyItem implements INetworkItemProv
tag.putInt(NBT_NODE_X, network.getPosition().getX()); tag.putInt(NBT_NODE_X, network.getPosition().getX());
tag.putInt(NBT_NODE_Y, network.getPosition().getY()); tag.putInt(NBT_NODE_Y, network.getPosition().getY());
tag.putInt(NBT_NODE_Z, network.getPosition().getZ()); tag.putInt(NBT_NODE_Z, network.getPosition().getZ());
tag.putString(NBT_DIMENSION, DimensionType.getKey(ctx.getWorld().getDimension().getType()).toString()); tag.putString(NBT_DIMENSION, ctx.getWorld().func_234923_W_().func_240901_a_().toString());
stack.setTag(tag); stack.setTag(tag);
@@ -115,14 +111,14 @@ public abstract class NetworkItem extends EnergyItem implements INetworkItemProv
} }
@Nullable @Nullable
public static DimensionType getDimension(ItemStack stack) { public static RegistryKey<World> getDimension(ItemStack stack) {
if (stack.hasTag() && stack.getTag().contains(NBT_DIMENSION)) { if (stack.hasTag() && stack.getTag().contains(NBT_DIMENSION)) {
ResourceLocation name = ResourceLocation.tryCreate(stack.getTag().getString(NBT_DIMENSION)); ResourceLocation name = ResourceLocation.tryCreate(stack.getTag().getString(NBT_DIMENSION));
if (name == null) { if (name == null) {
return null; return null;
} }
return DimensionType.byName(name); return RegistryKey.func_240903_a_(Registry.WORLD_KEY, name);
} }
return null; return null;

View File

@@ -22,7 +22,7 @@ public class NetworkTransmitterTile extends NetworkNodeTile<NetworkTransmitterNe
public static final TileDataParameter<Integer, NetworkTransmitterTile> DISTANCE = new TileDataParameter<>(DataSerializers.VARINT, 0, t -> t.getNode().getDistance()); public static final TileDataParameter<Integer, NetworkTransmitterTile> DISTANCE = new TileDataParameter<>(DataSerializers.VARINT, 0, t -> t.getNode().getDistance());
public static final TileDataParameter<Optional<ResourceLocation>, NetworkTransmitterTile> RECEIVER_DIMENSION = new TileDataParameter<>(RSSerializers.OPTIONAL_RESOURCE_LOCATION_SERIALIZER, Optional.empty(), t -> { public static final TileDataParameter<Optional<ResourceLocation>, NetworkTransmitterTile> RECEIVER_DIMENSION = new TileDataParameter<>(RSSerializers.OPTIONAL_RESOURCE_LOCATION_SERIALIZER, Optional.empty(), t -> {
if (t.getNode().getReceiverDimension() != null) { if (t.getNode().getReceiverDimension() != null) {
return Optional.of(t.getNode().getReceiverDimension().getRegistryName()); return Optional.of(t.getNode().getReceiverDimension().func_240901_a_()); // TODO check
} }
return Optional.empty(); return Optional.empty();

View File

@@ -12,12 +12,11 @@ import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.ServerPlayerEntity; import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.server.MinecraftServer; import net.minecraft.server.MinecraftServer;
import net.minecraft.util.RegistryKey;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TranslationTextComponent; import net.minecraft.util.text.TranslationTextComponent;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.dimension.DimensionType;
import net.minecraftforge.common.DimensionManager;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.util.Collection; import java.util.Collection;
@@ -29,7 +28,7 @@ public class WirelessCraftingMonitor implements ICraftingMonitor {
private final ItemStack stack; private final ItemStack stack;
@Nullable @Nullable
private final MinecraftServer server; private final MinecraftServer server;
private final DimensionType nodeDimension; private final RegistryKey<World> nodeDimension;
private final BlockPos nodePos; private final BlockPos nodePos;
private int tabPage; private int tabPage;
private Optional<UUID> tabSelected; private Optional<UUID> tabSelected;
@@ -97,8 +96,7 @@ public class WirelessCraftingMonitor implements ICraftingMonitor {
} }
private INetwork getNetwork() { private INetwork getNetwork() {
World world = DimensionManager.getWorld(server, nodeDimension, true, true); World world = server.getWorld(nodeDimension);
if (world != null) { if (world != null) {
return NetworkUtils.getNetworkFromNode(NetworkUtils.getNodeFromTile(world.getTileEntity(nodePos))); return NetworkUtils.getNetworkFromNode(NetworkUtils.getNodeFromTile(world.getTileEntity(nodePos)));
} }

View File

@@ -24,12 +24,11 @@ import net.minecraft.inventory.CraftingInventory;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.server.MinecraftServer; import net.minecraft.server.MinecraftServer;
import net.minecraft.util.RegistryKey;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TranslationTextComponent; import net.minecraft.util.text.TranslationTextComponent;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.dimension.DimensionType;
import net.minecraftforge.common.DimensionManager;
import net.minecraftforge.items.IItemHandlerModifiable; import net.minecraftforge.items.IItemHandlerModifiable;
import javax.annotation.Nullable; import javax.annotation.Nullable;
@@ -40,7 +39,7 @@ public class WirelessFluidGrid implements INetworkAwareGrid {
private ItemStack stack; private ItemStack stack;
@Nullable @Nullable
private final MinecraftServer server; private final MinecraftServer server;
private final DimensionType nodeDimension; private final RegistryKey<World> nodeDimension;
private final BlockPos nodePos; private final BlockPos nodePos;
private final int slotId; private final int slotId;
@@ -93,8 +92,7 @@ public class WirelessFluidGrid implements INetworkAwareGrid {
@Override @Override
@Nullable @Nullable
public INetwork getNetwork() { public INetwork getNetwork() {
World world = DimensionManager.getWorld(server, nodeDimension, true, true); World world = server.getWorld(nodeDimension);
if (world != null) { if (world != null) {
return NetworkUtils.getNetworkFromNode(NetworkUtils.getNodeFromTile(world.getTileEntity(nodePos))); return NetworkUtils.getNetworkFromNode(NetworkUtils.getNodeFromTile(world.getTileEntity(nodePos)));
} }

View File

@@ -24,12 +24,11 @@ import net.minecraft.inventory.CraftingInventory;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.CompoundNBT; import net.minecraft.nbt.CompoundNBT;
import net.minecraft.server.MinecraftServer; import net.minecraft.server.MinecraftServer;
import net.minecraft.util.RegistryKey;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.ITextComponent; import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.TranslationTextComponent; import net.minecraft.util.text.TranslationTextComponent;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraft.world.dimension.DimensionType;
import net.minecraftforge.common.DimensionManager;
import net.minecraftforge.items.IItemHandlerModifiable; import net.minecraftforge.items.IItemHandlerModifiable;
import javax.annotation.Nullable; import javax.annotation.Nullable;
@@ -40,7 +39,7 @@ public class WirelessGrid implements INetworkAwareGrid {
private ItemStack stack; private ItemStack stack;
@Nullable @Nullable
private final MinecraftServer server; private final MinecraftServer server;
private final DimensionType nodeDimension; private final RegistryKey<World> nodeDimension;
private final BlockPos nodePos; private final BlockPos nodePos;
private final int slotId; private final int slotId;
@@ -95,8 +94,7 @@ public class WirelessGrid implements INetworkAwareGrid {
@Override @Override
@Nullable @Nullable
public INetwork getNetwork() { public INetwork getNetwork() {
World world = DimensionManager.getWorld(server, nodeDimension, true, true); World world = server.getWorld(nodeDimension);
if (world != null) { if (world != null) {
return NetworkUtils.getNetworkFromNode(NetworkUtils.getNodeFromTile(world.getTileEntity(nodePos))); return NetworkUtils.getNetworkFromNode(NetworkUtils.getNodeFromTile(world.getTileEntity(nodePos)));
} }