- Баллы
- 173
- Имя в Minecraft
- Sirse
@Sirse ты у нас вроде эвенты клепал, расскажи что ещё в ic2 эвентов требует?
Открой мой порт, да смотри по изменённым классам.
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
@Sirse ты у нас вроде эвенты клепал, расскажи что ещё в ic2 эвентов требует?
Если я правильно помню то строительная пена узконаправлена и потому для её блокировки хватит и MachineGuard/WorldGuardExtender
Хреново, значит будем клепать эвенты.Она циклом заливает область, вроде 5х5.
Может заливать провода, и некоторые блоки.
Эт хорошо, ещё бы BC на 1.6.4 ...Хреново, значит будем клепать эвенты.
Из за ивентов спрея теперь можно дюпать леса scaffold в чужом регионе.Добавлен эвент для распылителя монтажной пены.
Выложил исходники как и обещал.
А видео можно, ну или хоть способ?Из за ивентов спрея теперь можно дюпать леса scaffold в чужом регионе.
Ну леса дропаются, но при этом блоки остаются.А видео можно, ну или хоть способ?
А то не очень понятно что там может дюпать.
Эм, а поточнее?Ну леса дропаются, но при этом блоки остаются.
ТО есть они у тебя выпадают без превращения в монтажную пену? Это странно.В этом и заключается дюп.
Так и есть.ТО есть они у тебя выпадают без превращения в монтажную пену? Это странно.
Так и есть.
И странности я не вижу, я сразу понял что такое может случится.
//call event
IC2PlayerSprayFoamEvent ic2playersprayfoamevent = new IC2PlayerSprayFoamEvent(player, blockstospray);
org.bukkit.Bukkit.getPluginManager().callEvent(ic2playersprayfoamevent);
//do not foam blocks if event is cancelled
if (ic2playersprayfoamevent.isCancelled()) {return 0;}
//set blocks to foam
place.clear();
for (org.bukkit.block.Block blocktofoam : ic2playersprayfoamevent.getBlocksToFoam()) {
ChunkPosition cp = new ChunkPosition(blocktofoam.getX(), blocktofoam.getY(), blocktofoam.getZ());
place.add(cp);
}
for (ChunkPosition pos : place) {
int targetBlockId = world.getBlockId(pos.x, pos.y, pos.z);
if (targetBlockId == Ic2Items.scaffold.itemID) {
Block.blocksList[Ic2Items.scaffold.itemID].dropBlockAsItem(world, pos.x, pos.y, pos.z, world.getBlockMetadata(pos.x, pos.y, pos.z), 0);
world.setBlock(pos.x, pos.y, pos.z, Ic2Items.constructionFoam.itemID, 0, 3);
} else if (targetBlockId == Ic2Items.ironScaffold.itemID) {
world.setBlock(pos.x, pos.y, pos.z, Ic2Items.constructionreinforcedFoam.itemID, 0, 3);
} else if (targetBlockId == Ic2Items.copperCableBlock.itemID) {
TileEntity te = world.getBlockTileEntity(pos.x, pos.y, pos.z);
if ((te instanceof TileEntityCable)) {
((TileEntityCable) te).changeFoam((byte) 1);
}
} else {
world.setBlock(pos.x, pos.y, pos.z, Ic2Items.constructionFoam.itemID, 0, 3);
}
}
Ну факт остается фактом.Не может, блок просто исключается из обработки через эвент.Код://call event IC2PlayerSprayFoamEvent ic2playersprayfoamevent = new IC2PlayerSprayFoamEvent(player, blockstospray); org.bukkit.Bukkit.getPluginManager().callEvent(ic2playersprayfoamevent); //do not foam blocks if event is cancelled if (ic2playersprayfoamevent.isCancelled()) {return 0;} //set blocks to foam place.clear(); for (org.bukkit.block.Block blocktofoam : ic2playersprayfoamevent.getBlocksToFoam()) { ChunkPosition cp = new ChunkPosition(blocktofoam.getX(), blocktofoam.getY(), blocktofoam.getZ()); place.add(cp); } for (ChunkPosition pos : place) { int targetBlockId = world.getBlockId(pos.x, pos.y, pos.z); if (targetBlockId == Ic2Items.scaffold.itemID) { Block.blocksList[Ic2Items.scaffold.itemID].dropBlockAsItem(world, pos.x, pos.y, pos.z, world.getBlockMetadata(pos.x, pos.y, pos.z), 0); world.setBlock(pos.x, pos.y, pos.z, Ic2Items.constructionFoam.itemID, 0, 3); } else if (targetBlockId == Ic2Items.ironScaffold.itemID) { world.setBlock(pos.x, pos.y, pos.z, Ic2Items.constructionreinforcedFoam.itemID, 0, 3); } else if (targetBlockId == Ic2Items.copperCableBlock.itemID) { TileEntity te = world.getBlockTileEntity(pos.x, pos.y, pos.z); if ((te instanceof TileEntityCable)) { ((TileEntityCable) te).changeFoam((byte) 1); } } else { world.setBlock(pos.x, pos.y, pos.z, Ic2Items.constructionFoam.itemID, 0, 3); } }
У тебя наверно WGExtender интеракт блокирует, а я для тестов не ставил его. У меня чисто wg и we.Дык в том то и дело что у меня такого не происходит.
У меня тоже чистый WG и WE, ну плюс ModEventListener и ProtocolLibУ тебя наверно WGExtender интеракт блокирует, а я для тестов не ставил его. У меня чисто wg и we.