small changes

Kleine änderung; die grafik der münze hat nun der pirate coin, authoren wurde editiert, etc.
This commit is contained in:
MalteReents 2023-10-29 15:08:26 +01:00
parent 381d304424
commit 3dc76d2e87
7 changed files with 69 additions and 8 deletions

View File

@ -1,7 +1,7 @@
Nützliche Quellen: Nützliche Quellen:
Mod Tutorial für 1.19.1 (Identisch zu 1.19.2): Mod Tutorial für 1.19.1 (Identisch zu 1.19.2):
https://www.youtube.com/watch?v=2qtpxtw_zlM&list=PLKGarocXCE1EeLZggaXPJaARxnAbUD8Y_&index=23 https://www.youtube.com/watch?v=2qtpxtw_zlM&list=PLKGarocXCE1EeLZggaXPJaARxnAbUD8Y_&index=23
Fabric Datenbank mit sämtlichen Methoden, etc. (wenn man auf die richtigs subpage geht): Fabric Datenbank mit sämtlichen Methoden, etc. (wenn man auf die richtige subpage geht):
https://maven.fabricmc.net/docs/fabric-api-0.61.0+1.19.2/allclasses-index.html https://maven.fabricmc.net/docs/fabric-api-0.61.0+1.19.2/allclasses-index.html
Archimedes ship mod code (Mod die Schiffe hinzufügt): (1.7.10, alt aber leichter verständlich) Archimedes ship mod code (Mod die Schiffe hinzufügt): (1.7.10, alt aber leichter verständlich)
https://github.com/Ckathode/archimedes-ships/blob/master/src/main/java/ckathode/archimedes/entity/EntityShip.java https://github.com/Ckathode/archimedes-ships/blob/master/src/main/java/ckathode/archimedes/entity/EntityShip.java
@ -23,7 +23,7 @@ Ideen für Features:
(Holz hat 0.5, Wasser 1.0, braucht es sowieso für die Schwimmfähigkeit) kriegt man minus geschindigkeit und minus beschleunigung, damit man (Holz hat 0.5, Wasser 1.0, braucht es sowieso für die Schwimmfähigkeit) kriegt man minus geschindigkeit und minus beschleunigung, damit man
tatsächlich Schiffsdesign machen muss tatsächlich Schiffsdesign machen muss
- Flugzeuge: Gleiche Mechanik wie Schiffe nur halt mit Fliegen - Flugzeuge: Gleiche Mechanik wie Schiffe nur halt mit Fliegen
- Söldner: Man dropt Diamanten oder Emeralds -> sie werden zu Söldnern. Wenn man mit Ihnen Interagiert gibt - Söldner: Man dropt Diamanten oder Emeralds an Villager -> sie werden zu Söldnern. Wenn man mit Ihnen Interagiert gibt
es ein Auswahlmenü von fünf Verschiedenen Arten: es ein Auswahlmenü von fünf Verschiedenen Arten:
o Schwertkämpfer: hat halt ein Schwert... o Schwertkämpfer: hat halt ein Schwert...
o Bogenschütze o Bogenschütze
@ -53,9 +53,9 @@ Ideen für Features:
einen Bomber zu bauen und der kann einfach mühelos das Schiff in Grund und Boden bomben, weil sich das Schiff gar nicht währen kann. einen Bomber zu bauen und der kann einfach mühelos das Schiff in Grund und Boden bomben, weil sich das Schiff gar nicht währen kann.
- Mond: man kann mit einer Rakete hinfliegen, generiert genau so wie die "Erde", man hat nur z.B. dauerhaft die Luftbläschen für wenn man unter Wasser - Mond: man kann mit einer Rakete hinfliegen, generiert genau so wie die "Erde", man hat nur z.B. dauerhaft die Luftbläschen für wenn man unter Wasser
ist, kann diese aber mit einer O2 Flasche auffüllen, man kann 2 Blöcke hoch springen, es soll später eigene Biome haben, eigene Villager-Dörfer, etc. ist, kann diese aber mit einer O2 Flasche auffüllen, man kann 2 Blöcke hoch springen, es soll später eigene Biome haben, eigene Villager-Dörfer, etc.
und vllt. paar extra dinge die man kriegen kann. Verzauberungen, etc. die man nur bei diesen Villagern kriegt. und vllt. paar extra dinge die man kriegen kann. Verzauberungen, etc. die man nur bei diesen Villagern kriegt. (snapshot: 23w13a_or_b, hatte bereits einen MOnd)
- Diverse Sorten essen: Küchenblöcke um z.B. Burger, Schnitzel, etc. hinzuzufügen. Jedes soll eigene Vorteile haben. Schnitzel gibt vllt. Stärke als Effekt - Diverse Sorten essen: Küchenblöcke um z.B. Burger, Schnitzel, etc. hinzuzufügen. Jedes soll eigene Vorteile haben. Schnitzel gibt vllt. Stärke als Effekt
Damit man ein restaurant mit fast-food eetc. aufmachen kann und in der Industrialiserung mehr dinge hat Damit man ein restaurant mit fast-food etc. aufmachen kann und in der Industrialiserung mehr dinge hat
- Orgel: Orgel halt, will ne Orgel und dann Bachs Toccata spielen können - Orgel: Orgel halt, will ne Orgel und dann Bachs Toccata spielen können
- Sicherheits sutff: Turrets, ID-Cards, um andere spieler auszusperren, Laser, Fingerabdrucksensoren (lassen halt nur den einen Spieler rein), Laser, - Sicherheits sutff: Turrets, ID-Cards, um andere spieler auszusperren, Laser, Fingerabdrucksensoren (lassen halt nur den einen Spieler rein), Laser,
Lichtschranken, etc. Lichtschranken, etc.

