Make Core Level Wrappers implement API wrappers
This commit is contained in:
@@ -6,10 +6,11 @@ package com.seibel.lod.api.items.interfaces;
|
||||
* the base Minecraft Objects.
|
||||
*
|
||||
* @author James Seibel
|
||||
* @version 2022-9-6
|
||||
* @version 2022-9-16
|
||||
*/
|
||||
public interface IDhApiUnsafeWrapper
|
||||
{
|
||||
|
||||
/**
|
||||
* Returns the Minecraft object this wrapper contains. <br>
|
||||
* <strong>Warning</strong>: This object will be Minecraft
|
||||
@@ -20,6 +21,6 @@ public interface IDhApiUnsafeWrapper
|
||||
* in order to determine what object this method returns for
|
||||
* the specific version of Minecraft you are developing for.
|
||||
*/
|
||||
public Object getWrappedMcObject_UNSAFE();
|
||||
Object getWrappedMcObject_UNSAFE();
|
||||
|
||||
}
|
||||
|
||||
@@ -1,16 +1,10 @@
|
||||
package com.seibel.lod.core;
|
||||
|
||||
import com.seibel.lod.api.items.interfaces.config.IDhApiConfigGroup;
|
||||
import com.seibel.lod.api.items.interfaces.config.both.IDhApiWorldGenerationConfig;
|
||||
import com.seibel.lod.api.items.interfaces.config.client.*;
|
||||
import com.seibel.lod.core.api.external.coreImplementations.methods.config.DhApiConfig;
|
||||
import com.seibel.lod.core.api.external.coreImplementations.methods.config.both.DhApiWorldGenerationConfig;
|
||||
import com.seibel.lod.core.api.external.coreImplementations.methods.config.client.*;
|
||||
import com.seibel.lod.core.api.external.methods.config.DhApiConfig;
|
||||
import com.seibel.lod.core.datatype.column.ColumnRenderLoader;
|
||||
import com.seibel.lod.core.datatype.full.FullDataLoader;
|
||||
import com.seibel.lod.core.datatype.full.SparseDataLoader;
|
||||
import com.seibel.lod.core.interfaces.dependencyInjection.ApiCoreInjectors;
|
||||
import com.seibel.lod.core.interfaces.dependencyInjection.IDependencyInjector;
|
||||
|
||||
/**
|
||||
* Handles first time Core setup.
|
||||
|
||||
+6
-6
@@ -1,4 +1,4 @@
|
||||
package com.seibel.lod.core.api.external.coreImplementations.methods.config;
|
||||
package com.seibel.lod.core.api.external.methods.config;
|
||||
|
||||
import com.seibel.lod.api.items.interfaces.config.IDhApiConfig;
|
||||
import com.seibel.lod.api.items.interfaces.config.both.IDhApiWorldGenerationConfig;
|
||||
@@ -6,11 +6,11 @@ import com.seibel.lod.api.items.interfaces.config.client.IDhApiBuffersConfig;
|
||||
import com.seibel.lod.api.items.interfaces.config.client.IDhApiGraphicsConfig;
|
||||
import com.seibel.lod.api.items.interfaces.config.client.IDhApiMultiplayerConfig;
|
||||
import com.seibel.lod.api.items.interfaces.config.client.IDhApiThreadingConfig;
|
||||
import com.seibel.lod.core.api.external.coreImplementations.methods.config.both.DhApiWorldGenerationConfig;
|
||||
import com.seibel.lod.core.api.external.coreImplementations.methods.config.client.DhApiBuffersConfig;
|
||||
import com.seibel.lod.core.api.external.coreImplementations.methods.config.client.DhApiGraphicsConfig;
|
||||
import com.seibel.lod.core.api.external.coreImplementations.methods.config.client.DhApiMultiplayerConfig;
|
||||
import com.seibel.lod.core.api.external.coreImplementations.methods.config.client.DhApiThreadingConfig;
|
||||
import com.seibel.lod.core.api.external.methods.config.both.DhApiWorldGenerationConfig;
|
||||
import com.seibel.lod.core.api.external.methods.config.client.DhApiBuffersConfig;
|
||||
import com.seibel.lod.core.api.external.methods.config.client.DhApiGraphicsConfig;
|
||||
import com.seibel.lod.core.api.external.methods.config.client.DhApiMultiplayerConfig;
|
||||
import com.seibel.lod.core.api.external.methods.config.client.DhApiThreadingConfig;
|
||||
|
||||
/**
|
||||
* A singleton that holds all of the config groups for the API.
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.seibel.lod.core.api.external.coreImplementations.methods.config.both;
|
||||
package com.seibel.lod.core.api.external.methods.config.both;
|
||||
|
||||
import com.seibel.lod.api.items.interfaces.config.IDhApiConfigValue;
|
||||
import com.seibel.lod.api.items.interfaces.config.both.IDhApiWorldGenerationConfig;
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.seibel.lod.core.api.external.coreImplementations.methods.config.client;
|
||||
package com.seibel.lod.core.api.external.methods.config.client;
|
||||
|
||||
import com.seibel.lod.api.items.interfaces.config.IDhApiConfigValue;
|
||||
import com.seibel.lod.api.items.interfaces.config.client.IDhApiBuffersConfig;
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.seibel.lod.core.api.external.coreImplementations.methods.config.client;
|
||||
package com.seibel.lod.core.api.external.methods.config.client;
|
||||
|
||||
import com.seibel.lod.api.items.interfaces.config.IDhApiConfigValue;
|
||||
import com.seibel.lod.api.items.interfaces.config.client.IDhApiDebuggingConfig;
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.seibel.lod.core.api.external.coreImplementations.methods.config.client;
|
||||
package com.seibel.lod.core.api.external.methods.config.client;
|
||||
|
||||
import com.seibel.lod.api.items.enums.config.*;
|
||||
import com.seibel.lod.api.items.interfaces.config.IDhApiConfigValue;
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.seibel.lod.core.api.external.coreImplementations.methods.config.client;
|
||||
package com.seibel.lod.core.api.external.methods.config.client;
|
||||
|
||||
import com.seibel.lod.api.items.enums.rendering.*;
|
||||
import com.seibel.lod.api.items.interfaces.config.IDhApiConfigValue;
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.seibel.lod.core.api.external.coreImplementations.methods.config.client;
|
||||
package com.seibel.lod.core.api.external.methods.config.client;
|
||||
|
||||
import com.seibel.lod.api.items.interfaces.config.IDhApiConfigValue;
|
||||
import com.seibel.lod.api.items.interfaces.config.client.IDhApiMultiplayerConfig;
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package com.seibel.lod.core.api.external.coreImplementations.methods.config.client;
|
||||
package com.seibel.lod.core.api.external.methods.config.client;
|
||||
|
||||
import com.seibel.lod.api.items.interfaces.config.IDhApiConfigValue;
|
||||
import com.seibel.lod.api.items.interfaces.config.client.IDhApiThreadingConfig;
|
||||
+9
-1
@@ -5,8 +5,16 @@ import com.seibel.lod.core.wrapperInterfaces.block.IBlockStateWrapper;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public interface IClientLevelWrapper extends ILevelWrapper {
|
||||
/**
|
||||
*
|
||||
* @version 2022-9-16
|
||||
*/
|
||||
public interface IClientLevelWrapper extends ILevelWrapper
|
||||
{
|
||||
|
||||
@Nullable
|
||||
IServerLevelWrapper tryGetServerSideWrapper();
|
||||
|
||||
int computeBaseColor(DhBlockPos pos, IBiomeWrapper biome, IBlockStateWrapper blockState);
|
||||
|
||||
}
|
||||
|
||||
+5
-3
@@ -19,20 +19,22 @@
|
||||
|
||||
package com.seibel.lod.core.wrapperInterfaces.world;
|
||||
|
||||
import com.seibel.lod.api.items.interfaces.world.IDhApiDimensionTypeWrapper;
|
||||
import com.seibel.lod.core.interfaces.dependencyInjection.IBindable;
|
||||
|
||||
/**
|
||||
* @author James Seibel
|
||||
* @version 2022-8-23
|
||||
* @version 2022-9-16
|
||||
*/
|
||||
public interface IDimensionTypeWrapper extends IBindable
|
||||
public interface IDimensionTypeWrapper extends IDhApiDimensionTypeWrapper, IBindable
|
||||
{
|
||||
|
||||
String getDimensionName();
|
||||
|
||||
boolean hasCeiling();
|
||||
|
||||
boolean hasSkyLight();
|
||||
|
||||
Object getWrappedMcObject();
|
||||
Object getWrappedMcObject_UNSAFE();
|
||||
|
||||
}
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
|
||||
package com.seibel.lod.core.wrapperInterfaces.world;
|
||||
|
||||
import com.seibel.lod.api.items.interfaces.world.IDhApiDimensionTypeWrapper;
|
||||
import com.seibel.lod.api.items.interfaces.world.IDhApiLevelWrapper;
|
||||
import com.seibel.lod.core.interfaces.dependencyInjection.IBindable;
|
||||
import com.seibel.lod.core.pos.DhBlockPos;
|
||||
import com.seibel.lod.core.pos.DhChunkPos;
|
||||
@@ -29,32 +31,39 @@ import com.seibel.lod.core.wrapperInterfaces.chunk.IChunkWrapper;
|
||||
* Can be either a Server world or a Client world.
|
||||
*
|
||||
* @author James Seibel
|
||||
* @version 2022-9-10
|
||||
* @version 2022-9-16
|
||||
*/
|
||||
public interface ILevelWrapper extends IBindable
|
||||
public interface ILevelWrapper extends IDhApiLevelWrapper, IBindable
|
||||
{
|
||||
IDimensionTypeWrapper getDimensionType();
|
||||
|
||||
@Override
|
||||
IDhApiDimensionTypeWrapper getDimensionType();
|
||||
|
||||
int getBlockLight(int x, int y, int z);
|
||||
|
||||
int getSkyLight(int x, int y, int z);
|
||||
|
||||
@Override
|
||||
boolean hasCeiling();
|
||||
|
||||
@Override
|
||||
boolean hasSkyLight();
|
||||
|
||||
@Override
|
||||
int getHeight();
|
||||
|
||||
default short getMinHeight() { return 0; }
|
||||
|
||||
@Override
|
||||
default int getMinHeight() { return 0; }
|
||||
|
||||
default IChunkWrapper tryGetChunk(DhChunkPos pos) { return null; }
|
||||
|
||||
|
||||
boolean hasChunkLoaded(int chunkX, int chunkZ);
|
||||
|
||||
|
||||
IBlockStateWrapper getBlockState(DhBlockPos pos);
|
||||
|
||||
IBiomeWrapper getBiome(DhBlockPos pos);
|
||||
|
||||
Object unwrapLevel();
|
||||
@Override
|
||||
Object getWrappedMcObject_UNSAFE();
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user