Add IDhApi Biome and BlockState Wrapper objects

This commit is contained in:
James Seibel
2022-11-13 21:45:35 -06:00
parent d723a1fa84
commit 1099f5ec24
5 changed files with 59 additions and 3 deletions
@@ -0,0 +1,31 @@
/*
* This file is part of the Distant Horizons mod (formerly the LOD Mod),
* licensed under the GNU LGPL v3 License.
*
* Copyright (C) 2020-2022 James Seibel
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.seibel.lod.api.interfaces.block;
import com.seibel.lod.api.interfaces.IDhApiUnsafeWrapper;
/**
* @author James Seibel
* @version 3-5-2022
*/
public interface IDhApiBiomeWrapper extends IDhApiUnsafeWrapper
{
String getName();
}
@@ -0,0 +1,14 @@
package com.seibel.lod.api.interfaces.block;
import com.seibel.lod.api.interfaces.IDhApiUnsafeWrapper;
/**
* A Minecraft version independent way of handling Blocks.
*
* @author James Seibel
* @version 2022-11-12
*/
public interface IDhApiBlockStateWrapper extends IDhApiUnsafeWrapper
{
}
@@ -49,6 +49,7 @@ public class LodQuadTree implements AutoCloseable {
public final byte numbersOfSectionLevels;
private final MovableGridRingList<LodRenderSection>[] ringLists;
/** measured in blocks */
public final int viewDistance;
private final IRenderSourceProvider renderSourceProvider;
@@ -1,8 +1,17 @@
package com.seibel.lod.core.wrapperInterfaces.block;
public interface IBlockStateWrapper {
String serialize();
import com.seibel.lod.api.interfaces.block.IDhApiBlockStateWrapper;
/**
* A Minecraft version independent way of handling Blocks.
*
* @author James Seibel
* @version 2022-11-12
*/
public interface IBlockStateWrapper extends IDhApiBlockStateWrapper
{
String serialize();
// TODO:
// boolean hasFaceCullingFor(ELodDirection dir);
// boolean hasNoCollision();
@@ -19,13 +19,14 @@
package com.seibel.lod.core.wrapperInterfaces.world;
import com.seibel.lod.api.interfaces.block.IDhApiBiomeWrapper;
import com.seibel.lod.core.interfaces.dependencyInjection.IBindable;
/**
* @author James Seibel
* @version 3-5-2022
*/
public interface IBiomeWrapper extends IBindable
public interface IBiomeWrapper extends IDhApiBiomeWrapper, IBindable
{
String getName();
String serialize();