gridBlock erstellt

gridBlock erstellt mit allen klassen
Textur eingedingst
This commit is contained in:
Paula 2024-01-14 12:03:44 +01:00
parent 88ba212779
commit 72c43fac54
13 changed files with 191 additions and 5 deletions

View File

@ -13,9 +13,11 @@ Valkyrien Skies Mod (Fügt Schiffe + Flugzeuge hinzu): (1.19.2 + Fabric, aber
Ideen für Features:
- Suspicous Block: Entsteht wenn wasser auf honig trifft (wie Cobblestone aus Wasser und Lava): hat 8 Level, jedes Level kann mit einer Schale eingesammelt
werden und gibt ein zufälliges suspicous stew. Sinn: Für eine Bar o.ä.
- Grid-Block: Blöcke in diversen Formen. Wenn man mit einem Block rechtsklick macht, nimmt der Grid-Block die entsprechende Textur an. Mit einem neuen Werkzeug
dem Hammer kann man mit rechtsklick die Textur wieder entfernen, mit linksklick den ganzen Block abbauen. Sinn: Mehr baumöglichkeiten, und wenn man z.B.
Deko-Blätter platziert baut man die nicht mehr ausversehen ab.
- Schiffe: Man baut ein Schiff aus Blöcken, setzt einen Steuerrad drauf und man kann damit über die Meere
fahren (Blöcke sollten weiterhin abbaubar und platzierbar sein, damit man epische Seeschlachten mit den Söldnern machen kann)
Es sollte eine maximale Anzahl Blöcke geben (Server Ressourcen schonen) die erhöht werden kann mit einem entsprechenden weiteren Block.

View File

@ -0,0 +1,76 @@
package modchest.block.custom;
import org.jetbrains.annotations.Nullable;
import modchest.block.entity.gridBlockEntity;
import modchest.block.entity.modBlockEntities;
import modchest.block.entity.steeringWheelEntity;
import net.minecraft.block.BlockEntityProvider;
import net.minecraft.block.BlockRenderType;
import net.minecraft.block.BlockState;
import net.minecraft.block.BlockWithEntity;
import net.minecraft.block.entity.BlockEntity;
import net.minecraft.block.entity.BlockEntityTicker;
import net.minecraft.block.entity.BlockEntityType;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.screen.NamedScreenHandlerFactory;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.hit.BlockHitResult;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
public class gridBlock extends BlockWithEntity implements BlockEntityProvider {
public gridBlock(Settings settings) {
super(settings);
}
@Override
public BlockRenderType getRenderType(BlockState state) {
return BlockRenderType.MODEL;
}
@Override
public BlockEntity createBlockEntity(BlockPos pos, BlockState state) {
return new gridBlockEntity (pos, state);
}
// bei Rechtsklick mit anderem Block in der Hand überprüfen ob Block (außer mit Werkzeug)
//Texture von Block in Hand holen -> Texture von Grid Block zu dieser Textur setzen
/**UseBlockCallback.EVENT();
private boolean isBlock(){
if (player.Block==Block) {
return true;
} else {
return false;
}
}
public void changeTexture(){
if (isBlock()==true) {
Block.getTexture;
gridBlockBlock.setTexture;
}
}**/
}

View File

@ -0,0 +1,67 @@
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;
public class gridBlockEntity extends BlockEntity implements NamedScreenHandlerFactory, ImplementedInventory {
public final PropertyDelegate propertyDelegate;
private final DefaultedList<ItemStack> inventory = DefaultedList.ofSize(3, ItemStack.EMPTY);
public gridBlockEntity(BlockPos pos, BlockState state){
super (modBlockEntities.grid_block_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;
}
};
}
public void registerBlockEntities2(){}
@Override
public ScreenHandler createMenu(int syncId, PlayerInventory inv, PlayerEntity player) {
return null;
}
@Override
public DefaultedList<ItemStack> getItems() {
return this.inventory;
}
@Override
public Text getDisplayName() {
return Text.literal("Grid Block");
} //TODO: setzt den Namen. Muss noch an die einzelnen Sprachen angepasst werden!
}

