mirror of
				https://github.com/IntellectualSites/PlotSquared.git
				synced 2025-11-04 11:13:45 +01:00 
			
		
		
		
	Fixes #199
This commit is contained in:
		@@ -163,9 +163,9 @@ public class Set extends SubCommand {
 | 
				
			|||||||
            final Location base = MainUtil.getPlotBottomLoc(world, plot.id);
 | 
					            final Location base = MainUtil.getPlotBottomLoc(world, plot.id);
 | 
				
			||||||
            base.setY(0);
 | 
					            base.setY(0);
 | 
				
			||||||
            final Location relative = plr.getLocation().subtract(base.getX(), base.getY(), base.getZ());
 | 
					            final Location relative = plr.getLocation().subtract(base.getX(), base.getY(), base.getZ());
 | 
				
			||||||
            final BlockLoc blockloc = new BlockLoc(relative.getX(), relative.getY(), relative.getZ());
 | 
					            final BlockLoc blockloc = new BlockLoc(relative.getX(), relative.getY(), relative.getZ(), relative.getY(), relative.getPitch());
 | 
				
			||||||
            plot.settings.setPosition(blockloc);
 | 
					            plot.settings.setPosition(blockloc);
 | 
				
			||||||
            DBFunc.setPosition(loc.getWorld(), plot, relative.getX() + "," + relative.getY() + "," + relative.getZ());
 | 
					            DBFunc.setPosition(loc.getWorld(), plot, blockloc.toString());
 | 
				
			||||||
            return MainUtil.sendMessage(plr, C.POSITION_SET);
 | 
					            return MainUtil.sendMessage(plr, C.POSITION_SET);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        if (args[0].equalsIgnoreCase("alias")) {
 | 
					        if (args[0].equalsIgnoreCase("alias")) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -913,9 +913,7 @@ public class SQLManager implements AbstractDB {
 | 
				
			|||||||
                            break;
 | 
					                            break;
 | 
				
			||||||
                        default:
 | 
					                        default:
 | 
				
			||||||
                            try {
 | 
					                            try {
 | 
				
			||||||
                                final String[] split = pos.split(",");
 | 
					                                plot.settings.setPosition(BlockLoc.fromString(pos));
 | 
				
			||||||
                                final BlockLoc loc = new BlockLoc(Integer.parseInt(split[0]), Integer.parseInt(split[1]), Integer.parseInt(split[2]));
 | 
					 | 
				
			||||||
                                plot.settings.setPosition(loc);
 | 
					 | 
				
			||||||
                            } catch (final Exception e) {
 | 
					                            } catch (final Exception e) {
 | 
				
			||||||
                            }
 | 
					                            }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,10 +5,19 @@ public class BlockLoc {
 | 
				
			|||||||
    public int y;
 | 
					    public int y;
 | 
				
			||||||
    public int z;
 | 
					    public int z;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    public BlockLoc(final int x, final int y, final int z) {
 | 
					    public float yaw, pitch;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public BlockLoc(final int x, final int y, final int z, final float yaw, final float pitch) {
 | 
				
			||||||
        this.x = x;
 | 
					        this.x = x;
 | 
				
			||||||
        this.y = y;
 | 
					        this.y = y;
 | 
				
			||||||
        this.z = z;
 | 
					        this.z = z;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        this.yaw = yaw;
 | 
				
			||||||
 | 
					        this.pitch = pitch;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public BlockLoc(final int x, final int y, final int z) {
 | 
				
			||||||
 | 
					        this(x, y, z, 0f, 0f);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @Override
 | 
					    @Override
 | 
				
			||||||
@@ -35,4 +44,30 @@ public class BlockLoc {
 | 
				
			|||||||
        final BlockLoc other = (BlockLoc) obj;
 | 
					        final BlockLoc other = (BlockLoc) obj;
 | 
				
			||||||
        return ((this.x == other.x) && (this.y == other.y) && (this.z == other.z));
 | 
					        return ((this.x == other.x) && (this.y == other.y) && (this.z == other.z));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    @Override
 | 
				
			||||||
 | 
					    public String toString() {
 | 
				
			||||||
 | 
					        return
 | 
				
			||||||
 | 
					                x + "," + y + "," + z + "," + yaw + "," + pitch;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public static BlockLoc fromString(final String string) {
 | 
				
			||||||
 | 
					        String[] parts = string.split(",");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        float yaw, pitch;
 | 
				
			||||||
 | 
					        if (parts.length == 3) {
 | 
				
			||||||
 | 
					            yaw = 0f;
 | 
				
			||||||
 | 
					            pitch = 0f;
 | 
				
			||||||
 | 
					        } if (parts.length == 5) {
 | 
				
			||||||
 | 
					            yaw = Float.parseFloat(parts[3]);
 | 
				
			||||||
 | 
					            pitch = Float.parseFloat(parts[4]);
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            return new BlockLoc(0, 0, 0);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        int x = Integer.parseInt(parts[0]);
 | 
				
			||||||
 | 
					        int y = Integer.parseInt(parts[1]);
 | 
				
			||||||
 | 
					        int z = Integer.parseInt(parts[2]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return new BlockLoc(x, y, z, yaw, pitch);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user