Fix the level API events

This commit is contained in:
James Seibel
2022-09-10 17:10:48 -05:00
parent 0a70ec9986
commit ba701eb014
7 changed files with 51 additions and 46 deletions
@@ -20,10 +20,8 @@
package com.seibel.lod.api.items.objects.wrappers;
import com.seibel.lod.api.items.enums.worldGeneration.EDhApiLevelType;
import com.seibel.lod.api.items.interfaces.IDhApiUnsafeWrapper;
import com.seibel.lod.api.items.interfaces.world.IDhApiDimensionTypeWrapper;
import com.seibel.lod.api.items.interfaces.world.IDhApiLevelWrapper;
import com.seibel.lod.core.api.external.coreImplementations.interfaces.wrappers.world.ICoreDhApiLevelWrapper;
import com.seibel.lod.core.wrapperInterfaces.world.IClientLevelWrapper;
import com.seibel.lod.core.wrapperInterfaces.world.IDimensionTypeWrapper;
import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper;
@@ -33,32 +31,32 @@ import com.seibel.lod.core.wrapperInterfaces.world.IServerLevelWrapper;
* Can be either a Server or Client level.
*
* @author James Seibel
* @version 2022-9-8
* @version 2022-9-10
*/
public class DhApiLevelWrapper implements IDhApiLevelWrapper
{
private final ILevelWrapper levelWrapper;
private final IDimensionTypeWrapper dimensionTypeWrapper;
private final ILevelWrapper coreLevelWrapper;
private final IDimensionTypeWrapper coreDimensionTypeWrapper;
public DhApiLevelWrapper(ILevelWrapper newLevelWrapper)
{
this.levelWrapper = newLevelWrapper;
this.dimensionTypeWrapper = this.levelWrapper.getDimensionType();
this.coreLevelWrapper = newLevelWrapper;
this.coreDimensionTypeWrapper = this.coreLevelWrapper.getDimensionType();
}
@Override
public IDhApiDimensionTypeWrapper getDimensionType() { return new DhApiDimensionTypeWrapper(this.dimensionTypeWrapper); }
public IDhApiDimensionTypeWrapper getDimensionType() { return new DhApiDimensionTypeWrapper(this.coreDimensionTypeWrapper); }
@Override
public EDhApiLevelType getLevelType()
{
if (this.levelWrapper.getClass().isAssignableFrom(IClientLevelWrapper.class))
if (this.coreLevelWrapper.getClass().isAssignableFrom(IClientLevelWrapper.class))
{
return EDhApiLevelType.CLIENT_LEVEL;
}
else if (this.levelWrapper.getClass().isAssignableFrom(IServerLevelWrapper.class))
else if (this.coreLevelWrapper.getClass().isAssignableFrom(IServerLevelWrapper.class))
{
return EDhApiLevelType.CLIENT_LEVEL;
}
@@ -70,19 +68,19 @@ public class DhApiLevelWrapper implements IDhApiLevelWrapper
}
@Override
public boolean hasCeiling() { return this.levelWrapper.hasCeiling(); }
public boolean hasCeiling() { return this.coreLevelWrapper.hasCeiling(); }
@Override
public boolean hasSkyLight() { return this.levelWrapper.hasSkyLight(); }
public boolean hasSkyLight() { return this.coreLevelWrapper.hasSkyLight(); }
@Override
public int getHeight() { return this.levelWrapper.getHeight(); }
public int getHeight() { return this.coreLevelWrapper.getHeight(); }
@Override
public int getMinHeight() { return this.levelWrapper.getMinHeight(); }
public int getMinHeight() { return this.coreLevelWrapper.getMinHeight(); }
@Override
public Object getWrappedMcObject_UNSAFE() { return this.levelWrapper.unwrapLevel(); }
public Object getWrappedMcObject_UNSAFE() { return this.coreLevelWrapper.unwrapLevel(); }
}
@@ -1,11 +1,14 @@
package com.seibel.lod.api.methods.events.abstractEvents;
import com.seibel.lod.api.items.interfaces.world.IDhApiLevelWrapper;
import com.seibel.lod.api.items.objects.wrappers.DhApiLevelWrapper;
import com.seibel.lod.api.methods.events.interfaces.IDhApiEvent;
import com.seibel.lod.core.api.external.coreImplementations.objects.events.abstractEvents.CoreDhApiLevelLoadEvent;
import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper;
/**
* @author James Seibel
* @version 2022-9-6
* @version 2022-9-10
*/
public abstract class DhApiLevelLoadEvent
extends CoreDhApiLevelLoadEvent
@@ -22,7 +25,7 @@ public abstract class DhApiLevelLoadEvent
@Override
public final boolean fireEvent(CoreEventParam input)
{
onLevelLoad(new EventParam());
onLevelLoad(new EventParam(input.levelWrapper));
return false;
}
@@ -37,11 +40,10 @@ public abstract class DhApiLevelLoadEvent
public static class EventParam
{
/** The newly loaded level. */
//public final IDhApiLevelWrapper levelWrapper;
public final IDhApiLevelWrapper levelWrapper;
// TODO
//public EventParam(ILevelWrapper newLevelWrapper) { this.levelWrapper = newLevelWrapper; }
public EventParam(ILevelWrapper newLevelWrapper) { this.levelWrapper = new DhApiLevelWrapper(newLevelWrapper); }
}
}
@@ -1,11 +1,14 @@
package com.seibel.lod.api.methods.events.abstractEvents;
import com.seibel.lod.api.items.interfaces.world.IDhApiLevelWrapper;
import com.seibel.lod.api.items.objects.wrappers.DhApiLevelWrapper;
import com.seibel.lod.api.methods.events.interfaces.IDhApiEvent;
import com.seibel.lod.core.api.external.coreImplementations.objects.events.abstractEvents.CoreDhApiLevelSaveEvent;
import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper;
/**
* @author James Seibel
* @version 2022-9-6
* @version 2022-9-10
*/
public abstract class DhApiLevelSaveEvent
extends CoreDhApiLevelSaveEvent
@@ -22,7 +25,7 @@ public abstract class DhApiLevelSaveEvent
@Override
public final boolean fireEvent(CoreDhApiLevelSaveEvent.CoreEventParam input)
{
onLevelSave(new EventParam());
onLevelSave(new EventParam(input.levelWrapper));
return false;
}
@@ -36,11 +39,11 @@ public abstract class DhApiLevelSaveEvent
public static class EventParam
{
/** The newly loaded level. */
//public final IDhApiLevelWrapper levelWrapper;
/** The saved level. */
public final IDhApiLevelWrapper levelWrapper;
// TODO
//public EventParam(IDhApiLevelWrapper newLevelWrapper) { this.levelWrapper = newLevelWrapper; }
public EventParam(ILevelWrapper newLevelWrapper) { this.levelWrapper = new DhApiLevelWrapper(newLevelWrapper); }
}
}
@@ -1,11 +1,14 @@
package com.seibel.lod.api.methods.events.abstractEvents;
import com.seibel.lod.api.items.interfaces.world.IDhApiLevelWrapper;
import com.seibel.lod.api.items.objects.wrappers.DhApiLevelWrapper;
import com.seibel.lod.api.methods.events.interfaces.IDhApiEvent;
import com.seibel.lod.core.api.external.coreImplementations.objects.events.abstractEvents.CoreDhApiLevelUnloadEvent;
import com.seibel.lod.core.wrapperInterfaces.world.ILevelWrapper;
/**
* @author James Seibel
* @version 2022-9-6
* @version 2022-9-10
*/
public abstract class DhApiLevelUnloadEvent
extends CoreDhApiLevelUnloadEvent
@@ -22,7 +25,7 @@ public abstract class DhApiLevelUnloadEvent
@Override
public final boolean fireEvent(CoreDhApiLevelUnloadEvent.CoreEventParam input)
{
onLevelUnload(new EventParam());
onLevelUnload(new EventParam(input.levelWrapper));
return false;
}
@@ -37,11 +40,10 @@ public abstract class DhApiLevelUnloadEvent
public static class EventParam
{
/** The recently unloaded level. */
// public final IDhApiLevelWrapper levelWrapper;
public final IDhApiLevelWrapper levelWrapper;
// TODO
// public EventParam(IDhApiLevelWrapper newLevelWrapper) { this.levelWrapper = newLevelWrapper; }
public EventParam(ILevelWrapper newLevelWrapper) { this.levelWrapper = new DhApiLevelWrapper(newLevelWrapper); }
}
}