View File

@ -1,12 +1,20 @@
package modchest.block.custom; package modchest.block.custom;
import modchest.block.entity.modBlockEntities;
import modchest.block.entity.steeringWheelEntity; import modchest.block.entity.steeringWheelEntity;
import net.minecraft.block.BlockEntityProvider; import net.minecraft.block.BlockEntityProvider;
import net.minecraft.block.BlockRenderType; import net.minecraft.block.BlockRenderType;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.BlockWithEntity; import net.minecraft.block.BlockWithEntity;
import net.minecraft.block.entity.BlockEntity; 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.screen.NamedScreenHandlerFactory;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.ItemScatterer; import net.minecraft.util.ItemScatterer;
import net.minecraft.util.hit.BlockHitResult;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World; import net.minecraft.world.World;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
@ -36,9 +44,26 @@ public class steeringWheelBlock extends BlockWithEntity implements BlockEntityPr
} }
} }
@Override //wird bei einem rechtsklick aufgerufen (ersellt das Blockentity)
public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) {
if (!world.isClient) {
NamedScreenHandlerFactory screenHandlerFactory = state.createScreenHandlerFactory(world, pos);
if (screenHandlerFactory != null) {
player.openHandledScreen(screenHandlerFactory);
}
}
return ActionResult.SUCCESS;
}
@Nullable @Nullable
@Override @Override
public BlockEntity createBlockEntity(BlockPos pos, BlockState state) { public BlockEntity createBlockEntity(BlockPos pos, BlockState state) {
return null; return new steeringWheelEntity(pos, state);
}
@Nullable
public <T extends BlockEntity> BlockEntityTicker<T> getTicker(World world, BlockState state, BlockEntityType<T> type) {
return checkType( type, modBlockEntities.steering_wheel_interface, steeringWheelEntity::tick);
} }
} }

View File

@ -2,24 +2,44 @@ package modchest.block.entity;
import net.minecraft.block.BlockState; import net.minecraft.block.BlockState;
import net.minecraft.block.entity.BlockEntity; import net.minecraft.block.entity.BlockEntity;
import net.minecraft.block.entity.BlockEntityType;
import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.entity.player.PlayerInventory; import net.minecraft.entity.player.PlayerInventory;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.screen.NamedScreenHandlerFactory; import net.minecraft.screen.NamedScreenHandlerFactory;
import net.minecraft.screen.PropertyDelegate;
import net.minecraft.screen.ScreenHandler; import net.minecraft.screen.ScreenHandler;
import net.minecraft.text.Text; import net.minecraft.text.Text;
import net.minecraft.util.collection.DefaultedList; import net.minecraft.util.collection.DefaultedList;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
//definiert das Interkationsmenü //definiert das Interkationsmenü
public class steeringWheelEntity extends BlockEntity implements NamedScreenHandlerFactory, ImplementedInventory { 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); private final DefaultedList<ItemStack> inventory = DefaultedList.ofSize(3, ItemStack.EMPTY);
public steeringWheelEntity(BlockPos pos, BlockState state) { public steeringWheelEntity(BlockPos pos, BlockState state) {
super(modBlockEntities.steering_wheel_interface, pos, 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 @Override
@ -27,6 +47,7 @@ public class steeringWheelEntity extends BlockEntity implements NamedScreenHandl
return this.inventory; return this.inventory;
} }
@Override @Override
public Text getDisplayName() { public Text getDisplayName() {
return Text.literal("Bereit kaputte Schiffe zu fliegen?"); return Text.literal("Bereit kaputte Schiffe zu fliegen?");
@ -37,4 +58,11 @@ public class steeringWheelEntity extends BlockEntity implements NamedScreenHandl
public ScreenHandler createMenu(int syncId, PlayerInventory inv, PlayerEntity player) { public ScreenHandler createMenu(int syncId, PlayerInventory inv, PlayerEntity player) {
return null; return null;
} }
public static void tick(World world, BlockPos pos, BlockState state, steeringWheelEntity e) { //wird pro tick aufgerufen
if(world.isClient()) {
return;
}
}
} }

View File

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

View File

@ -0,0 +1,6 @@
{
"parent": "item/generated",
"textures": {
"layer0": "modchest:item/pirates_coin"
}
}

View File

@ -5,7 +5,9 @@
"name": "maltesmod", "name": "maltesmod",
"description": "This mod is a chest full of fun Ideas!", "description": "This mod is a chest full of fun Ideas!",
"authors": [ "authors": [
"Malte Reents" "Malte Reents",
"Theo Dupuis",
"Paula Dupuis"
], ],
"contact": { "contact": {
"homepage": "reents.tv", "homepage": "reents.tv",