Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added generate lakes toggle #40

Closed
wants to merge 17 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,44 @@ build/
*.iml
dependency-reduced-pom.xml
.DS_Store
.metadata/version.ini
.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml
.metadata/.plugins/org.eclipse.ui.intro/introstate
.metadata/.plugins/org.eclipse.tips.ide/dialog_settings.xml
.metadata/.plugins/org.eclipse.oomph.setup/workspace.setup
.metadata/.plugins/org.eclipse.mylyn.github.ui/avatars.ser
.metadata/.plugins/org.eclipse.m2e.logback/logback.2.6.1.20240411-1122.xml
.metadata/.plugins/org.eclipse.m2e.logback/0.log
.metadata/.plugins/org.eclipse.m2e.core/workspaceState.ser
.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml
.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml
.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml
.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat
.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache
.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt
.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache
.metadata/.plugins/org.eclipse.jdt.core/assumedExternalFilesCache
.metadata/.plugins/org.eclipse.egit.core/.org.eclipse.egit.core.cmp/.settings/org.eclipse.core.resources.prefs
.metadata/.plugins/org.eclipse.egit.core/.org.eclipse.egit.core.cmp/.project
.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi
.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs
.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs
.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs
.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.tasks.ui.prefs
.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs
.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs
.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.m2e.discovery.prefs
.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jsch.core.prefs
.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs
.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs
.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources
.metadata/.plugins/org.eclipse.core.resources/.root/1.tree
.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version
.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index
.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version
.metadata/.plugins/org.eclipse.core.resources/.projects/.org.eclipse.egit.core.cmp/.location
.metadata/.mylyn/repositories.xml.zip
.metadata/.mylyn/.taskListIndex/write.lock
.metadata/.mylyn/.taskListIndex/segments_1
.metadata/.log
.metadata/.lock
70 changes: 69 additions & 1 deletion src/main/java/com/legacyminecraft/poseidon/PoseidonConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -175,8 +175,76 @@ private void write() {
generateConfigOption("settings.check-username-validity.regex", "[a-zA-Z0-9_?]*");
generateConfigOption("settings.check-username-validity.max-length", 16);
generateConfigOption("settings.check-username-validity.min-length", 3);

generateConfigOption("settings.exempt-staff-from-flight-kick", false);

// Uberbukkit settings
generateConfigOption("version.worldgen.cocoabeans_loot", true);
generateConfigOption("version.worldgen.pre_b1_2_ore_generation", false);
generateConfigOption("version.worldgen.pre_b1_2_tree_generation", false);
generateConfigOption("version.worldgen.generate_sandstone", true);
generateConfigOption("version.worldgen.biomes.generate_spruces", true);
generateConfigOption("version.worldgen.biomes.generate_birches", true);
generateConfigOption("version.worldgen.generate_steveco_chests", false);
generateConfigOption("version.worldgen.generate_lapis_ores", true);
generateConfigOption("version.worldgen.generate_tallgrass", true);
generateConfigOption("version.worldgen.ores.world.custom_seed", false);
generateConfigOption("version.worldgen.ores.world.seed", 0L);
generateConfigOption("version.worldgen.generate_lakes", true);

generateConfigOption("version.mechanics.tile_grass_drop_seeds", false);
generateConfigOption("version.mechanics.flammable_fences_stairs", true);
generateConfigOption("version.mechanics.glowstone_pre1_6_6", false);
generateConfigOption("version.mechanics.wool_recipe_pre1_6_6", false);
generateConfigOption("version.mechanics.allow_grow_tallgrass", true);
generateConfigOption("version.mechanics.allow_1_7_fence_placement", true);
generateConfigOption("version.mechanics.tnt_require_lighter", true);
generateConfigOption("version.mechanics.sheep_drop_wool_on_punch", false);
generateConfigOption("version.mechanics.mushroom_spread", true);
generateConfigOption("version.mechanics.ice_generate_only_when_snowing", false);
generateConfigOption("version.mechanics.pre_1_6_fire", false);
generateConfigOption("version.mechanics.nether_bed_explode", true);
generateConfigOption("version.mechanics.arrows_pickup_by_others", true);
generateConfigOption("version.mechanics.allow_minecart_boosters", false);
generateConfigOption("version.mechanics.spawn_squids", true);
generateConfigOption("version.mechanics.spawn_wolves", true);
generateConfigOption("version.mechanics.spawn_slimes", true);
generateConfigOption("version.mechanics.do_weather", true);
generateConfigOption("version.mechanics.allow_ladder_gap", false);
generateConfigOption("version.mechanics.old_slab_recipe", false);
generateConfigOption("version.mechanics.burning_pig_drop_cooked_meat", true);
generateConfigOption("version.mechanics.spawn_sheep_with_shades_of_black", true);
generateConfigOption("version.mechanics.spawn_brown_and_pink_sheep", true);
generateConfigOption("version.mechanics.drop_saplings_of_leaf_type", true);
generateConfigOption("version.mechanics.spiders_trample_crops", false);
generateConfigOption("version.mechanics.spiders_climb_walls", true);
generateConfigOption("version.mechanics.allow_blocks_at_y_127", false);
generateConfigOption("version.mechanics.drop_lapis_as_b1_2", false);
generateConfigOption("version.mechanics.allow_milking_squids", false);
generateConfigOption("version.mechanics.pre_b1_6_block_opacity", false);
generateConfigOption("version.mechanics.pre_b1_5_pumpkins", false);
generateConfigOption("version.mechanics.allow_bone_meal_on_grass", true);
generateConfigOption("version.mechanics.beds_pre_b1_6_5", false);
generateConfigOption("version.mechanics.pre_b1_5_block_placement_rules", false);
generateConfigOption("version.mechanics.trample_farmland_above_fence", false);
generateConfigOption("version.mechanics.seeds_replace_blocks", false);

generateConfigOption("version.mechanics.boats.drop_boat_not_wood", false);
generateConfigOption("version.mechanics.boats.break_boat_on_collision", true);

generateConfigOption("version.experimental.force_fix_chunk_coords_corruption", false);
generateConfigOption("version.allow_join.protocol", "14");
generateConfigOption("version.allow_join.info", "Specify client versions to accept (separated by commas - first PVN is treated as target PVN of the server)");
generateConfigOption("version.allow_join.pvns_of_versions", "6 - a1.2.3_05 to a1.2.6; 7 - b1.0 to b1.1_02; 8 - b1.2 to b1.2_02; 9 - b1.3(_01); 10 - b1.4(_01); 11 - b1.5(_01); 12 - b1.6_test_build_3; 13 - b1.6 to b1.6.6, 14 - b1.7 to b1.7.3");
generateConfigOption("version.mechanics.beds_set_spawnpoint", true);

generateConfigOption("fix.illegal-container-interaction.info", "Prevents interactions in a container if the player is farther away than the max distance.");
generateConfigOption("fix.illegal-container-interaction.max-distance", 4);
generateConfigOption("fix.illegal-container-interaction.log-violation", false);

generateConfigOption("emergency.debug.regenerate-corrupt-chunks.enable", false);
generateConfigOption("emergency.debug.regenerate-corrupt-chunks.info", "This setting allows you to automatically regenerate corrupt chunks. This is useful after a ungraceful shutdown while a file is being written to or out of memory exception.");
generateConfigOption("version.uberclient.alphamode", false);

generateConfigOption("settings.update-checker.enabled", true);
generateConfigOption("settings.update-checker.info", "This setting allows you to disable the update checker. This is useful if you have a custom build of Poseidon or don't want to be notified of updates.");
Expand Down Expand Up @@ -363,4 +431,4 @@ public synchronized static PoseidonConfig getInstance() {
return PoseidonConfig.singleton;
}

}
}
28 changes: 16 additions & 12 deletions src/main/java/net/minecraft/server/ChunkProviderGenerate.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import java.util.Random;