View File

@ -16,4 +16,18 @@ public class modBlockEntities {
new Identifier(REServerMod.MOD_ID, "steering_wheel_interface"), // Interkationsmenü wird gerendert
FabricBlockEntityTypeBuilder.create(steeringWheelEntity::new, modBlocks.steering_wheel).build(null));
}
public static BlockEntityType<gridBlockEntity> grid_block_interface;
public static void registerBlockEntities2() {
grid_block_interface = Registry.register(Registry.BLOCK_ENTITY_TYPE,
new Identifier(REServerMod.MOD_ID, "grid_block_interface"),
FabricBlockEntityTypeBuilder.create(gridBlockEntity::new, modBlocks.grid_block).build(null));
}
}

View File

@ -14,7 +14,7 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import org.jetbrains.annotations.Nullable;
//definiert das Interkationsmenü
//definiert das Interaktionsmenü
public class steeringWheelEntity extends BlockEntity implements NamedScreenHandlerFactory, ImplementedInventory {

View File

@ -1,5 +1,6 @@
package modchest.block;
import modchest.block.custom.gridBlock;
import modchest.block.custom.steeringWheelBlock;
import modchest.item.modItemGroup;
import modchest.REServerMod;
@ -15,14 +16,22 @@ import net.minecraft.util.registry.Registry;
//setzt die blöcke auf
public class modBlocks {
public static Block steering_wheel; // Block wird erstellt
public static Block grid_block;
public static void setBlocks() {// Block wird definiert
steering_wheel = registerBlock("steering_wheel",
new steeringWheelBlock(FabricBlockSettings.of(Material.WOOD).strength(1.0f).requiresTool()),
modItemGroup.modchest);
grid_block = registerBlock("grid_block",
new gridBlock(FabricBlockSettings.of(Material.WOOD).strength(1.0f).requiresTool()),
modItemGroup.modchest);
}
private static Block registerBlock(String name, Block block, ItemGroup group) { // Nicht verändern! Fügt die oben
// definierten Blöcke dem Register
// hinzu

View File

@ -0,0 +1,5 @@
{
"variants":{
"": {"model": "modchest:block/grid_block"}
}
}

View File

@ -2,5 +2,7 @@
"item.modchest.shipblock": "Schiffsblock",
"item.modchest.pirates_coin": "OP Piraten ding zum Testen",
"block.modchest.steering_wheel": "Lenkrad",
"itemGroup.modchest.itemlist1": "Malte's Mod"
"itemGroup.modchest.itemlist1": "Malte's Mod",
"block.modchest.grid_block": "Grid Block"
}

View File

@ -2,5 +2,6 @@
"item.modchest.shipblock": "Hanno, änder die Sprache!",
"item.modchest.pirates_coin": "Ya coin for tha pirrrrrates!",
"block.modchest.steering_wheel": "Ne, du kriegst keine hilfreichen Angaben mit der Sprache!",
"itemGroup.modchest.itemlist1": "Änder doch endlich die Sprache..."
}
"itemGroup.modchest.itemlist1": "Änder doch endlich die Sprache...",
"block.modchest.grid_block": "Grid Block"
}

View File

@ -2,5 +2,6 @@
"item.modchest.shipblock": "Shipblock",
"item.modchest.pirates_coin": "Pirate's Coin",
"block.modchest.steering_wheel": "Steering Wheel",
"itemGroup.modchest.itemlist1": "Theo macht unfug"
"itemGroup.modchest.itemlist1": "Theo macht unfug",
"block.modchest.grid_block": "Grid Block"
}

View File

@ -0,0 +1,6 @@
{
"parent": "block/cube_all",
"textures":{
"all": "modchest:block/grid_block_texture"
}
}

View File

@ -0,0 +1,3 @@
{
"parent":"modchest:block/grid_block"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 540 B