minecraft {
version = project.mcVersion
- mappings = 'snapshot_20190624'
+ mappings = 'snapshot_20200119'
runDir = 'run'
tweakClass = 'com.irtimaled.bbor.launch.ClientTweaker'
makeObfSourceJar = false
name=bbor
buildVersion=2.4
# leave a space to reduce merge conflicts on version change
-mcVersion=1.14.2
+mcVersion=1.14.4
super(fontRenderer, left, top, width, height, "");
this.controlList = controlList;
- this.func_212954_a(text -> this.controlList.filter(removeLeadingSpaces(text.toLowerCase())));
+ this.setResponder(text -> this.controlList.filter(removeLeadingSpaces(text.toLowerCase())));
this.setTextFormatter((text, id) -> removeLeadingSpaces(text));
this.setFocused(true);
}
if (message.startsWith("/bbor:")) {
ClientPlayNetHandler connection = Minecraft.getInstance().getConnection();
if (connection != null) {
- CommandDispatcher<ISuggestionProvider> commandDispatcher = connection.func_195515_i();
+ CommandDispatcher<ISuggestionProvider> commandDispatcher = connection.getCommandDispatcher();
CommandSource commandSource = Minecraft.getInstance().player.getCommandSource();
try {
commandDispatcher.execute(message.substring(1), commandSource);
import com.irtimaled.bbor.client.config.BoundingBoxTypeHelper;
import com.irtimaled.bbor.client.models.BoundingBoxWorldSpawn;
import com.irtimaled.bbor.common.BoundingBoxType;
+import com.irtimaled.bbor.common.MathHelper;
import com.irtimaled.bbor.common.models.Coords;
import com.irtimaled.bbor.common.models.DimensionId;
public static void setWorldSpawn(int spawnX, int spawnZ) {
worldSpawn = getWorldSpawnBoundingBox(spawnX, spawnZ);
- spawnChunks = buildSpawnChunksBoundingBox(spawnX, spawnZ, 12, BoundingBoxType.SpawnChunks);
- lazyChunks = buildSpawnChunksBoundingBox(spawnX, spawnZ, 16, BoundingBoxType.LazySpawnChunks);
+ spawnChunks = buildSpawnChunksBoundingBox(spawnX, spawnZ, 19, BoundingBoxType.SpawnChunks);
+ lazyChunks = buildSpawnChunksBoundingBox(spawnX, spawnZ, 21, BoundingBoxType.LazySpawnChunks);
}
public void clearCache() {
}
private static BoundingBoxWorldSpawn buildSpawnChunksBoundingBox(int spawnX, int spawnZ, int size, BoundingBoxType type) {
- double midOffset = CHUNK_SIZE * (size / 2.0);
- double midX = Math.round((float) (spawnX / CHUNK_SIZE)) * CHUNK_SIZE;
- double midZ = Math.round((float) (spawnZ / CHUNK_SIZE)) * CHUNK_SIZE;
- Coords maxCoords = new Coords(midX + midOffset, 0, midZ + midOffset);
- if ((spawnX / CHUNK_SIZE) % 1.0D == 0.5D) {
- midX -= CHUNK_SIZE;
- }
- if ((spawnZ / CHUNK_SIZE) % 1.0D == 0.5D) {
- midZ -= CHUNK_SIZE;
- }
- Coords minCoords = new Coords(midX - midOffset, 0, midZ - midOffset);
+ int spawnChunkX = MathHelper.floor(spawnX / CHUNK_SIZE);
+ int spawnChunkZ = MathHelper.floor(spawnZ / CHUNK_SIZE);
+ int midOffset = ((size - 1) / 2);
+
+ int minX = spawnChunkX - midOffset;
+ int maxX = spawnChunkX + midOffset;
+ int minZ = spawnChunkZ - midOffset;
+ int maxZ = spawnChunkZ + midOffset;
+
+
+ Coords maxCoords = new Coords(minX * CHUNK_SIZE, 0, minZ * CHUNK_SIZE);
+ Coords minCoords = new Coords(16 + (maxX * CHUNK_SIZE), 0, 16 + (maxZ * CHUNK_SIZE));
return new BoundingBoxWorldSpawn(minCoords, maxCoords, type);
}
package com.irtimaled.bbor.common.events;
import com.irtimaled.bbor.common.models.DimensionId;
-import net.minecraft.world.ServerWorld;
+import net.minecraft.world.server.ServerWorld;
import net.minecraft.world.storage.WorldInfo;
public class WorldLoaded {
import net.minecraft.entity.player.ServerPlayerEntity;
import net.minecraft.network.NetworkManager;
import net.minecraft.network.play.ServerPlayNetHandler;
-import net.minecraft.world.ServerWorld;
import net.minecraft.world.chunk.Chunk;
import net.minecraft.world.gen.feature.structure.StructureStart;
+import net.minecraft.world.server.ServerWorld;
import java.util.Collection;
import java.util.Map;
}
public static DimensionId OVERWORLD = DimensionId.from(DimensionType.OVERWORLD);
- public static DimensionId NETHER = DimensionId.from(DimensionType.NETHER);
+ public static DimensionId NETHER = DimensionId.from(DimensionType.THE_NETHER);
private final ResourceLocation value;
@Inject(method = "processPacket", at = @At("RETURN"))
private void processPacket(IClientPlayNetHandler netHandlerPlayClient, CallbackInfo ci) {
TypeHelper.doIfType(netHandlerPlayClient, ClientPlayNetHandler.class, handler ->
- ClientInterop.registerClientCommands(handler.func_195515_i()));
+ ClientInterop.registerClientCommands(handler.getCommandDispatcher())
+ );
}
}
import com.irtimaled.bbor.common.interop.CommonInterop;
import net.minecraft.server.MinecraftServer;
-import net.minecraft.world.ServerWorld;
import net.minecraft.world.dimension.DimensionType;
+import net.minecraft.world.server.ServerWorld;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
@Final
private Map<DimensionType, ServerWorld> worlds;
- @Inject(method = "func_213186_a", at = @At("HEAD"))
+ @Inject(method = "loadInitialChunks", at = @At("HEAD"))
private void initialWorldChunkLoad(CallbackInfo ci) {
CommonInterop.loadWorlds(worlds.values());
}
private static final ThrowableConsumer<URL> addURL;
static {
+ VANILLA_SERVER_JARS.put("1.14.4", "https://launcher.mojang.com/v1/objects/3dc3d84a581f14691199cf6831b71ed1296a9fdf/server.jar");
VANILLA_SERVER_JARS.put("1.14.2", "https://launcher.mojang.com/v1/objects/808be3869e2ca6b62378f9f4b33c946621620019/server.jar");
VANILLA_SERVER_JARS.put("1.13.2", "https://launcher.mojang.com/v1/objects/3737db93722a9e39eeada7c27e7aca28b144ffa7/server.jar");