@Override public void putBiomeTile(World world, int atlasID, int biomeID, int chunkX, int chunkZ) { int dimension = world.provider.getDimension(); PutBiomeTilePacket packet = new PutBiomeTilePacket(atlasID, dimension, chunkX, chunkZ, biomeID); if (world.isRemote) { PacketDispatcher.sendToServer(packet); } else { AtlasData data = AntiqueAtlasMod.atlasData.getAtlasData(atlasID, world); Tile tile = new Tile(biomeID); data.setTile(dimension, chunkX, chunkZ, tile); for (EntityPlayer syncedPlayer : data.getSyncedPlayers()) { PacketDispatcher.sendTo(new PutBiomeTilePacket(atlasID, dimension, chunkX, chunkZ, biomeID), (EntityPlayerMP)syncedPlayer); } } }
} else if (oldTile.biomeID != biomeId) { this.setTile(player.dimension, x, z, new Tile(biomeId)); updatedTiles.add(new TileInfo(x, z, biomeId)); this.setTile(player.dimension, x, z, new Tile(biomeId)); updatedTiles.add(new TileInfo(x, z, biomeId)); this.setTile(player.dimension, x, z, new Tile(biomeId)); updatedTiles.add(new TileInfo(x, z, biomeId)); this.markDirty();
@Override protected void process(EntityPlayer player, Side side) { if (side.isServer()) { // Make sure it's this player's atlas :^) if (SettingsConfig.gameplay.itemNeeded && !player.inventory.hasItemStack(new ItemStack(RegistrarAntiqueAtlas.ATLAS, 1, atlasID))) { Log.warn("Player %s attempted to modify someone else's Atlas #%d", player.getGameProfile().getName(), atlasID); return; } AtlasAPI.tiles.putBiomeTile(player.getEntityWorld(), atlasID, biomeID, x, z); } else { AtlasData data = AntiqueAtlasMod.atlasData.getAtlasData(atlasID, player.getEntityWorld()); data.setTile(dimension, x, z, new Tile(biomeID)); } }