2016-12-11 2 views
0

Ich habe etwas Art vonBlocks Begrenzungsrahmen des Glitching seltsame Weise

private AxisAlignedBB boundingBox = new AxisAlignedBB(-0.34D, 0D, -0.34D, 1.34D, 3.24D, 1.34D); 

@Override 
public AxisAlignedBB getCollisionBoundingBox(IBlockState blockState, World worldIn, BlockPos pos) 
{ 
    return boundingBox; 
} 

@Override 
public AxisAlignedBB getSelectedBoundingBox(IBlockState state, World worldIn, BlockPos pos) 
{ 
    return boundingBox.offset(pos); 
} 

@Override 
public boolean isFullCube(IBlockState state) { 
    return false; 
} 

@Override 
public boolean isOpaqueCube(IBlockState state) { 
    return false; 
} 

in der Klasse meiner Kachel Einheit. Und wenn ich versuche, mitten durch den Block zu gehen, funktioniert die Kollisions-Begrenzungsbox korrekt, aber wenn ich versuche, auf den Block zu springen, bleibe ich darin stecken und versuche durchzukommen. Ich stehe auch im gleichen Block fest, wenn ich versuche, von den Ecken in den Block zu gehen oder auf der ganzen Konstruktion zu stehen: ich falle, bis ich die Höhe von 2D erreiche, und dann beginnen Glitches. Ecken des Blocks wirken so, als gäbe es keine Begrenzungsbox für die Ecken. Ist es möglich, Block Bounding Boxes korrekt zu machen?

The block and its bounding box.

Actual working (or partially working) area.

+0

Minecraft Bounding Box-Code ist nicht ganz für Hitboxen ausgelegt, die außerhalb der normalen Grenzen gehen. Dies kann für eine Kollision, aber nicht für eine Auswahl erfolgen. Werfen Sie einen Blick auf 'BlockFence' für ein Beispiel. (Ich arbeite gerade an einer vollständigeren Antwort) – Pokechu22

Antwort

0

würde ich mit Leersaetze dafür empfehlen. Wenn dein Block platziert ist, spinne Dummy-Blöcke in den erforderlichen Bereichen. Wenn dein Block oder die Dummy-Blöcke zerbrochen sind, durchbrich die gesamte Struktur von Dummies und echten Blöcken.

Verwandte Themen