Non résolu Communiquer des informations entre les blocs
-
Bonjour, je me permet de demander de l’aide car cela fait plusieurs jours que je cherche une solution mais sans succès. Je souhaite faire un système e tuyaux qui transmettent du carburant d’un gestionnaire de carburant à un moteur. Pour cela je dois détecter si un un tuyau est en contact avec un autre tuyaux ou le gestionnaire de carburant, et transmettre les informations (carburant en L) au tube en question. J’ai pensé utiliser des structure multi-bloc comme avec l’iron golem mais il n’y aurai alors qu’un nombre finit de structure possible. Je ne sais donc pas par où commencer.
Voici le bout de code qui gère la quantité de carburant dans le fuel block si besoin.public ItemStack onItemRightClick(ItemStack stack, World worldIn, PlayerEntity player, BlockPos pos) { if (!worldIn.isRemote && player.inventory.hasItemStack(new ItemStack(ModItems.HYDROGEN_BUCKET.get()))) { TileEntityFuelBlock tileEntity = (TileEntityFuelBlock) worldIn.getTileEntity(pos); tileEntity.setCounter((tileEntity.getCounter()+1)); int is_supp = 0; int count = 0; for(int i = 0; i < player.inventory.getSizeInventory(); i++) { if(player.inventory.getStackInSlot(i) != null && player.inventory.getStackInSlot(i).getItem() == ModItems.HYDROGEN_BUCKET.get()) { player.inventory.removeStackFromSlot(i); is_supp = 1; } if(is_supp > 0) break; } } return stack; } @Override public ActionResultType onBlockActivated(BlockState state, World worldIn, BlockPos pos, PlayerEntity player, Hand handIn, BlockRayTraceResult hit) { if(worldIn.getTileEntity(pos) instanceof TileEntityFuelBlock){ TileEntityFuelBlock tileEntity = (TileEntityFuelBlock) worldIn.getTileEntity(pos); onItemRightClick(null, worldIn, player, pos); player.sendStatusMessage(new StringTextComponent("Fuel : " + tileEntity.getCounter() + " Litres."), true); return ActionResultType.SUCCESS; } return ActionResultType.PASS; } }
Merci d’avance aux personnes qui m’aideront.
-
Petit up svp j’ai besoin d’aide.