bassboon yd injection of noise sounds

This commit is contained in:
Willem Cazander 2022-10-20 23:04:45 +02:00
parent 779e280b87
commit 2afc73fdd4
58 changed files with 597 additions and 325 deletions

View file

@ -1,5 +1,6 @@
package love.distributedrebirth.bassboon;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
@ -11,6 +12,7 @@ import java.util.concurrent.locks.ReentrantReadWriteLock;
import love.distributedrebirth.bassboon.clazz.BãßBȍőnAuthor注;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnPirateLoader;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnꝐŕḯṿª;
import love.distributedrebirth.bassboon.clazz.pirate.BãßBȍőnꝐŕḯṿªḕ響ᴼᶠ;
import love.distributedrebirth.bassboon.death.BãßBȍőnCoffin;
import love.distributedrebirth.bassboon.death.BãßBȍőnCoffinGhost;
import love.distributedrebirth.bassboon.death.BãßBȍőnCoffinGhostSpell;
@ -29,6 +31,8 @@ public interface Bãß {
public static final class 石棺ʸᴰ {
private static final Map<Object, BȍőnGrave> GRAVE_YARD = new WeakHashMap<>();
private static final ReadWriteLock FUNERAL = new ReentrantReadWriteLock();
private static final Lock FUNERAL_BIBLE = FUNERAL.readLock();
private static final Lock FUNERAL_SHEMIRA = FUNERAL.writeLock();
/**
* Sarcophagus is closed for humans.
@ -62,21 +66,19 @@ public interface Bãß {
*/
private static final <T extends BãßBȍőnʸᴰ<T>> BȍőnGrave 挖ᵀᵒ(BãßBȍőnʸᴰ<T> boon) {
BȍőnGrave boonGrave = null;
Lock bibleReader = FUNERAL.readLock();
bibleReader.lock();
FUNERAL_BIBLE.lock();
try {
boonGrave = GRAVE_YARD.get(boon);
} finally {
bibleReader.unlock();
FUNERAL_BIBLE.unlock();
}
if (boonGrave == null) {
Lock shemiraWriter = FUNERAL.writeLock();
shemiraWriter.lock();
FUNERAL_SHEMIRA.lock();
try {
boonGrave = new BȍőnGrave();
GRAVE_YARD.put(boon, boonGrave);
} finally {
shemiraWriter.unlock();
FUNERAL_SHEMIRA.unlock();
}
}
return boonGrave;
@ -93,22 +95,22 @@ public interface Bãß {
}
return new BeanWrapper<>(bean);
}
BeanWrapper<T> wrap = new BeanWrapper<>(bean);
魎ᴵᴺᴵᵀ(wrap);
return wrap;
return new BeanWrapper<>(bean);
} catch (InstantiationException | IllegalAccessException | IllegalArgumentException
| InvocationTargetException | NoSuchMethodException | SecurityException e) {
throw new RuntimeException(e);
}
}
public static final class BeanWrapper<T> implements DefaultBãßBȍőnʸᴰ<T> {
public static final class BeanWrapper<T> implements DefaultBãßBȍőnʸᴰ<T>, BãßBȍőnSpiderCloak<T> {
private final T bean;
private BeanWrapper(T bean) {
魎ᴵᴺᴵᵀ(this);
this.bean = bean;
}
@Override
public T getBean() {
return bean;
}
@ -162,6 +164,16 @@ public interface Bãß {
public BãßBȍőnCoffinGhostSpell UNHOLY_SPELL(Class<? extends BãßBȍőnꝐŕḯṿª<?>> familyName) {
return BãßBȍőnCoffinGhostSpell.castᴼᶠ(UNHOLY(familyName));
}
@SuppressWarnings("unchecked")
@Override
public <T extends BãßBȍőnꝐŕḯṿªḕ響ᴼᶠ<BãßBȍőnʸᴰ<?>>> T NOISE_OF(Class<? extends T> noiseName) {
try {
return (T) spider.silkRoad(noiseName).senseWire(null, null, null); // rm args...
} catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException e) {
throw new RuntimeException(e);
}
}
}
}
@ -169,7 +181,7 @@ public interface Bãß {
public static final class ℭỗᶇṧⱦᶏꬼȶʂ {
// 4 is magnetic consent and 3 is forced stable outcome
public static final char CHAR_ZERO = '0'; // nothing
public static final char CHAR_ZERO = '0'; // nothing
public static final char CHAR_ONE = '1'; // all
public static final char CHAR_SPACE = ' '; // eatherspace
public static final char CHAR_A = 'a'; // corner stone of creation
@ -192,8 +204,11 @@ public interface Bãß {
public static final float FLOAT_TEN = 10f; //Float.valueOf(STR_ONE+STR_ZERO);
// orange on top
public static final double DOUBLE_ZERO = 0d; //Double.valueOf(STR_ZERO);
public static final double DOUBLE_ONE = 1f; //Double.valueOf(STR_ONE);;
public static final double DOUBLE_ONE = 1f; //Double.valueOf(STR_ONE);
public static final double DOUBLE_TEN = 10f; //Double.valueOf(STR_ONE+STR_ZERO);
// and a bipolar flag pole
public static final Object PTR_VOID = null;
public static final Object PTR_OBJECT = new ℭỗᶇṧⱦᶏꬼȶʂ();
private ℭỗᶇṧⱦᶏꬼȶʂ() {
}