diff --git a/src/main/java/com/yes/yes/behaviours/ItemBehaviour.java b/src/main/java/com/yes/yes/behaviours/ItemBehaviour.java index 0215226..926282d 100644 --- a/src/main/java/com/yes/yes/behaviours/ItemBehaviour.java +++ b/src/main/java/com/yes/yes/behaviours/ItemBehaviour.java @@ -23,7 +23,7 @@ public class ItemBehaviour extends Component { System.out.println("Running item update"); Platform.runLater(() -> { this.itemGroup.getChildren().clear(); - this.itemGroup.getChildren().add(this.parent.getData(dataKey)); + this.itemGroup.getChildren().add(item); }); System.out.println("Finished item update"); } diff --git a/src/main/java/com/yes/yes/behaviours/RecieveBehaviour.java b/src/main/java/com/yes/yes/behaviours/RecieveBehaviour.java index af8a348..801dcbe 100644 --- a/src/main/java/com/yes/yes/behaviours/RecieveBehaviour.java +++ b/src/main/java/com/yes/yes/behaviours/RecieveBehaviour.java @@ -41,8 +41,8 @@ public class RecieveBehaviour extends Component { } void receive(Item item) { - if (offerer == null) - return; + if (offerer == null) return; + if(this.parent.getData(dataKey) != null) return; this.parent.setData(dataKey, item); this.parent.trigger(dataKey + "Changed", item); diff --git a/src/main/java/com/yes/yes/entities/machines/ConveyorBelt.java b/src/main/java/com/yes/yes/entities/machines/ConveyorBelt.java new file mode 100644 index 0000000..8b033e3 --- /dev/null +++ b/src/main/java/com/yes/yes/entities/machines/ConveyorBelt.java @@ -0,0 +1,31 @@ +package com.yes.yes.entities.machines; + +import com.yes.yes.behaviours.*; +import com.yes.yes.utils.BlockContainer; +import com.yes.yes.utils.Direction; +import com.yes.yes.utils.Entity; +import javafx.scene.paint.Color; +import javafx.scene.shape.Polygon; +import javafx.scene.shape.Rectangle; + +public class ConveyorBelt extends Entity { + public ConveyorBelt() { + super(); + Polygon t = new Polygon(); + t.getPoints().addAll( + 25.0,0.0, + 0.0,50.0, + 50.0,50.0); + t.setFill(new Color(0,0,0,1)); + + this.getChildren().addAll(t); + } + + public ConveyorBelt(BlockContainer blockContainer) { + this(); + this.addBehaviour(new PlaceBehaviour(this, blockContainer)); + this.addBehaviour(new ItemBehaviour(this, blockContainer,"Item")); + this.addBehaviour(new RecieveBehaviour(this, blockContainer, Direction.DOWN, "Item")); + this.addBehaviour(new OfferBehaviour(this, blockContainer, Direction.UP, "Item")); + } +} diff --git a/src/main/java/com/yes/yes/managers/GameManager.java b/src/main/java/com/yes/yes/managers/GameManager.java index 0645e4f..fdaffa1 100644 --- a/src/main/java/com/yes/yes/managers/GameManager.java +++ b/src/main/java/com/yes/yes/managers/GameManager.java @@ -1,5 +1,6 @@ package com.yes.yes.managers; +import com.yes.yes.entities.machines.ConveyorBelt; import com.yes.yes.entities.machines.GeneratorMachine; import com.yes.yes.entities.machines.TestMachine; import com.yes.yes.entities.machines.TestMachine2; @@ -36,6 +37,7 @@ public class GameManager { EntityRegistry.register(new RegistryEntry("test", "test receive machine", TestMachine.class)); EntityRegistry.register(new RegistryEntry("test2", "test offer machine", TestMachine2.class)); EntityRegistry.register(new RegistryEntry("generator", "generator", GeneratorMachine.class)); + EntityRegistry.register(new RegistryEntry("conveyorBelt", "Conveyor Belt", ConveyorBelt.class)); } catch (AlreadyExistsException e) { e.printStackTrace(); } diff --git a/src/main/java/com/yes/yes/managers/PlayerManager.java b/src/main/java/com/yes/yes/managers/PlayerManager.java index 6106d22..366dcac 100644 --- a/src/main/java/com/yes/yes/managers/PlayerManager.java +++ b/src/main/java/com/yes/yes/managers/PlayerManager.java @@ -58,7 +58,7 @@ public class PlayerManager { Entity entity = (Entity) registryEntry.getEntity().getConstructor(types).newInstance(blockContainer); world.getChunk(chunkCoordinate).setEntity(entity, blockCoordinate); - entity.setRotation(random.nextInt(0,4)); + //entity.setRotation(random.nextInt(0,4)); entity.initialize(); } catch (Exception ex) { ex.printStackTrace();