Merge branch 'master' into mc/1.12

This commit is contained in:
Blue (Lukas Rieger) 2020-01-07 14:28:16 +01:00
commit 8f85381bcf
5 changed files with 24 additions and 13 deletions

View File

@ -26,6 +26,7 @@
import java.util.Collection; import java.util.Collection;
import java.util.Map.Entry; import java.util.Map.Entry;
import java.util.Objects;
import com.flowpowered.math.vector.Vector3i; import com.flowpowered.math.vector.Vector3i;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
@ -50,7 +51,7 @@ public class DoorExtension implements BlockStateExtension {
public BlockState extend(MCAWorld world, Vector3i pos, BlockState state) { public BlockState extend(MCAWorld world, Vector3i pos, BlockState state) {
BlockState otherDoor; BlockState otherDoor;
boolean isLower = state.getProperties().get("half").equals("lower"); boolean isLower = Objects.equals(state.getProperties().get("half"), "lower");
if (isLower) { if (isLower) {
otherDoor = world.getBlockState(pos.add(Direction.UP.toVector())); otherDoor = world.getBlockState(pos.add(Direction.UP.toVector()));

View File

@ -25,6 +25,7 @@
package de.bluecolored.bluemap.core.mca.extensions; package de.bluecolored.bluemap.core.mca.extensions;
import java.util.Collection; import java.util.Collection;
import java.util.Objects;
import com.flowpowered.math.vector.Vector3i; import com.flowpowered.math.vector.Vector3i;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
@ -41,7 +42,7 @@ public class DoublePlantExtension implements BlockStateExtension {
@Override @Override
public BlockState extend(MCAWorld world, Vector3i pos, BlockState state) { public BlockState extend(MCAWorld world, Vector3i pos, BlockState state) {
if (state.getProperties().get("half").equals("upper")) { if (Objects.equals(state.getProperties().get("half"), "upper")) {
BlockState otherPlant = world.getBlockState(pos.add(Direction.DOWN.toVector())); BlockState otherPlant = world.getBlockState(pos.add(Direction.DOWN.toVector()));
return otherPlant.with("half", "upper"); return otherPlant.with("half", "upper");

View File

@ -58,20 +58,28 @@ public class RedstoneExtension implements BlockStateExtension {
@Override @Override
public BlockState extend(MCAWorld world, Vector3i pos, BlockState state) { public BlockState extend(MCAWorld world, Vector3i pos, BlockState state) {
BlockState up = world.getBlockState(pos.add(0, 1, 0));
boolean upBlocking = !up.equals(BlockState.AIR);
state = state state = state
.with("north", connection(world, pos, state, Direction.NORTH)) .with("north", connection(world, pos, upBlocking, Direction.NORTH))
.with("east", connection(world, pos, state, Direction.EAST)) .with("east", connection(world, pos, upBlocking, Direction.EAST))
.with("south", connection(world, pos, state, Direction.SOUTH)) .with("south", connection(world, pos, upBlocking, Direction.SOUTH))
.with("west", connection(world, pos, state, Direction.WEST)); .with("west", connection(world, pos, upBlocking, Direction.WEST));
return state; return state;
} }
private String connection(MCAWorld world, Vector3i pos, BlockState state, Direction direction) { private String connection(MCAWorld world, Vector3i pos, boolean upBlocking, Direction direction) {
BlockState next = world.getBlockState(pos.add(direction.toVector())); Vector3i directionVector = direction.toVector();
BlockState next = world.getBlockState(pos.add(directionVector));
if (CONNECTIBLE.contains(next.getFullId())) return "side"; if (CONNECTIBLE.contains(next.getFullId())) return "side";
//TODO: up if (!upBlocking) {
BlockState nextup = world.getBlockState(pos.add(directionVector.getX(), directionVector.getY() + 1, directionVector.getZ()));
if (nextup.getFullId().equals("minecraft:redstone_wire")) return "up";
}
return "none"; return "none";
} }

View File

@ -25,6 +25,7 @@
package de.bluecolored.bluemap.core.mca.extensions; package de.bluecolored.bluemap.core.mca.extensions;
import java.util.HashSet; import java.util.HashSet;
import java.util.Objects;
import java.util.Set; import java.util.Set;
import com.flowpowered.math.vector.Vector3i; import com.flowpowered.math.vector.Vector3i;
@ -46,9 +47,9 @@ public BlockState extend(MCAWorld world, Vector3i pos, BlockState state) {
state = super.extend(world, pos, state); state = super.extend(world, pos, state);
if ( if (
state.getProperties().get("north").equals(state.getProperties().get("south")) && Objects.equals(state.getProperties().get("north"), state.getProperties().get("south")) &&
state.getProperties().get("east").equals(state.getProperties().get("west")) && Objects.equals(state.getProperties().get("east"), state.getProperties().get("west")) &&
!state.getProperties().get("north").equals(state.getProperties().get("east")) && !Objects.equals(state.getProperties().get("north"), state.getProperties().get("east")) &&
!connectsTo(world, pos.add(Direction.UP.toVector())) !connectsTo(world, pos.add(Direction.UP.toVector()))
) { ) {
return state.with("up", "false"); return state.with("up", "false");

View File

@ -75,7 +75,7 @@ command | permission | description
*\[clickable command in /bluemap\]* | bluemap.rendertask.remove | removes the clicked render-task *\[clickable command in /bluemap\]* | bluemap.rendertask.remove | removes the clicked render-task
## Todo / planned features ## Todo / planned features
Here is an *(surely incomplete)* list of things that i want to include in future versions. *(They are not in any specific order. There is no guarantee that any of those things will ever be included.)* Here is a *(surely incomplete)* list of things that i want to include in future versions. *(They are not in any specific order. There is no guarantee that any of those things will ever be included.)*
- render tile-entities (chests, etc..) - render tile-entities (chests, etc..)
- render entities - render entities