mirror of
https://github.com/BlueMap-Minecraft/BlueMap.git
synced 2024-11-28 05:26:23 +01:00
Merge branch 'master' into mc/1.12
This commit is contained in:
commit
8f85381bcf
@ -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()));
|
||||||
|
@ -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");
|
||||||
|
@ -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";
|
||||||
}
|
}
|
||||||
|
@ -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");
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user