import uk.betacraft.uberbukkit.UberbukkitConfig;
import com.legacyminecraft.poseidon.PoseidonConfig;

public class ChunkProviderGenerate implements IChunkProvider {

Expand Down Expand Up @@ -340,19 +341,22 @@ public void getChunkAt(IChunkProvider ichunkprovider, int i, int j) {
int l1;
int i2;

if (this.j.nextInt(4) == 0) {
k1 = k + this.j.nextInt(16) + 8;
l1 = this.j.nextInt(128);
i2 = l + this.j.nextInt(16) + 8;
(new WorldGenLakes(Block.STATIONARY_WATER.id)).a(this.p, this.j, k1, l1, i2);
}
// uberbukkit
if (PoseidonConfig.getInstance().getBoolean("version.worldgen.generate_lakes", true)) {
if (this.j.nextInt(4) == 0) {
k1 = k + this.j.nextInt(16) + 8;
l1 = this.j.nextInt(128);
i2 = l + this.j.nextInt(16) + 8;
(new WorldGenLakes(Block.STATIONARY_WATER.id)).a(this.p, this.j, k1, l1, i2);
}

if (this.j.nextInt(8) == 0) {
k1 = k + this.j.nextInt(16) + 8;
l1 = this.j.nextInt(this.j.nextInt(120) + 8);
i2 = l + this.j.nextInt(16) + 8;
if (l1 < 64 || this.j.nextInt(10) == 0) {
(new WorldGenLakes(Block.STATIONARY_LAVA.id)).a(this.p, this.j, k1, l1, i2);
if (this.j.nextInt(8) == 0) {
k1 = k + this.j.nextInt(16) + 8;
l1 = this.j.nextInt(this.j.nextInt(120) + 8);
i2 = l + this.j.nextInt(16) + 8;
if (l1 < 64 || this.j.nextInt(10) == 0) {
(new WorldGenLakes(Block.STATIONARY_LAVA.id)).a(this.p, this.j, k1, l1, i2);
}
}
}

Expand Down
10 changes: 7 additions & 3 deletions src/main/java/uk/betacraft/uberbukkit/Uberbukkit.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import net.minecraft.server.MinecraftServer;
import org.bukkit.Bukkit;
import uk.betacraft.uberbukkit.protocol.Protocol;
import com.legacyminecraft.poseidon.PoseidonConfig;

import java.util.LinkedList;
import java.util.List;
Expand All @@ -14,17 +15,20 @@ public class Uberbukkit {
private static List<Integer> pvns = null;

public static int getTargetPVN() {
if (pvn != null) return pvn;
// If cached, apply the special case only if Alpha Mode is enabled
if (pvn != null) {
return (pvn == 2000 && PoseidonConfig.getInstance().getBoolean("version.uberclient.alphamode", false)) ? 6 : pvn;
}

String pvnstr = UberbukkitConfig.getInstance().getString("client.allowed_protocols.value", "14");

// separate target version from other allowed PVNs
// Separate target version from other allowed PVNs
int commaIndex = pvnstr.indexOf(",");
if (commaIndex != -1) {
pvnstr = pvnstr.substring(0, commaIndex);
}

pvn = 14;
pvn = 14; // Default PVN

try {
pvn = Integer.parseInt(pvnstr);
Expand Down