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.

gerredtor

User / Kunde

  • "gerredtor" started this thread

Posts: 198

  • Send private message

1

Wednesday, August 13th 2014, 10:04pm

Bukkit plugin programmieren weiß keine lösung brauche hilfe

hey leute, ich habe ein plugin geschrieben das die blöcke einer explosion nach 2 sekunden wiederherstellt wird aber manche blöcke werden unsichtbar wiederhergestellt und erst nach rejoin werden die blöcke wieder angezeigt

Programmiererjeff

User / Kunde

  • "Programmiererjeff" is male

Posts: 90

Location: localhost

Occupation: Schüler

  • Send private message

2

Wednesday, August 13th 2014, 10:51pm

Ohne fehlerlog bzw code können bzw werden wir dir *nicht* helfen!

Sorry.

gerredtor

User / Kunde

  • "gerredtor" started this thread

Posts: 198

  • Send private message

3

Wednesday, August 13th 2014, 10:56pm

1. es kommt keine fehler mit dem code hat das normal auch nix zu tun aber:

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
  List<Block> blocks = e.blockList();
	         final List<Material> materials = new ArrayList<Material>();
	         final List<org.bukkit.Location> locations = new ArrayList<org.bukkit.Location>();
	         final List<Byte> datas = new ArrayList<Byte>();
	         
	         for (int i = 0; i < blocks.size(); i++) {
	          	 
	             materials.add(blocks.get(i).getType());
	             locations.add(blocks.get(i).getLocation());
	             datas.add(blocks.get(i).getData());     
	             
	             if(plugin.getConfig().getBoolean("Remove-Drops")){
	            	 blocks.get(i).setType(Material.AIR);
	   		  }
	             
	         }
	             long time = plugin.getConfig().getLong("Restore-Time");
	         
	             Bukkit.getScheduler().runTaskLaterAsynchronously(plugin, new Runnable(){

	            	 
	            	 
					@Override
					public void run() {
						for(count = 0;materials.size() > count; ){
							 if (materials.size() > count) {
								 materials.get(count);
								if(materials.get(count) == Material.TNT){
									 count++;
								 }else{
				                  locations.get(count).getBlock().setType(materials.get(count));
				                  locations.get(count).getBlock().setData(datas.get(count));
				                  count++;
                                  
								 }
								
					       }else{return;}		
						}	
					} 
	             }, time*20); 
			 }		
}


geht das villeicht mit locations.get(count).getBlock().getState().update();?

This post has been edited 1 times, last edit by "gerredtor" (Aug 13th 2014, 11:01pm)


LostBattle

User / Kunde

Posts: 388

  • Send private message

4

Thursday, August 14th 2014, 11:10am

Sende den Spielern noch nen blockchange oder lass deine forschleife nicht ohne pause durchlaufen.

gerredtor

User / Kunde

  • "gerredtor" started this thread

Posts: 198

  • Send private message

5

Thursday, August 14th 2014, 6:10pm

die eine for schleife ist dafür das die blöcke eingetragen werden und die andere mit verzögerung (ist so gewollt) stellt die blöcke wieder her

LostBattle

User / Kunde

Posts: 388

  • Send private message

6

Thursday, August 14th 2014, 9:18pm

Ich meine nicht das es verzögert ist bis es anfängt sondern das die Blöcke die in der for schleife gesetzt werden mit 200 ms Verzögerung gesetzt werden...

gerredtor

User / Kunde

  • "gerredtor" started this thread

Posts: 198

  • Send private message

7

Thursday, August 14th 2014, 11:25pm

?? wo würde das stehen sorry wenn ich jetzt frage aber das sagt mir jetzt nix

BlazeMania

User / Kunde

  • "BlazeMania" is male

Posts: 1,299

Location: Berlin

Occupation: Schüler (Gymnasium)

  • Send private message

8

Friday, August 15th 2014, 12:00am

@gerredtor:
Du musst ein BlockChange mit einer kleinen Verzögerung senden, sonst sind sie "durchsichtig": http://rly.li/99o10

dori99xd

User / Kunde

  • "dori99xd" is male
  • "dori99xd" has been banned

Posts: 279

Location: Germany :(

  • Send private message

9

Friday, August 15th 2014, 11:31am

Block.getChuck().update();

*OHNE COMPILER'

gerredtor

User / Kunde

  • "gerredtor" started this thread

Posts: 198

  • Send private message

10

Friday, August 15th 2014, 11:56am

einfach direkt z.b einen sc mit 5 ticks machen und dann p.sendBlockChange?

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