69 lines
2.1 KiB
Java
69 lines
2.1 KiB
Java
|
package modchest.block.entity;
|
||
|
|
||
|
import net.minecraft.block.BlockState;
|
||
|
import net.minecraft.block.entity.BlockEntity;
|
||
|
import net.minecraft.entity.player.PlayerEntity;
|
||
|
import net.minecraft.entity.player.PlayerInventory;
|
||
|
import net.minecraft.item.ItemStack;
|
||
|
import net.minecraft.screen.NamedScreenHandlerFactory;
|
||
|
import net.minecraft.screen.PropertyDelegate;
|
||
|
import net.minecraft.screen.ScreenHandler;
|
||
|
import net.minecraft.text.Text;
|
||
|
import net.minecraft.util.collection.DefaultedList;
|
||
|
import net.minecraft.util.math.BlockPos;
|
||
|
import net.minecraft.world.World;
|
||
|
import org.jetbrains.annotations.Nullable;
|
||
|
|
||
|
//definiert das Interkationsmenü
|
||
|
|
||
|
public class steeringWheelEntity extends BlockEntity implements NamedScreenHandlerFactory, ImplementedInventory {
|
||
|
|
||
|
public final PropertyDelegate propertyDelegate; //synchonisiert Eigenschaften zwischen client und server
|
||
|
|
||
|
private final DefaultedList<ItemStack> inventory = DefaultedList.ofSize(3, ItemStack.EMPTY);
|
||
|
|
||
|
public steeringWheelEntity(BlockPos pos, BlockState state) {
|
||
|
super(modBlockEntities.steering_wheel_interface, pos, state);
|
||
|
this.propertyDelegate = new PropertyDelegate() {
|
||
|
@Override
|
||
|
public int get(int index) {
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public void set(int index, int value) {
|
||
|
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public int size() {
|
||
|
return 0;
|
||
|
}
|
||
|
};
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public DefaultedList<ItemStack> getItems() {
|
||
|
return this.inventory;
|
||
|
}
|
||
|
|
||
|
|
||
|
@Override
|
||
|
public Text getDisplayName() {
|
||
|
return Text.literal("Bereit kaputte Schiffe zu fliegen?");
|
||
|
} //TODO: setzt den Namen. Muss noch an die einzelnen Sprachen angepasst werden!
|
||
|
|
||
|
@Nullable
|
||
|
@Override
|
||
|
public ScreenHandler createMenu(int syncId, PlayerInventory inv, PlayerEntity player) {
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
public static void tick(World world, BlockPos pos, BlockState state, steeringWheelEntity e) { //wird pro tick aufgerufen
|
||
|
if(world.isClient()) {
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|