active = !active;
if (!active) return;
- PlayerCoords.setActiveY();
+ Player.setActiveY();
}
static void deactivate() {
private static boolean isWithinRenderDistance(AbstractBoundingBox boundingBox) {
int renderDistanceBlocks = ClientInterop.getRenderDistanceChunks() * CHUNK_SIZE;
- int minX = MathHelper.floor(PlayerCoords.getX() - renderDistanceBlocks);
- int maxX = MathHelper.floor(PlayerCoords.getX() + renderDistanceBlocks);
- int minZ = MathHelper.floor(PlayerCoords.getZ() - renderDistanceBlocks);
- int maxZ = MathHelper.floor(PlayerCoords.getZ() + renderDistanceBlocks);
+ int minX = MathHelper.floor(Player.getX() - renderDistanceBlocks);
+ int maxX = MathHelper.floor(Player.getX() + renderDistanceBlocks);
+ int minZ = MathHelper.floor(Player.getZ() - renderDistanceBlocks);
+ int maxZ = MathHelper.floor(Player.getZ() + renderDistanceBlocks);
return boundingBox.intersectsBounds(minX, minZ, maxX, maxZ);
}
--- /dev/null
+package com.irtimaled.bbor.client;
+
+import com.irtimaled.bbor.common.models.Coords;
+import net.minecraft.entity.player.EntityPlayer;
+
+public class Player {
+ private static double x;
+ private static double y;
+ private static double z;
+ private static double activeY;
+ private static int dimensionId;
+
+ public static void setPosition(double partialTicks, EntityPlayer player) {
+ x = player.lastTickPosX + (player.posX - player.lastTickPosX) * partialTicks;
+ y = player.lastTickPosY + (player.posY - player.lastTickPosY) * partialTicks;
+ z = player.lastTickPosZ + (player.posZ - player.lastTickPosZ) * partialTicks;
+ dimensionId = player.dimension.getId();
+ }
+
+ static void setActiveY() {
+ activeY = y;
+ }
+
+ public static double getX() {
+ return x;
+ }
+
+ public static double getY() {
+ return y;
+ }
+
+ public static double getZ() {
+ return z;
+ }
+
+ public static double getMaxY(double configMaxY) {
+ if (configMaxY == -1) {
+ return activeY;
+ }
+ if (configMaxY == 0) {
+ return y;
+ }
+ return configMaxY;
+ }
+
+ public static int getDimensionId() {
+ return dimensionId;
+ }
+
+ public static Coords getCoords() {
+ return new Coords(x, y, z);
+ }
+}
+++ /dev/null
-package com.irtimaled.bbor.client;
-
-import com.irtimaled.bbor.common.models.Coords;
-import net.minecraft.entity.player.EntityPlayer;
-
-public class PlayerCoords {
- private static double x;
- private static double y;
- private static double z;
- private static double activeY;
- private static int dimensionId;
-
- public static void setPlayerPosition(double partialTicks, EntityPlayer entityPlayer) {
- x = entityPlayer.lastTickPosX + (entityPlayer.posX - entityPlayer.lastTickPosX) * partialTicks;
- y = entityPlayer.lastTickPosY + (entityPlayer.posY - entityPlayer.lastTickPosY) * partialTicks;
- z = entityPlayer.lastTickPosZ + (entityPlayer.posZ - entityPlayer.lastTickPosZ) * partialTicks;
- dimensionId = entityPlayer.dimension.getId();
- }
-
- static void setActiveY() {
- activeY = y;
- }
-
- public static double getX() {
- return x;
- }
-
- public static double getY() {
- return y;
- }
-
- public static double getZ() {
- return z;
- }
-
- public static double getMaxY(double configMaxY) {
- if (configMaxY == -1) {
- return activeY;
- }
- if (configMaxY == 0) {
- return y;
- }
- return configMaxY;
- }
-
- public static int getDimensionId() {
- return dimensionId;
- }
-
- public static Coords get() {
- return new Coords(x, y, z);
- }
-}
package com.irtimaled.bbor.client.commands;
-import com.irtimaled.bbor.client.PlayerCoords;
import com.irtimaled.bbor.client.interop.ClientInterop;
import com.irtimaled.bbor.client.providers.BeaconProvider;
import com.irtimaled.bbor.common.TypeHelper;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityBeacon;
import net.minecraft.util.math.BlockPos;
-import net.minecraft.util.math.Vec3i;
import net.minecraft.util.text.TextComponentString;
import net.minecraft.util.text.TextComponentTranslation;
return 0;
}))
.executes(context -> {
- BlockPos pos = new BlockPos(PlayerCoords.getX(), PlayerCoords.getY() - 1, PlayerCoords.getZ());
+ BlockPos pos = new BlockPos(context.getSource().getPos());
AddValidBeacon(context, pos);
return 0;
}))
TileEntity tileEntity = Minecraft.getInstance().world.getTileEntity(pos);
TileEntityBeacon beacon = TypeHelper.as(tileEntity, TileEntityBeacon.class);
if(beacon == null) {
- Vec3i playerPosition = new Vec3i(PlayerCoords.getX(), PlayerCoords.getY(), PlayerCoords.getZ());
+ BlockPos playerPosition = new BlockPos(context.getSource().getPos());
if (pos.getDistance(playerPosition) > ClientInterop.getRenderDistanceChunks()*16) {
throw POS_UNLOADED.create();
}
package com.irtimaled.bbor.client.commands;
-import com.irtimaled.bbor.client.PlayerCoords;
import com.irtimaled.bbor.client.providers.SpawningSphereProvider;
import com.mojang.brigadier.CommandDispatcher;
import com.mojang.brigadier.builder.LiteralArgumentBuilder;
return 0;
}))
.executes(context -> {
- SpawningSphereProvider.setSphere(PlayerCoords.getX(), PlayerCoords.getY(), PlayerCoords.getZ());
+ Vec3d pos = context.getSource().getPos();
+ SpawningSphereProvider.setSphere(pos.x, pos.y, pos.z);
CommandHelper.feedback(context, "Spawning sphere set");
return 0;
package com.irtimaled.bbor.client.interop;
import com.irtimaled.bbor.client.ClientRenderer;
-import com.irtimaled.bbor.client.PlayerCoords;
+import com.irtimaled.bbor.client.Player;
import com.irtimaled.bbor.client.commands.BeaconCommand;
import com.irtimaled.bbor.client.commands.BoxCommand;
import com.irtimaled.bbor.client.commands.SeedCommand;
}
public static void render(float partialTicks, EntityPlayerSP player) {
- PlayerCoords.setPlayerPosition(partialTicks, player);
+ Player.setPosition(partialTicks, player);
ClientRenderer.render(player.dimension.getId());
}
package com.irtimaled.bbor.client.providers;
-import com.irtimaled.bbor.client.PlayerCoords;
+import com.irtimaled.bbor.client.Player;
import com.irtimaled.bbor.common.Dimensions;
import com.irtimaled.bbor.common.models.BoundingBoxBeacon;
import com.irtimaled.bbor.common.models.Coords;
}
public static void add(Coords coords, int level) {
- int dimensionId = PlayerCoords.getDimensionId();
+ int dimensionId = Player.getDimensionId();
BoundingBoxBeacon beacon = BoundingBoxBeacon.from(coords, level);
getCache(dimensionId).put(coords, beacon);
}
public static boolean remove(Coords coords) {
- int dimensionId = PlayerCoords.getDimensionId();
+ int dimensionId = Player.getDimensionId();
return getCache(dimensionId).remove(coords) != null;
}
package com.irtimaled.bbor.client.providers;
-import com.irtimaled.bbor.client.PlayerCoords;
+import com.irtimaled.bbor.client.Player;
import com.irtimaled.bbor.client.interop.BiomeBorderHelper;
import com.irtimaled.bbor.common.BoundingBoxType;
import com.irtimaled.bbor.common.MathHelper;
if (!BoundingBoxType.BiomeBorder.shouldRender())
return Iterators.empty();
- Coords playerCoords = PlayerCoords.get();
+ Coords playerCoords = Player.getCoords();
Integer renderDistance = ConfigManager.biomeBordersRenderDistance.get();
Boolean renderAllTransitions = !ConfigManager.renderOnlyCurrentBiome.get();
if (!playerCoords.equals(lastPlayerCoords) || !renderDistance.equals(lastRenderDistance) || renderAllTransitions != lastRenderAllTransitions) {
package com.irtimaled.bbor.client.providers;
import com.irtimaled.bbor.client.GetCache;
-import com.irtimaled.bbor.client.PlayerCoords;
+import com.irtimaled.bbor.client.Player;
import com.irtimaled.bbor.client.interop.ClientInterop;
import com.irtimaled.bbor.common.BoundingBoxCache;
import com.irtimaled.bbor.common.MathHelper;
private static boolean isWithinRenderDistance(AbstractBoundingBox boundingBox) {
int renderDistanceBlocks = ClientInterop.getRenderDistanceChunks() * CHUNK_SIZE;
- int minX = MathHelper.floor(PlayerCoords.getX() - renderDistanceBlocks);
- int maxX = MathHelper.floor(PlayerCoords.getX() + renderDistanceBlocks);
- int minZ = MathHelper.floor(PlayerCoords.getZ() - renderDistanceBlocks);
- int maxZ = MathHelper.floor(PlayerCoords.getZ() + renderDistanceBlocks);
+ int minX = MathHelper.floor(Player.getX() - renderDistanceBlocks);
+ int maxX = MathHelper.floor(Player.getX() + renderDistanceBlocks);
+ int minZ = MathHelper.floor(Player.getZ() - renderDistanceBlocks);
+ int maxZ = MathHelper.floor(Player.getZ() + renderDistanceBlocks);
return boundingBox.intersectsBounds(minX, minZ, maxX, maxZ);
}
package com.irtimaled.bbor.client.providers;
-import com.irtimaled.bbor.client.PlayerCoords;
+import com.irtimaled.bbor.client.Player;
import com.irtimaled.bbor.common.BoundingBoxType;
import com.irtimaled.bbor.common.Dimensions;
import com.irtimaled.bbor.common.models.BoundingBoxCuboid;
}
public static void add(Coords minCoords, Coords maxCoords) {
- int dimensionId = PlayerCoords.getDimensionId();
+ int dimensionId = Player.getDimensionId();
int cacheKey = getHashKey(minCoords, maxCoords);
BoundingBoxCuboid cuboid = BoundingBoxCuboid.from(minCoords, maxCoords, BoundingBoxType.Custom);
getCache(dimensionId).put(cacheKey, cuboid);
}
public static boolean remove(Coords minCoords, Coords maxCoords) {
- int dimensionId = PlayerCoords.getDimensionId();
+ int dimensionId = Player.getDimensionId();
int cacheKey = getHashKey(minCoords, maxCoords);
return getCache(dimensionId).remove(cacheKey) != null;
}
package com.irtimaled.bbor.client.providers;
-import com.irtimaled.bbor.client.PlayerCoords;
+import com.irtimaled.bbor.client.Player;
import com.irtimaled.bbor.client.interop.ClientInterop;
import com.irtimaled.bbor.common.BoundingBoxType;
import com.irtimaled.bbor.common.Dimensions;
Set<BoundingBoxSlimeChunk> slimeChunks = new HashSet<>();
int renderDistanceChunks = ClientInterop.getRenderDistanceChunks();
- int playerChunkX = MathHelper.floor(PlayerCoords.getX() / CHUNK_SIZE);
- int playerChunkZ = MathHelper.floor(PlayerCoords.getZ() / CHUNK_SIZE);
+ int playerChunkX = MathHelper.floor(Player.getX() / CHUNK_SIZE);
+ int playerChunkZ = MathHelper.floor(Player.getZ() / CHUNK_SIZE);
for (int chunkX = playerChunkX - renderDistanceChunks; chunkX <= playerChunkX + renderDistanceChunks; ++chunkX) {
for (int chunkZ = playerChunkZ - renderDistanceChunks; chunkZ <= playerChunkZ + renderDistanceChunks; ++chunkZ) {
if (isSlimeChunk(chunkX, chunkZ)) {
package com.irtimaled.bbor.client.providers;
-import com.irtimaled.bbor.client.PlayerCoords;
+import com.irtimaled.bbor.client.Player;
import com.irtimaled.bbor.client.interop.SpawningSphereHelper;
import com.irtimaled.bbor.client.models.Point;
import com.irtimaled.bbor.common.MathHelper;
}
clear();
- dimensionId = PlayerCoords.getDimensionId();
+ dimensionId = Player.getDimensionId();
spawningSphere = new BoundingBoxSpawningSphere(coords, xOffset, yOffset, zOffset);
}
package com.irtimaled.bbor.client.renderers;
-import com.irtimaled.bbor.client.PlayerCoords;
+import com.irtimaled.bbor.client.Player;
import com.irtimaled.bbor.common.models.BoundingBoxMobSpawner;
import com.irtimaled.bbor.common.models.Colors;
import com.irtimaled.bbor.common.models.Coords;
}
private void renderActivationLine(OffsetPoint centerPoint) {
- OffsetPoint playerPos = new OffsetPoint(PlayerCoords.getX(), PlayerCoords.getY(), PlayerCoords.getZ());
+ OffsetPoint playerPos = new OffsetPoint(Player.getX(), Player.getY(), Player.getZ());
double distance = centerPoint.getDistance(playerPos);
if (distance <= 20) {
Color color = distance > 18 ? Color.RED : distance > 16 ? Colors.DARK_ORANGE : Color.GREEN;
package com.irtimaled.bbor.client.renderers;
-import com.irtimaled.bbor.client.PlayerCoords;
+import com.irtimaled.bbor.client.Player;
import com.irtimaled.bbor.client.models.Point;
import com.irtimaled.bbor.common.models.Coords;
}
double getX() {
- return point.getX() - PlayerCoords.getX();
+ return point.getX() - Player.getX();
}
double getY() {
- return point.getY() - PlayerCoords.getY();
+ return point.getY() - Player.getY();
}
double getZ() {
- return point.getZ() - PlayerCoords.getZ();
+ return point.getZ() - Player.getZ();
}
OffsetPoint offset(double x, double y, double z) {
package com.irtimaled.bbor.client.renderers;
-import com.irtimaled.bbor.client.PlayerCoords;
+import com.irtimaled.bbor.client.Player;
import com.irtimaled.bbor.common.models.BoundingBoxSlimeChunk;
import com.irtimaled.bbor.config.ConfigManager;
Color color = boundingBox.getColor();
renderCuboid(bb, color);
- double maxY = PlayerCoords.getMaxY(ConfigManager.slimeChunkMaxY.get());
+ double maxY = Player.getMaxY(ConfigManager.slimeChunkMaxY.get());
double dY = maxY - 39;
if (dY > 0) {
OffsetPoint min = bb.getMin().offset(0, 38, 0);
package com.irtimaled.bbor.client.renderers;
-import com.irtimaled.bbor.client.PlayerCoords;
+import com.irtimaled.bbor.client.Player;
import com.irtimaled.bbor.client.interop.SpawningSphereHelper;
import com.irtimaled.bbor.common.MathHelper;
import com.irtimaled.bbor.common.models.BoundingBoxSpawningSphere;
int width = MathHelper.floor(Math.pow(2, 2 + renderDistance));
int height = MathHelper.floor(Math.pow(2, renderDistance));
- SpawningSphereHelper.findSpawnableSpaces(center.getPoint(), PlayerCoords.get(), width, height,
+ SpawningSphereHelper.findSpawnableSpaces(center.getPoint(), Player.getCoords(), width, height,
(x, y, z) -> {
OffsetBox offsetBox = new OffsetBox(x, y, z, x + 1, y, z + 1);
renderCuboid(offsetBox, Color.RED);
package com.irtimaled.bbor.client.renderers;
-import com.irtimaled.bbor.client.PlayerCoords;
+import com.irtimaled.bbor.client.Player;
import com.irtimaled.bbor.common.models.BoundingBoxWorldSpawn;
import com.irtimaled.bbor.common.models.Coords;
import com.irtimaled.bbor.config.ConfigManager;
Coords minCoords = boundingBox.getMinCoords();
Coords maxCoords = boundingBox.getMaxCoords();
- double y = PlayerCoords.getMaxY(ConfigManager.worldSpawnMaxY.get());
+ double y = Player.getMaxY(ConfigManager.worldSpawnMaxY.get());
OffsetBox offsetBox = new OffsetBox(minCoords.getX(), y, minCoords.getZ(), maxCoords.getX(), y, maxCoords.getZ());
renderOutlinedCuboid(offsetBox.nudge(), color);