Skip to content

Commit 2db8d96

Browse files
committed
Clean up duplication and prevent warning spam on 1.21.5+
1 parent 0e81e8d commit 2db8d96

File tree

11 files changed

+1474
-220
lines changed

11 files changed

+1474
-220
lines changed

worldedit-bukkit/adapters/adapter-1_20_2/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v1_20_R2/PaperweightFaweAdapter.java

Lines changed: 17 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -574,18 +574,17 @@ protected ServerLevel getServerLevel(final World world) {
574574
@Override
575575
public boolean generateFeature(ConfiguredFeatureType feature, World world, EditSession editSession, BlockVector3 pt) {
576576
//FAWE start
577-
ServerLevel serverLevel = ((CraftWorld) world).getHandle();
577+
ServerLevel serverLevel = getServerLevel(world);
578578
ChunkGenerator generator = serverLevel.getMinecraftWorld().getChunkSource().getGenerator();
579579

580580
ConfiguredFeature<?, ?> configuredFeature = serverLevel
581581
.registryAccess()
582582
.registryOrThrow(Registries.CONFIGURED_FEATURE)
583583
.get(ResourceLocation.tryParse(feature.id()));
584-
FaweBlockStateListPopulator populator = new FaweBlockStateListPopulator(serverLevel);
585584

586-
Map<BlockPos, CraftBlockState> placed = TaskManager.taskManager().sync(() -> {
587-
serverLevel.captureTreeGeneration = true;
588-
serverLevel.captureBlockStates = true;
585+
FaweBlockStateListPopulator populator = new FaweBlockStateListPopulator(serverLevel);
586+
List<CraftBlockState> placed = TaskManager.taskManager().sync(() -> {
587+
preCaptureStates(serverLevel);
589588
try {
590589
if (!configuredFeature.place(
591590
populator,
@@ -595,16 +594,11 @@ public boolean generateFeature(ConfiguredFeatureType feature, World world, EditS
595594
)) {
596595
return null;
597596
}
598-
Map<BlockPos, CraftBlockState> placedBlocks = populator.getList().stream().collect(Collectors.toMap(
599-
CraftBlockState::getPosition,
600-
craftBlockState -> craftBlockState
601-
));
602-
placedBlocks.putAll(serverLevel.capturedBlockStates);
597+
List<CraftBlockState> placedBlocks = new ArrayList<>(populator.getList());
598+
placedBlocks.addAll(serverLevel.capturedBlockStates.values());
603599
return placedBlocks;
604600
} finally {
605-
serverLevel.captureBlockStates = false;
606-
serverLevel.captureTreeGeneration = false;
607-
serverLevel.capturedBlockStates.clear();
601+
postCaptureBlockStates(serverLevel);
608602
}
609603
});
610604

@@ -614,7 +608,7 @@ public boolean generateFeature(ConfiguredFeatureType feature, World world, EditS
614608

615609
@Override
616610
public boolean generateStructure(StructureType type, World world, EditSession editSession, BlockVector3 pt) {
617-
ServerLevel serverLevel = ((CraftWorld) world).getHandle();
611+
ServerLevel serverLevel = getServerLevel(world);
618612
Structure k = serverLevel
619613
.registryAccess()
620614
.registryOrThrow(Registries.STRUCTURE)
@@ -629,9 +623,8 @@ public boolean generateStructure(StructureType type, World world, EditSession ed
629623

630624
//FAWE start
631625
FaweBlockStateListPopulator populator = new FaweBlockStateListPopulator(serverLevel);
632-
Map<BlockPos, CraftBlockState> placed = TaskManager.taskManager().sync(() -> {
633-
serverLevel.captureTreeGeneration = true;
634-
serverLevel.captureBlockStates = true;
626+
List<CraftBlockState> placed = TaskManager.taskManager().sync(() -> {
627+
preCaptureStates(serverLevel);
635628
try {
636629
StructureStart structureStart = k.generate(
637630
serverLevel.registryAccess(),
@@ -672,17 +665,12 @@ public boolean generateStructure(StructureType type, World world, EditSession ed
672665
),
673666
chunkPosx
674667
));
675-
Map<BlockPos, CraftBlockState> placedBlocks = populator.getList().stream().collect(Collectors.toMap(
676-
CraftBlockState::getPosition,
677-
craftBlockState -> craftBlockState
678-
));
679-
placedBlocks.putAll(serverLevel.capturedBlockStates);
668+
List<CraftBlockState> placedBlocks = new ArrayList<>(populator.getList());
669+
placedBlocks.addAll(serverLevel.capturedBlockStates.values());
680670
return placedBlocks;
681671
}
682672
} finally {
683-
serverLevel.captureBlockStates = false;
684-
serverLevel.captureTreeGeneration = false;
685-
serverLevel.capturedBlockStates.clear();
673+
postCaptureBlockStates(serverLevel);
686674
}
687675
});
688676

@@ -693,18 +681,17 @@ public boolean generateStructure(StructureType type, World world, EditSession ed
693681
private boolean placeFeatureIntoSession(
694682
final EditSession editSession,
695683
final FaweBlockStateListPopulator populator,
696-
final Map<BlockPos, CraftBlockState> placed
684+
final List<CraftBlockState> placed
697685
) {
698686
if (placed == null || placed.isEmpty()) {
699687
return false;
700688
}
701689

702-
for (Map.Entry<BlockPos, CraftBlockState> entry : placed.entrySet()) {
703-
CraftBlockState craftBlockState = entry.getValue();
704-
if (entry.getValue() == null) {
690+
for (CraftBlockState craftBlockState : placed) {
691+
if (craftBlockState == null) {
705692
continue;
706693
}
707-
BlockPos pos = entry.getKey();
694+
BlockPos pos = craftBlockState.getPosition();
708695
editSession.setBlock(pos.getX(), pos.getY(), pos.getZ(), BukkitAdapter.adapt(craftBlockState.getBlockData()));
709696
BlockEntity blockEntity = populator.getBlockEntity(pos);
710697
if (blockEntity != null) {

worldedit-bukkit/adapters/adapter-1_20_4/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v1_20_R3/PaperweightFaweAdapter.java

Lines changed: 17 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -572,18 +572,17 @@ protected ServerLevel getServerLevel(final World world) {
572572
@Override
573573
public boolean generateFeature(ConfiguredFeatureType feature, World world, EditSession editSession, BlockVector3 pt) {
574574
//FAWE start
575-
ServerLevel serverLevel = ((CraftWorld) world).getHandle();
575+
ServerLevel serverLevel = getServerLevel(world);
576576
ChunkGenerator generator = serverLevel.getMinecraftWorld().getChunkSource().getGenerator();
577577

578578
ConfiguredFeature<?, ?> configuredFeature = serverLevel
579579
.registryAccess()
580580
.registryOrThrow(Registries.CONFIGURED_FEATURE)
581581
.get(ResourceLocation.tryParse(feature.id()));
582-
FaweBlockStateListPopulator populator = new FaweBlockStateListPopulator(serverLevel);
583582

584-
Map<BlockPos, CraftBlockState> placed = TaskManager.taskManager().sync(() -> {
585-
serverLevel.captureTreeGeneration = true;
586-
serverLevel.captureBlockStates = true;
583+
FaweBlockStateListPopulator populator = new FaweBlockStateListPopulator(serverLevel);
584+
List<CraftBlockState> placed = TaskManager.taskManager().sync(() -> {
585+
preCaptureStates(serverLevel);
587586
try {
588587
if (!configuredFeature.place(
589588
populator,
@@ -594,16 +593,11 @@ public boolean generateFeature(ConfiguredFeatureType feature, World world, EditS
594593

595594
return null;
596595
}
597-
Map<BlockPos, CraftBlockState> placedBlocks = populator.getList().stream().collect(Collectors.toMap(
598-
CraftBlockState::getPosition,
599-
craftBlockState -> craftBlockState
600-
));
601-
placedBlocks.putAll(serverLevel.capturedBlockStates);
596+
List<CraftBlockState> placedBlocks = new ArrayList<>(populator.getList());
597+
placedBlocks.addAll(serverLevel.capturedBlockStates.values());
602598
return placedBlocks;
603599
} finally {
604-
serverLevel.captureBlockStates = false;
605-
serverLevel.captureTreeGeneration = false;
606-
serverLevel.capturedBlockStates.clear();
600+
postCaptureBlockStates(serverLevel);
607601
}
608602
});
609603
return placeFeatureIntoSession(editSession, populator, placed);
@@ -612,7 +606,7 @@ public boolean generateFeature(ConfiguredFeatureType feature, World world, EditS
612606

613607
@Override
614608
public boolean generateStructure(StructureType type, World world, EditSession editSession, BlockVector3 pt) {
615-
ServerLevel serverLevel = ((CraftWorld) world).getHandle();
609+
ServerLevel serverLevel = getServerLevel(world);
616610
Structure k = serverLevel
617611
.registryAccess()
618612
.registryOrThrow(Registries.STRUCTURE)
@@ -627,9 +621,8 @@ public boolean generateStructure(StructureType type, World world, EditSession ed
627621

628622
//FAWE start
629623
FaweBlockStateListPopulator populator = new FaweBlockStateListPopulator(serverLevel);
630-
Map<BlockPos, CraftBlockState> placed = TaskManager.taskManager().sync(() -> {
631-
serverLevel.captureTreeGeneration = true;
632-
serverLevel.captureBlockStates = true;
624+
List<CraftBlockState> placed = TaskManager.taskManager().sync(() -> {
625+
preCaptureStates(serverLevel);
633626
try {
634627
StructureStart structureStart = k.generate(
635628
serverLevel.registryAccess(),
@@ -671,17 +664,12 @@ public boolean generateStructure(StructureType type, World world, EditSession ed
671664
),
672665
chunkPosx
673666
));
674-
Map<BlockPos, CraftBlockState> placedBlocks = populator.getList().stream().collect(Collectors.toMap(
675-
CraftBlockState::getPosition,
676-
craftBlockState -> craftBlockState
677-
));
678-
placedBlocks.putAll(serverLevel.capturedBlockStates);
667+
List<CraftBlockState> placedBlocks = new ArrayList<>(populator.getList());
668+
placedBlocks.addAll(serverLevel.capturedBlockStates.values());
679669
return placedBlocks;
680670
}
681671
} finally {
682-
serverLevel.captureBlockStates = false;
683-
serverLevel.captureTreeGeneration = false;
684-
serverLevel.capturedBlockStates.clear();
672+
postCaptureBlockStates(serverLevel);
685673
}
686674
});
687675

@@ -692,18 +680,17 @@ public boolean generateStructure(StructureType type, World world, EditSession ed
692680
private boolean placeFeatureIntoSession(
693681
final EditSession editSession,
694682
final FaweBlockStateListPopulator populator,
695-
final Map<BlockPos, CraftBlockState> placed
683+
final List<CraftBlockState> placed
696684
) {
697685
if (placed == null || placed.isEmpty()) {
698686
return false;
699687
}
700688

701-
for (Map.Entry<BlockPos, CraftBlockState> entry : placed.entrySet()) {
702-
CraftBlockState craftBlockState = entry.getValue();
703-
if (entry.getValue() == null) {
689+
for (CraftBlockState craftBlockState : placed) {
690+
if (craftBlockState == null) {
704691
continue;
705692
}
706-
BlockPos pos = entry.getKey();
693+
BlockPos pos = craftBlockState.getPosition();
707694
editSession.setBlock(pos.getX(), pos.getY(), pos.getZ(), BukkitAdapter.adapt(craftBlockState.getBlockData()));
708695
BlockEntity blockEntity = populator.getBlockEntity(pos);
709696
if (blockEntity != null) {

worldedit-bukkit/adapters/adapter-1_20_5/src/main/java/com/sk89q/worldedit/bukkit/adapter/impl/fawe/v1_20_R4/PaperweightFaweAdapter.java

Lines changed: 17 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -587,18 +587,17 @@ protected ServerLevel getServerLevel(final World world) {
587587
@Override
588588
public boolean generateFeature(ConfiguredFeatureType feature, World world, EditSession editSession, BlockVector3 pt) {
589589
//FAWE start
590-
ServerLevel serverLevel = ((CraftWorld) world).getHandle();
590+
ServerLevel serverLevel = getServerLevel(world);
591591
ChunkGenerator generator = serverLevel.getMinecraftWorld().getChunkSource().getGenerator();
592592

593593
ConfiguredFeature<?, ?> configuredFeature = serverLevel
594594
.registryAccess()
595595
.registryOrThrow(Registries.CONFIGURED_FEATURE)
596596
.get(ResourceLocation.tryParse(feature.id()));
597-
FaweBlockStateListPopulator populator = new FaweBlockStateListPopulator(serverLevel);
598597

599-
Map<BlockPos, CraftBlockState> placed = TaskManager.taskManager().sync(() -> {
600-
serverLevel.captureTreeGeneration = true;
601-
serverLevel.captureBlockStates = true;
598+
FaweBlockStateListPopulator populator = new FaweBlockStateListPopulator(serverLevel);
599+
List<CraftBlockState> placed = TaskManager.taskManager().sync(() -> {
600+
preCaptureStates(serverLevel);
602601
try {
603602
if (!configuredFeature.place(
604603
populator,
@@ -608,16 +607,11 @@ public boolean generateFeature(ConfiguredFeatureType feature, World world, EditS
608607
)) {
609608
return null;
610609
}
611-
Map<BlockPos, CraftBlockState> placedBlocks = populator.getList().stream().collect(Collectors.toMap(
612-
CraftBlockState::getPosition,
613-
craftBlockState -> craftBlockState
614-
));
615-
placedBlocks.putAll(serverLevel.capturedBlockStates);
610+
List<CraftBlockState> placedBlocks = new ArrayList<>(populator.getList());
611+
placedBlocks.addAll(serverLevel.capturedBlockStates.values());
616612
return placedBlocks;
617613
} finally {
618-
serverLevel.captureBlockStates = false;
619-
serverLevel.captureTreeGeneration = false;
620-
serverLevel.capturedBlockStates.clear();
614+
postCaptureBlockStates(serverLevel);
621615
}
622616
});
623617

@@ -627,7 +621,7 @@ public boolean generateFeature(ConfiguredFeatureType feature, World world, EditS
627621

628622
@Override
629623
public boolean generateStructure(StructureType type, World world, EditSession editSession, BlockVector3 pt) {
630-
ServerLevel serverLevel = ((CraftWorld) world).getHandle();
624+
ServerLevel serverLevel = getServerLevel(world);
631625
Structure k = serverLevel
632626
.registryAccess()
633627
.registryOrThrow(Registries.STRUCTURE)
@@ -642,9 +636,8 @@ public boolean generateStructure(StructureType type, World world, EditSession ed
642636

643637
//FAWE start
644638
FaweBlockStateListPopulator populator = new FaweBlockStateListPopulator(serverLevel);
645-
Map<BlockPos, CraftBlockState> placed = TaskManager.taskManager().sync(() -> {
646-
serverLevel.captureTreeGeneration = true;
647-
serverLevel.captureBlockStates = true;
639+
List<CraftBlockState> placed = TaskManager.taskManager().sync(() -> {
640+
preCaptureStates(serverLevel);
648641
try {
649642
StructureStart structureStart = k.generate(
650643
serverLevel.registryAccess(),
@@ -685,17 +678,12 @@ public boolean generateStructure(StructureType type, World world, EditSession ed
685678
),
686679
chunkPosx
687680
));
688-
Map<BlockPos, CraftBlockState> placedBlocks = populator.getList().stream().collect(Collectors.toMap(
689-
CraftBlockState::getPosition,
690-
craftBlockState -> craftBlockState
691-
));
692-
placedBlocks.putAll(serverLevel.capturedBlockStates);
681+
List<CraftBlockState> placedBlocks = new ArrayList<>(populator.getList());
682+
placedBlocks.addAll(serverLevel.capturedBlockStates.values());
693683
return placedBlocks;
694684
}
695685
} finally {
696-
serverLevel.captureBlockStates = false;
697-
serverLevel.captureTreeGeneration = false;
698-
serverLevel.capturedBlockStates.clear();
686+
postCaptureBlockStates(serverLevel);
699687
}
700688
});
701689

@@ -706,18 +694,17 @@ public boolean generateStructure(StructureType type, World world, EditSession ed
706694
private boolean placeFeatureIntoSession(
707695
final EditSession editSession,
708696
final FaweBlockStateListPopulator populator,
709-
final Map<BlockPos, CraftBlockState> placed
697+
final List<CraftBlockState> placed
710698
) {
711699
if (placed == null || placed.isEmpty()) {
712700
return false;
713701
}
714702

715-
for (Map.Entry<BlockPos, CraftBlockState> entry : placed.entrySet()) {
716-
CraftBlockState craftBlockState = entry.getValue();
717-
if (entry.getValue() == null) {
703+
for (CraftBlockState craftBlockState : placed) {
704+
if (craftBlockState == null) {
718705
continue;
719706
}
720-
BlockPos pos = entry.getKey();
707+
BlockPos pos = craftBlockState.getPosition();
721708
editSession.setBlock(pos.getX(), pos.getY(), pos.getZ(), BukkitAdapter.adapt(craftBlockState.getBlockData()));
722709
BlockEntity blockEntity = populator.getBlockEntity(pos);
723710
if (blockEntity != null) {

0 commit comments

Comments
 (0)