Moved some packages to more logical places and aligned implementation with api package structure.

This commit is contained in:
Florian Nücke
2020-12-11 18:17:06 +01:00
parent a4e143a67c
commit 62c7e658c5
28 changed files with 90 additions and 82 deletions

View File

@@ -2,9 +2,9 @@ package li.cil.oc2.api;
import com.google.gson.GsonBuilder;
import li.cil.oc2.api.bus.device.object.Callback;
import li.cil.oc2.api.bus.device.provider.DeviceProvider;
import li.cil.oc2.api.bus.device.rpc.RPCMethod;
import li.cil.oc2.api.imc.RPCMethodParameterTypeAdapter;
import li.cil.oc2.api.provider.DeviceProvider;
import java.lang.reflect.Type;

View File

@@ -1,4 +1,4 @@
package li.cil.oc2.api.provider;
package li.cil.oc2.api.bus.device.provider;
import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;

View File

@@ -1,4 +1,4 @@
package li.cil.oc2.api.provider;
package li.cil.oc2.api.bus.device.provider;
import li.cil.oc2.api.bus.Device;
import li.cil.oc2.api.bus.device.object.ObjectDevice;

View File

@@ -1,4 +1,4 @@
package li.cil.oc2.api.provider;
package li.cil.oc2.api.bus.device.provider;
/**
* Base interface for all queries to {@link DeviceProvider}s.

View File

@@ -1,6 +1,6 @@
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.device.provider;
package li.cil.oc2.api.bus.device.provider;
import mcp.MethodsReturnNonnullByDefault;

View File

@@ -2,7 +2,7 @@ package li.cil.oc2.api.bus.device.rpc;
import li.cil.oc2.api.bus.Device;
import li.cil.oc2.api.bus.device.object.ObjectDevice;
import li.cil.oc2.api.provider.DeviceProvider;
import li.cil.oc2.api.bus.device.provider.DeviceProvider;
import java.util.List;

View File

@@ -9,12 +9,12 @@ import li.cil.oc2.api.API;
import net.minecraft.client.Minecraft;
import net.minecraft.client.audio.SimpleSound;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.util.math.vector.Matrix4f;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.renderer.WorldVertexBufferUploader;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.state.properties.NoteBlockInstrument;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.vector.Matrix4f;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import org.lwjgl.opengl.GL11;

View File

@@ -1,8 +1,8 @@
package li.cil.oc2.common;
import li.cil.oc2.common.bus.device.provider.Providers;
import li.cil.oc2.common.bus.device.rpc.RPCMethodParameterTypeAdapters;
import li.cil.oc2.common.capabilities.Capabilities;
import li.cil.oc2.common.device.RPCMethodParameterTypeAdapters;
import li.cil.oc2.common.device.provider.Providers;
import li.cil.oc2.common.network.Network;
import li.cil.oc2.common.vm.Allocator;
import li.cil.oc2.serialization.BlobStorage;

View File

@@ -1,10 +1,10 @@
package li.cil.oc2.common;
import li.cil.oc2.api.API;
import li.cil.oc2.api.bus.device.provider.DeviceProvider;
import li.cil.oc2.api.imc.RPCMethodParameterTypeAdapter;
import li.cil.oc2.api.provider.DeviceProvider;
import li.cil.oc2.common.device.RPCMethodParameterTypeAdapters;
import li.cil.oc2.common.device.provider.Providers;
import li.cil.oc2.common.bus.device.provider.Providers;
import li.cil.oc2.common.bus.device.rpc.RPCMethodParameterTypeAdapters;
import net.minecraft.util.Util;
import net.minecraftforge.fml.InterModComms;
import net.minecraftforge.fml.event.lifecycle.InterModProcessEvent;

View File

@@ -8,8 +8,8 @@ import li.cil.oc2.api.bus.DeviceBusController;
import li.cil.oc2.api.bus.device.rpc.RPCDevice;
import li.cil.oc2.api.bus.device.rpc.RPCMethod;
import li.cil.oc2.api.bus.device.rpc.RPCParameter;
import li.cil.oc2.common.device.RPCMethodParameterTypeAdapters;
import li.cil.oc2.common.device.RPCDeviceList;
import li.cil.oc2.common.bus.device.rpc.RPCDeviceList;
import li.cil.oc2.common.bus.device.rpc.RPCMethodParameterTypeAdapters;
import li.cil.oc2.serialization.serializers.MessageJsonDeserializer;
import li.cil.oc2.serialization.serializers.MethodInvocationJsonDeserializer;
import li.cil.oc2.serialization.serializers.RPCDeviceWithIdentifierJsonSerializer;

View File

@@ -5,8 +5,8 @@ import li.cil.oc2.api.bus.Device;
import li.cil.oc2.api.bus.DeviceBus;
import li.cil.oc2.api.bus.DeviceBusElement;
import li.cil.oc2.common.ServerScheduler;
import li.cil.oc2.common.bus.device.provider.Providers;
import li.cil.oc2.common.capabilities.Capabilities;
import li.cil.oc2.common.device.provider.Providers;
import li.cil.oc2.common.util.WorldUtils;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Direction;

View File

@@ -1,9 +1,11 @@
package li.cil.oc2.common.device.provider;
package li.cil.oc2.common.bus.device.provider;
import li.cil.oc2.api.bus.Device;
import li.cil.oc2.api.bus.device.object.Callback;
import li.cil.oc2.api.bus.device.object.ObjectDevice;
import li.cil.oc2.api.provider.BlockDeviceQuery;
import li.cil.oc2.api.bus.device.provider.BlockDeviceQuery;
import li.cil.oc2.common.bus.device.provider.util.AbstractCapabilityAnyTileEntityDeviceProvider;
import li.cil.oc2.common.bus.device.provider.util.AbstractObjectProxy;
import li.cil.oc2.common.capabilities.Capabilities;
import net.minecraftforge.common.util.LazyOptional;
import net.minecraftforge.energy.IEnergyStorage;

View File

@@ -1,9 +1,11 @@
package li.cil.oc2.common.device.provider;
package li.cil.oc2.common.bus.device.provider;
import li.cil.oc2.api.bus.Device;
import li.cil.oc2.api.bus.device.object.Callback;
import li.cil.oc2.api.bus.device.object.ObjectDevice;
import li.cil.oc2.api.provider.BlockDeviceQuery;
import li.cil.oc2.api.bus.device.provider.BlockDeviceQuery;
import li.cil.oc2.common.bus.device.provider.util.AbstractCapabilityAnyTileEntityDeviceProvider;
import li.cil.oc2.common.bus.device.provider.util.AbstractObjectProxy;
import li.cil.oc2.common.capabilities.Capabilities;
import net.minecraftforge.common.util.LazyOptional;
import net.minecraftforge.fluids.FluidStack;

View File

@@ -1,9 +1,11 @@
package li.cil.oc2.common.device.provider;
package li.cil.oc2.common.bus.device.provider;
import li.cil.oc2.api.bus.Device;
import li.cil.oc2.api.bus.device.object.Callback;
import li.cil.oc2.api.bus.device.object.ObjectDevice;
import li.cil.oc2.api.provider.BlockDeviceQuery;
import li.cil.oc2.api.bus.device.provider.BlockDeviceQuery;
import li.cil.oc2.common.bus.device.provider.util.AbstractCapabilityAnyTileEntityDeviceProvider;
import li.cil.oc2.common.bus.device.provider.util.AbstractObjectProxy;
import li.cil.oc2.common.capabilities.Capabilities;
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.LazyOptional;

View File

@@ -1,15 +1,18 @@
package li.cil.oc2.common.device.provider;
package li.cil.oc2.common.bus.device.provider;
import li.cil.oc2.api.bus.Device;
import li.cil.oc2.api.provider.DeviceProvider;
import li.cil.oc2.api.provider.DeviceQuery;
import li.cil.oc2.common.device.BlockDeviceQueryImpl;
import li.cil.oc2.api.bus.device.provider.BlockDeviceQuery;
import li.cil.oc2.api.bus.device.provider.DeviceProvider;
import li.cil.oc2.api.bus.device.provider.DeviceQuery;
import li.cil.oc2.common.bus.device.provider.util.BlockDeviceProvider;
import li.cil.oc2.common.bus.device.provider.util.TileEntityDeviceProvider;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.common.util.LazyOptional;
import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.List;
@@ -40,7 +43,7 @@ public final class Providers {
}
public static List<LazyOptional<Device>> getDevices(final World world, final BlockPos pos, final Direction side) {
return getDevices(new BlockDeviceQueryImpl(world, pos, side));
return getDevices(new BlockQuery(world, pos, side));
}
public static List<LazyOptional<Device>> getDevices(final DeviceQuery query) {
@@ -53,4 +56,32 @@ public final class Providers {
}
return devices;
}
private static class BlockQuery implements BlockDeviceQuery {
private final World world;
private final BlockPos pos;
@Nullable private final Direction side;
public BlockQuery(final World world, final BlockPos pos, @Nullable final Direction side) {
this.world = world;
this.pos = pos;
this.side = side;
}
@Override
public World getWorld() {
return world;
}
@Override
public BlockPos getQueryPosition() {
return pos;
}
@Nullable
@Override
public Direction getQuerySide() {
return side;
}
}
}

View File

@@ -1,6 +1,6 @@
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.device;
package li.cil.oc2.common.bus.device.provider;
import mcp.MethodsReturnNonnullByDefault;

View File

@@ -1,4 +1,4 @@
package li.cil.oc2.common.device.provider;
package li.cil.oc2.common.bus.device.provider.util;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.capabilities.Capability;

View File

@@ -1,7 +1,7 @@
package li.cil.oc2.common.device.provider;
package li.cil.oc2.common.bus.device.provider.util;
import li.cil.oc2.api.bus.Device;
import li.cil.oc2.api.provider.BlockDeviceQuery;
import li.cil.oc2.api.bus.device.provider.BlockDeviceQuery;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.util.LazyOptional;

View File

@@ -1,4 +1,4 @@
package li.cil.oc2.common.device.provider;
package li.cil.oc2.common.bus.device.provider.util;
import javax.annotation.Nullable;
import java.util.Objects;

View File

@@ -1,9 +1,9 @@
package li.cil.oc2.common.device.provider;
package li.cil.oc2.common.bus.device.provider.util;
import li.cil.oc2.api.bus.Device;
import li.cil.oc2.api.provider.BlockDeviceQuery;
import li.cil.oc2.api.provider.DeviceProvider;
import li.cil.oc2.api.provider.DeviceQuery;
import li.cil.oc2.api.bus.device.provider.BlockDeviceQuery;
import li.cil.oc2.api.bus.device.provider.DeviceProvider;
import li.cil.oc2.api.bus.device.provider.DeviceQuery;
import li.cil.oc2.common.util.WorldUtils;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.util.LazyOptional;

View File

@@ -1,11 +1,11 @@
package li.cil.oc2.common.device.provider;
package li.cil.oc2.common.bus.device.provider.util;
import li.cil.oc2.api.bus.Device;
import li.cil.oc2.api.bus.device.object.Callbacks;
import li.cil.oc2.api.bus.device.object.ObjectDevice;
import li.cil.oc2.api.provider.BlockDeviceQuery;
import li.cil.oc2.api.provider.DeviceProvider;
import li.cil.oc2.api.provider.DeviceQuery;
import li.cil.oc2.api.bus.device.provider.BlockDeviceQuery;
import li.cil.oc2.api.bus.device.provider.DeviceProvider;
import li.cil.oc2.api.bus.device.provider.DeviceQuery;
import li.cil.oc2.common.util.WorldUtils;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
@@ -20,7 +20,7 @@ public class BlockDeviceProvider implements DeviceProvider {
final BlockDeviceQuery blockQuery = (BlockDeviceQuery) query;
final BlockState blockState = blockQuery.getWorld().getBlockState(blockQuery.getQueryPosition());
if (blockState.isAir(blockQuery.getWorld(), blockQuery.getQueryPosition())) {
if (blockState.getBlock().isAir(blockState, blockQuery.getWorld(), blockQuery.getQueryPosition())) {
return LazyOptional.empty();
}

View File

@@ -1,9 +1,9 @@
package li.cil.oc2.common.device.provider;
package li.cil.oc2.common.bus.device.provider.util;
import li.cil.oc2.api.bus.Device;
import li.cil.oc2.api.bus.device.object.Callbacks;
import li.cil.oc2.api.bus.device.object.ObjectDevice;
import li.cil.oc2.api.provider.BlockDeviceQuery;
import li.cil.oc2.api.bus.device.provider.BlockDeviceQuery;
import li.cil.oc2.common.util.WorldUtils;
import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.common.util.LazyOptional;

View File

@@ -0,0 +1,7 @@
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.common.bus.device.provider.util;
import mcp.MethodsReturnNonnullByDefault;
import javax.annotation.ParametersAreNonnullByDefault;

View File

@@ -1,4 +1,4 @@
package li.cil.oc2.common.device;
package li.cil.oc2.common.bus.device.rpc;
import li.cil.oc2.api.bus.device.rpc.RPCDevice;
import li.cil.oc2.api.bus.device.rpc.RPCMethod;

View File

@@ -1,4 +1,4 @@
package li.cil.oc2.common.device;
package li.cil.oc2.common.bus.device.rpc;
import com.google.gson.GsonBuilder;
import li.cil.oc2.api.imc.RPCMethodParameterTypeAdapter;

View File

@@ -1,6 +1,6 @@
@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
package li.cil.oc2.api.provider;
package li.cil.oc2.common.bus.device.rpc;
import mcp.MethodsReturnNonnullByDefault;

View File

@@ -1,8 +1,8 @@
package li.cil.oc2.common.capabilities;
import li.cil.oc2.api.bus.Device;
import li.cil.oc2.api.bus.DeviceBusController;
import li.cil.oc2.api.bus.DeviceBusElement;
import li.cil.oc2.api.bus.Device;
import net.minecraftforge.common.capabilities.CapabilityManager;
import java.util.*;

View File

@@ -1,36 +0,0 @@
package li.cil.oc2.common.device;
import li.cil.oc2.api.provider.BlockDeviceQuery;
import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import javax.annotation.Nullable;
public class BlockDeviceQueryImpl implements BlockDeviceQuery {
private final World world;
private final BlockPos pos;
@Nullable private final Direction side;
public BlockDeviceQueryImpl(final World world, final BlockPos pos, @Nullable final Direction side) {
this.world = world;
this.pos = pos;
this.side = side;
}
@Override
public World getWorld() {
return world;
}
@Override
public BlockPos getQueryPosition() {
return pos;
}
@Nullable
@Override
public Direction getQuerySide() {
return side;
}
}