You are not logged in.

  • Login
Bitte besucht unser neues Forum unter https://forum.nitrado.net | Please visit our new Forum at https://forum.nitrado.net

Dear visitor, welcome to Nitrado.net Prepaid Gameserver Community-Support - Archiv. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

xXthejuliXX

User / Kunde

  • "xXthejuliXX" started this thread

Posts: 125

  • Send private message

1

Saturday, November 14th 2015, 12:45am

SurvivalGames Random Kisten

Hey,

hier zeige ich euch mal wie ihr auf eine gute und einfach Weise SurvivalGames Kisten ganz einfach befüllen könnt.
Hier mein Code:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
	@EventHandler
	public void onClick(PlayerInteractEvent e) {
		if (Main.status == GameState.INGAME) {
			if (e.getAction() == Action.RIGHT_CLICK_BLOCK) {
				if (e.getClickedBlock().getType() == Material.CHEST) {
					e.setCancelled(true);
					if (Main.chest.containsKey(e.getClickedBlock().getLocation())) {
						e.getPlayer().openInventory((Inventory) Main.chest.get(e.getClickedBlock().getLocation()));
					}
					else {
						Inventory inv = Bukkit.createInventory(null, 27, "Chest");
						List<ItemStack> items = new ArrayList<ItemStack>();
						
						items.add(new ItemStack(Material.GOLD_BOOTS));
						items.add(new ItemStack(Material.GOLD_LEGGINGS));
						items.add(new ItemStack(Material.GOLD_CHESTPLATE));
						items.add(new ItemStack(Material.GOLD_HELMET));
						
						items.add(new ItemStack(Material.PORK, 3));
						items.add(new ItemStack(Material.PORK, 2));
						
						items.add(new ItemStack(Material.APPLE, 2));
						items.add(new ItemStack(Material.APPLE, 3));
						
						items.add(new ItemStack(Material.COOKED_BEEF, 3));
						items.add(new ItemStack(Material.COOKED_BEEF, 2));
						
						items.add(new ItemStack(Material.DIAMOND));
						items.add(new ItemStack(Material.IRON_INGOT));
						items.add(new ItemStack(Material.GOLD_INGOT, 2));
						items.add(new ItemStack(Material.GOLD_INGOT));
						
						items.add(new ItemStack(Material.STRING, 2));
						items.add(new ItemStack(Material.STRING));
						
						items.add(new ItemStack(Material.STICK));
						items.add(new ItemStack(Material.STICK, 2));
						
						items.add(new ItemStack(Material.COOKED_CHICKEN, 3));
						items.add(new ItemStack(Material.COOKED_CHICKEN, 2));
						
						items.add(new ItemStack(Material.RAW_BEEF, 2));
						items.add(new ItemStack(Material.RAW_BEEF, 3));
						
						items.add(new ItemStack(Material.ARROW, 5));
						items.add(new ItemStack(Material.ARROW, 4));
						items.add(new ItemStack(Material.ARROW, 2));
						items.add(new ItemStack(Material.ARROW, 3));
						
						items.add(new ItemStack(Material.BOW, 5));
						
						items.add(new ItemStack(Material.MUSHROOM_SOUP));
						
						items.add(new ItemStack(Material.GOLD_SWORD));
						items.add(new ItemStack(Material.STONE_SWORD));
						items.add(new ItemStack(Material.WOOD_SWORD));
						
						items.add(new ItemStack(Material.IRON_BOOTS));
						items.add(new ItemStack(Material.IRON_LEGGINGS));
						items.add(new ItemStack(Material.IRON_CHESTPLATE));
						items.add(new ItemStack(Material.IRON_HELMET));
						
						items.add(new ItemStack(Material.DIAMOND_CHESTPLATE));
						
						for (int i = 0; i < ANZAHLDERMAXITEMS; i++) {
							Random r = new Random();
							ItemStack current = items.get(Math.abs(r.nextInt(items.size())));
							inv.setItem(r.nextInt(27), current);
						}
						e.getPlayer().openInventory(inv);
						Main.chest.put(e.getClickedBlock().getLocation(), inv);
					}
				}
			}
		}
	}

BtoBastian

Moderator

  • "BtoBastian" is male

Posts: 3,612

Occupation: Softwareentwickler

  • Send private message

2

Saturday, November 14th 2015, 9:58am

Naja, bei deinem Code entsteht schon einiges an Overhead.
Die Liste würde ich außerhalb der Methode erstellen und statt jedes mal ein neues Random-Objekt zu erstellen, würde ich einfach Math.random() nutzen.
Standard Standart eines Flamingos ist einbeinig.

xXthejuliXX

User / Kunde

  • "xXthejuliXX" started this thread

Posts: 125

  • Send private message

3

Monday, November 30th 2015, 5:07pm

Aber bei Math.random() wird doch ein Integer zwischen 0 und 1 generiert, oder? Und so werden dann ja nur die ersten 2 Slots aus dem Inventar verwendet, oder?

BtoBastian

Moderator

  • "BtoBastian" is male

Posts: 3,612

Occupation: Softwareentwickler

  • Send private message

4

Monday, November 30th 2015, 8:37pm

Java source code

1
int random = (int) (Math.random() * x);


Liefert eine Zahl zwischen 0 und x-1 (inklusive 0 und x-1).
Standard Standart eines Flamingos ist einbeinig.

Rincewind34

User / Kunde

Posts: 112

  • Send private message

5

Saturday, December 12th 2015, 9:31am

Also das mit der Liste ist eingetlich echt ein Disaster xD. Besser wäre eine statische Liste, die dann immer geclont wird.

Stuppsman

User / Kunde

Posts: 2,766

Thanks: 25

  • Send private message

6

Thursday, December 24th 2015, 11:53pm

Funktioniert auch nur, wenn der Server dann komplett mitspielt.. du müsstest noch abfragen, ob der klickende Spieler mitspielt, sonst könnt man damit Schabernack treiben..

edit: Oh, fast schon ne Leichenschändung.. sorry, war schon länger nicht mehr da :)
Nein, ich hab kein Skype.. bei Interesse an einer privaten Unterrichtsstunde, wende dich bitte direkt an mein Team! 8)

OverProHD

User / Kunde

  • "OverProHD" is male

Posts: 32

Occupation: Schüler -_-

  • Send private message

7

Sunday, December 27th 2015, 9:36pm

Auch wenn alle wieder rummeckern^^ Danke für das Tutorial!!

adagi

User / Kunde

  • "adagi" is male

Posts: 136

Thanks: 1

  • Send private message

8

Monday, December 28th 2015, 6:46pm

Auch wenn alle wieder rummeckern^^ Danke für das Tutorial!!

Genau das wollte ich grad schreiben.. leider warst du vor mir :D !
LG adagi

OverProHD

User / Kunde

  • "OverProHD" is male

Posts: 32

Occupation: Schüler -_-

  • Send private message

9

Monday, December 28th 2015, 9:40pm

Auch wenn alle wieder rummeckern^^ Danke für das Tutorial!!

Genau das wollte ich grad schreiben.. leider warst du vor mir :D !
LG adagi
Musst du wohl beim nächsten mal bissl schneller sein ;)

Bitte besucht unser neues Forum unter https://forum.nitrado.net| Please visit our new Forum at https://forum.nitrado.net